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

4 comments:

Unknown said...

Sorry about last post... here is what I wanted to write:

I can understand your thoughts; I'm in the same boat... I do C# ASP.NET development for a paycheck but I'm tired of windows and have recently made the move to get up and running in Linux.

While I think Mono is great software I've been slowly disheartened at the fact that my area is overly saturated with senior level .Net developers. It makes getting a job difficult for a mid level developer like me with out taking a 40% pay cut by taking an entry level position. It really make me rethink about going back to learn more Java, LAMP, Ruby or even C++.

The only problem is which one to choose and how fast can I get up to speed on it when I don't have any "Home Projects" to work on (or time to work on) to actually learn hands on and being familiar with deploying them in a working test environment?

Drew said...

Using Dropbox, I did for a while try re-devloping a web app from PHP to C#. I was able to use Monodevelop when on my Linux machine, and Visual Studio when I was in Windows.

From my time there, I got to accept Monodevelop and it had some good parts about it. It did take some getting used to, but otherwise I could muddle my way through things and only jumped to Visual Studio when I needed to figure things out and wasn't getting anywhere via Monodevelop.

I found this out while re-working a PHP web app I used for our church Auction. Unfortunately I came to find it a lot easier to internet connection share with Linux than with Window!

So I ended jumping back into PHP & Netbeans on Linux.

When things settle down, I'm hoping to give the VS/Mono another stab.

Unknown said...

I have a laptop (from school) that was a mirror of my windows desk top so I could keep doing my .Net (for work) and Java (for school) development when not at home/work. I’m living this as is and now is used for my ZuneHD syncing and Quicken.

I thought about using Drop box that way but in the end it doesn’t work for me as work blocks all file sharing and storage sites. Except Google docs for whatever reason. I work for a Bank so their security is tight except the Google docs thing....

I've been testing different Linux distros over the last two weeks to see which one I like before I start tinkering with Mono. So far Xubuntu was the one I got up and running the easiest and smoothest. Suse 11.4 won't recognize my 3TB USB and network storage so after 4 days of trying I gave up on that one as I need access to that as all my data are stored on those. Suse was recommended to use since I wanted to do Mono development over Redhat/Fedora and Ubuntu. Next I want to try out Fedora but debating on waiting for 15 to fully mature of release (I have live 15 beta CD now) but the Gnome 3 (& Unity on Ubuntu 11.4) is not my cup of tea yet. Too different for my tastes currently.

Drew said...

My apologies to the other person who commented. Seems blogger was brought down and when it came up, it was gone.

Contact me if you see this, we were having a good conversation about picking between Mono & VS vs PHP which is now gone.