It’s been 11 days since I switched my development environment over to Linux. I’m still running into new problems and figuring out new solutions on a daily basis. My latest problem concerned running a simple bash shell script.
As for news on software development, I’m still looking over PostgreSQL and will probably post another article on it in a few days. I’m about to start heavy development on that end. I’m also looking into Python. There are two major frameworks I’ve been researching and developing with –Twisted Framework and Django. I’ve had some time to read through a lot of documentation concerning both and so far things look promising. I encourage anyone out there to check them out.
As a Microsoft developer, how does developing on an open source platform compare to the Microsoft platform? Before I get into that, I need to explain the differences between the two development philosophies behind these platforms. First of all, the philosophies on developing on the two platforms are very different. Microsoft makes superior tools to anything I’ve seen on a free platform, but I think that stems from their development philosophy – use great tools to expedite and ship code faster. I think the need for these tools has stemmed from the design of their application-tier (.NET) languages because they are extremely verbose in nature. This has resulted in the development and need for effective code generators, snippets, macros, and auto completion tools found in the Visual Studio IDE.
Because I haven’t been developing on an open source platform for long, I can’t comment in depth or with too much knowledge yet. From what I have seen so far with the design of different programs, things are taken from a minimalist approach.
The open source application PostgreSQL is built to serialize and query data. Their are no extra bells and whistles – such as Reporting Services, Notification Services, Data Warehousing, Message Queues, etc. that are found in SQL Server 2005. This doesn’t mean PostgreSQL is inferior. Instead, the application fulfills its primary design goals extremely well. Because of its minimalist approach, it can be quickly deployed and configured quickly. It took me less than one week to get myself up to speed on administration, developing, and deploying on that platform.
Same thing with Python, although their seems to be just as many extensions and frameworks out there as the .NET platform. The beauty of Python is that it takes less keystrokes to accomplish the same tasks in C# or VB.NET. This saves not only time but diminishes the need for all those elaborate code generation tools found in Visual Studio 2005. Although, sometimes I find myself wishing for Intellisense. Either way, both philosophies can build software quickly. It’s just one alternative is a lot cheaper than the other.