Tuesday, March 22, 2011

Born Between 2 Programming Languages

I live in two worlds, and those two worlds pull me apart.  One place where this shows is in the question of programming.

See, at home I am happily using Linux, as well as the whole family, and it is running very smoothly. We have the applications we need, controls we want and flexiblity to meet our needs.  Though we do have Windows 7 installed on the system for dual boot, nobody uses it by choice.  It is slower than Linux on the same hardware and I am not inclinced to spend hundreds of dollars for MS Office so I make do with open source and freeware alternatives including the Microsoft Live applications which are actually pretty good.

On the other hand, I do my work in ASP.NET using Visual Studio and SQL Server.  Thankfully the company feels strongly about education and as such I have been sent to a number of .NET based classes, primarily VB.NET.  Unfortunately I am pretty busy with it so my time to "explore" and further my experience is limited.  I get excited when I get a project that allows me to focus on the .NET programming, while being flexible enough that I can explore options.

So the quandry I get into is which way to focus my personal programming, or programming for my own fun and enjoyment?  Since I program in ASP.NET primarily, my focus is on Web programming more than locally installed applications.  Could it at some point? Probably, but not just yet.

Mono LogoSo t he question is do I stick with .NET (and possibly Mono) due to my familiarity already, and try to extend my knowledge so it may be able to help me at work as well?  I know Monodevelop isn't the same as Visual Studio, but I could probably learn C# enough to help me with the ASP.NET at work.  Either that or I start using Windows and Visual Studio or Web Matrix to this end, leaving Linux for all my other purposes.

The idea that what I explore with it can help with work is very tempting, though the better and easier solution would be to utilize Windows and Visual Studio so that it is even more similar to my work environment, Visual Studio is much easier than Mono develop, .NET skills are more marketable than Mono, and is more compatible.

PHP logoOr do I try and focus on a Linux-friendly programming language such as PHP and MySQL instead, trudging towards something completely different than a Microsoft-based solution knowing that I will have to take time to fill up the experience I already have with .NET but in the new language?  Also, knowing that only a very small fraction of what I learn with home's solution can be migrated over to work.

The other situation I run across is what IDE to use for development. While Visual Studio is my favorite IDE, the closest equivalent I have found so far is NetBeans which is alright.  

Two worlds, two directions.  To try and live in both would mean neither solution woudl advance very far.

Monodevelop Logo vs Visual Studio Logo vs Netbeans Logo