.NET for the Poor (or Linux-using) masses
September 14th, 2006 by rickSo, you want to learn how to program in the .NET languages of VB.NET and C#? Or maybe you already know how to program in those languages but you don’t have the scrill to go out and buy the newest version of Visual Studio.NET because you’re in college, or you are for some other reason financially strained (I know this situation all too well). Well, fear not friendly-friend; Just over the last little bit today, I’ve evaluated a couple pieces of software that should make life more enjoyable (affordable) and have one on the burner that I will evaluate which could bring this whole thing together.
First off, despite the title and the first paragraph, as far as I can tell you WILL need to have a Windows Operating system on a machine, and be running Microsoft’s .NET Framework Version 2.0 or greater (I think that’s the greatest atm).
Now that we’re past that, let’s look at a couple tools that may be old news to many, but perhaps you aren’t aware of them.
- VMWare - First off we have a free to use (for personal use) piece of software that will allow those of you who run Linux primarily but DO have access to LEGAL copies of some sort of Windows OS to install it in a virtual machine, patch up to the newest .NET Framework, and then do your development inside that VM. VMWare seems pretty awesome; for me, it has enabled me, as a developer in a majority MSFT-OS .NET shop to install Kubuntu and be able to run it when I prefer to work from Linux (basically, whenever I don’t ABSOLUTELY need the SQL-server enterprise manager/query analyzer, outlook for meetings, etc). OnceI had Liunx installed, I got to thinking about whether or not .NET development and execution was possible in Linux.
- #Develop (aka SharpDevelop) - Wow. This was the find that caused me to make this post originally. How would you like to start learning/programming in VB.NET or C#.NET, without having to buy an expensive IDE, and yet not have to give up the nice features like breakpoint/code-walkthrough, code-completion, syntax formatting, SQL-server integration, etc? That’s what this environment gives you, and it combines that with the fact that it’s not just free, it’s OSS. You could improve it if you so-desired. This product looks pretty fan-spiffy-tastic thus far. I only did a very brief runthrough, so I cannot fully endorse it, but it works for VS.NET2005 code (I only have VS.NET 2003 at work) so I basically created a new project, designed a username/password login box that echos the typed-in values, and it compiled and ran no problem. Granted, that’s not huge, but in doing so, I got to experience the IDE which is just very similar (for a free product) to the actual VS.NET environment. I’m very impressed and plan to look further at this. The only downside is that it requires .NET Framework 2.0 to be installed, and as such, it’s a Windows App… so you may try running it emulated if you’re a Linux geek, or run in a VMWare VM as mentioned above.
- Mono - So, this completes the trifecta. You could use the MonoDevelop project which is an IDE for .NET development inside Linux but I REALLY feel you miss out on a lot of the convenience that SharpDevelop gives you. If you’re a true Linux geek who refuses to let MSFT onto your box at all, then this would probably be your best option. But, the main reason for mentioning this project is not the IDE; for my interests, the big part is the fact that this is, in fact, an attempt to create the .NET framework inside Linux (or Mac OS X, Solaris, or even to run as a VM inside VMWare). This means that the application you just created in the free #Develop project can now be copied to your Linux box and (hopefully) executed. I have not attempted this as of yet. I plan on moving the project I just created in #Develop over into my Kubuntu VM and seeing if it will execute, but all signs point to the fact that it should, once I install Mono on the VM.
If you’re not technically, this post means nothing to you. If you’re not a developer specifically, this post probably means little to you. If you’re a geeky developer but don’t give a crap about Linux, this post probably is of moderate interest. If you are a super-geeky Linux guy who is interested in .NET coding despite yourself but refuse to have any part in funding Microsoft (note, I am NOT one of these people) then this post is probably useless because you’ve already discovered all this stuff. But any of you in-betweeners or people who just haven’t been sparked to look into this particular topic, I hope you’ve gleaned something useful from the post. If nothing else, take a look at #Develop on your Windows box (which you never tell anyone you have). It may not be perfect (again, I’ve not done much, and nothing complex, in it yet) but it sure seems nice… and free (in the OSS meaning of the word).
Posted in Technology |

October 21st, 2006 at 8:21 pm
Sweet post! I’ve been meaning to look into .net development from a linux environment, but have just been too busy as of late. And as a result, have spent most of my time booted into XP.
November 5th, 2006 at 2:55 pm
Or you can just use the free versions of the Visual Studio development environments found here: http://msdn.microsoft.com/vstudio/express/
It’s what we broke college kids are doing.
November 10th, 2006 at 4:02 pm
Yeah, Deezil, that works fantastically in Linux.
But I understand what you mean… for teh po-people, ye.