Of Pythons and Penguins

I’ve decided that this is the year I’m going to finally commit to getting my programming skills up-to-date, and much better than they are at the moment. I’ve always wanted to do it as a career, and it’s never going to happen unless I do something about it. I’m probably older than I should be to go venturing this way, but it’s one of those jobs where experience is a bonus.

The problem when it comes to sitting down and saying “right, I’m going to learn to program!”, is deciding on the platform and language you’re going to concentrate on. Programming isn’t about learning a language, it’s about learning concepts and structures, the language is just a means to an end. That’s all very well when you can actually do it, but getting to that place takes time, and you have to familiarise yourself with how it all happens. With this in mind, I’ve settled on two main platforms, and a variety of languages and frameworks to fill the gaps.

First off, it’s a case of better the devil you know than the devil you don’t, and I’m learning to develop for Microsoft specifically for the first time. This means I’m diving headlong into ASP.NET (web development) with C# – lots of peoples new darling. It’s a real break from most of the stuff I’ve been doing before, and the massive manual I’m working my way through is pretty heavy going in places. I’ll persevere though.

Other than the MS-centric stuff, I’m also throwing myself into Python, JavaScript and PHP. Python is by far the most interesting and friendly language I’ve used in a long time. It’s weird having loops and functions defined by whitespace, but it makes for really simple, reader-friendly code. I’m going to be having a good look at the Django web framework which sits on top of Python too, that looks really interesting.

Part of the problem I’ve had with really getting stuck in to anything before is that I’ve wanted to have other operating systems to work with, and as the other computers in the house are shared, I’ve not really been able to mess with them. After Christmas I treated myself to a nice cheap Lenovo laptop in the sale which means I have a computer I can mess up all I like without losing anything important, or incurring the wrath of my wife. Since having it and making Windows 8 useable (read: installing classic shell so it boots to the desktop, rather than the horrible mess of a touchscreen interface shoehorned into a mouse + keyboard product), I’ve re-partitioned the HDD and installed linux again. Hooray!

This time around I’ve gone for the popular Mint distribution (based on Ubuntu (based on Debian…)), and after some initial snags with UEFI (bios was so much easier) and wifi drivers with a mind of their own, I’m now running a rock-solid, fast, clean OS. I’m still settling on what software I’m going to be using to write my fledgling code with, but so far I’ve stuck with Geany and Ninja-IDE.

It’s exciting, confusing and mentally tough at times, but programming is very rewarding. If anyone out there fancies a taste of it, head over to the AWESOME Codeacademy and sign-up. I’d suggest having a go at the Python and JavaScript tracks to dip your toes in.

Leave a Reply