Recently I've decided to pick up a new programming language. My reasons are mostly not wanting to be hacking away at legacy code for another 5 years. I've already started to realize that in my young programming career I'm already getting behind the curve in the programming world.
In any case I decided to work with a few colleagues on a side project, not that we have a project per se, just a few general ideas and a desire to make things. Part of our goal with this project is to learn various aspects of newer technologies, Pearl, Python, GIT, Tornado, etc.
At first I was under the impression that learning these various language/technologies would not require me to change my default OS Windows (currently split between windows 7 on my desktop and windows XP on my laptop). However, even being comfortable with the command line on windows I was finding that as I read various sites discussing approach and technique for these newer tools I was feeling like a second class citizen.
When I've been searching around the inter-webs looking for various pieces of information on technologies associated with Windows I would come across mentions of "If you're looking for Linux support please see..." and there would be a paragraph or two, perhaps a page, but not really a lot of in-depth information. Meanwhile I was weeding through pages and pages of information on the WIN32 side of things.
Now as I begin learning about these amazing new tools, I'm faced with being the class of user who really isn't the primary audience. The amount of information out there for users working on a windows OS and working with Linux tools is small, very small.
At first I was thinking "what is with this community, why are they snubbing such a large group of users who could expand there market share so much?" Then I decided "No, I want to learn this stuff so I'm just going to stick with it." What I realized was Windows is NOT primarily a programming OS but Linux feels like it was "made for programmers by programmers".
Yes, you can program on a windows box and yes there are even some awesome tools (even free ones) from MS, for example Visual Web Developer 2010 (http://www.microsoft.com/express/downloads/) which provides a very nice feature of intellisense/autocomplete for JavaScript, including functions you write yourself but, it's still an OS for the masses. As I begin my dive into the Linux world I'm seeing that even with the most "user friendly" flavor (Ubuntu, which is what I'm currently experimenting/learning with) it is really "nice" for programming on.
Right from the beginning I can see how many of the tools I need are at my fingertips ready to go out of the box. Python - installed and ready to go. SSH- installed and ready to go. VIM - installed and ready to go. Even the terminal seems to lend itself to hacking. I'm not usually one to be a fan-boy right out of the gate, but I think I might be turning into one.
It's refreshing to be expanding my horizons and finding a new reason to get excited about my computer.
Top comments (1)
Hey man, best wishes on making the move from Windows. I am also very slowly transitioning to the Ubuntu/Debian world ( more specifically, KDE Neon )
The one thing that has saved my butt is virtualbox and how well it runs Windows 7. The virtualbox extension pack ( make sure you download the right version of it ) is essential for enabling things like USB bridging from the host computer to the VM. The only thing virtualbox will never do properly is 3d graphics acceleration, but we have pretty amazing gaming support from Steam these days on the Linux platform.
Once you get the hang of dealing with Ubuntu or one of it's many clones, you'll feel like a kid in the candy store again because of all the freedom it provides. It will remind you of Windows 98 or Windows 2000 - freedom to do anything, up to and including breaking your operating system :)
You touched on one big thing. Linux on desktop makes up of ~1% of the internet's users, so support for 'that linux port' goes to the back of the bus.. and almost everything we use on linux was created for free by hobbyists. The best way i've found to support the linux ecosystem is to send 'thank you' emails to the developers of software i use, and also concise bug reports. Sometimes i also donate.
If you want to see linux go places, i suggest you do the same.