Which is to say: I am a software engineer. I studied computer science at university, I write software for a living, and I even sometimes code for fun in my free time. Here, I talk about it.

You're Speaking my Language, Baby. Part 5: Conclusion

So... what's the conclusion? It mostly comes back to the fact that I'm doing this mainly for fun (though you may have trouble believing it). That being the case I'm going to start working in Java. In fact I already have started working in Java, and I've already written the first bits of code. I'll talk about and make them available soon. I just can't ignore the sheer applicability of C++, though, much as I may dislike it as a language. Most game developers are going to have the majority of their legacy code written in C++ and that creates…

Nick JohnsonNick Johnson

Youre Speaking My Language Baby Part 4: Objective C

The last language I'm considering is Objective-C. I know this language the least of three (which is to say: I don't know it at all). To make matters worse, while Java and C++ share a similar syntax, Objective-C is completely different in places. That being said, it's semantically very similar to Java (more so than C++) and people who know it well speak very highly of it. i.e. it does not appear to be anywhere near as broken as C++. The language itself has some dynamic capability built in, but also has all of the additional dynamic options available…

Nick JohnsonNick Johnson

You're Speaking my Language, Baby. Part 3: C++

The second language I'm considering is C++. This is the language that I use the most at my day job. It's also the language that's used to build the vast majority of computer games and one hell of a lot of commercial software. I'm not as familiar with it as I am with Java, but I know it well enough to be productive with it. I'm also familiar enough with it to know how horribly broken it is in many respects. One of the major design goals of Java (among other more modern programming languages) was to fix the problems…

Nick JohnsonNick Johnson

You're Speaking my Language, Baby. Part 2: Java

The first language I'm considering is Java. This is by far the language I'm most comfortable and proficient with. It was used for about 90% of my Bachelors degree, I wrote the entire codebase of my PhD using it, and it gets used here and there in my day job. I'm comfortable with Java, and find it to be quite a pleasant language to program in. Big tick on the question regarding my ability to use it, then. Java has some modest dynamic capabilities built in, but it also has a lot of small options for using higher level languages…

Nick JohnsonNick Johnson

You're Speaking my Language, Baby. Part 1: Introduction

If you're about to start on a programming project of some sort (and I am), then the first choice you have to make is the main programming language you're going to use. Now, if you're carrying out this project on your employers time they probably have very specific views about that. I'm not doing this project on company time, though, so the world is my oyster, figuratively speaking. There are, at a rough guess, shit loads of programming languages out there. There's a reasonably good list to be found here, though it is missing a couple of the weird ones.…

Nick JohnsonNick Johnson

What in the Name of all that's Holy is a Clockwork Aphid?

Clockwork Aphid is the name I'm giving to a side project I've had sitting at the back of head for a little while. I'm actually going to try and build it now. What it actually is is quite big and hard to explain, so I'm going to do it gradually, over time. This way I also get to maintain a little bit of mystery. Here's what I will say up front, though: It's a programming project; It's connected to computer games; It's also connected to... another form of digital entertainment which is (arguably) related to computer games; In the beginning…

Nick JohnsonNick Johnson