Thursday, August 12, 2010

Frist Psot!

This is my first attempt since my university days to create a blog.

My goal is to talk about programming languages (comparing and contrasting the strengths and weaknesses I see in each — there really is no one right tool for every job, which should be a running thread), development processes (with a focus on Agile), software testing, and documentation.

Languages to be discussed include (in no particular order): Java (my current go-to language), Scala (it's like Java with everything you wish Java had), C++ (my previous go-to language, which still has some incredibly elegant features I've yet to see anywhere else — templates (and template metaprogramming) are amazing; manual memory management, not so much), PHP (the language I used to write my previous blog all those years ago), Ruby (the best language I've seen to cover the spectrum from simple scripting to full-blown applications), Delphi (a remarkably elegant language — but still requires some manual memory management, unless you're using Delphi Prism), and C# (the language I'm currently learning).

Languages I will probably bring up occasionally include: Perl (not my favourite, since I tend to write Perl as a C programmer, but still incredibly useful), Python (a pretty nice language that I've only dabbled in, since I've never been bothered to configure vim to expand spaces), and F# (the next language on my list after I finish with C# — I'm already hooked on Scala, in part due to my love of the JVM. Let's see if F# can pull me over to the CLR world.)

I also intend to talk about how to get the most out of the tools you're using in your software development organization, based on my own experience with some of them (including JIRA, Confluence, OrangeHRM, and TestLink).

Finally, on the software development side, I'll cover some best practices I've picked up from books or experience.

Occasionally, I will also talk about life as a new father and cooking.