30 Days of Geek – Preferred Programming Language

So, obviously a big part of being a geek, as I said yesterday is asking the why and the how, and then eventually morphing into controlling the why and the how. So, there’s a gravity towards computers and programming them.

If I had to pick a preferred programming language at gunpoint, and could only say one, I’d say Clojure. Why? Well, because it’s LISP and it’s in the JVM. It’s like a peanut butter and jam sandwhich, you know, two pretty good tasting things that go great together. The main selling point on Clojure is pretty much a cool factor. You can do so much with the tools it offers.

And that’s what a language is, a set of tools. It’s a way of writing down in a structured way how you want something to work. So, it’s kind of silly to limit yourself to just one language.

Another set of tools I quite enjoy is Ruby. Because there’s just such an ecosystem built up around it, with frameworks like Sinatra and Rails allowing you to quickly sketch up web-based ideas; and hey, it can even be pushed past development into production if you so wish; and Ruby provides good tools in terms of gems and bundler and RVM; together, they handle dependencies and versions quite well.

So, an interesting one that’s come up recently is Mirrah – it’s sort of like Ruby, but it’s natural Java bytecode; there’s a lot of selling point in being inside the JVM in my mind; it allows you to leverage all sorts of neat computational tricks between your code and your VM and between your VM and the metal you’re running it on.

Which brings us to the grand daddy of them all – LLVM. It’s not really a programming language; it’s not really a compiler, either. It’s a, well, it’s a low level virtual machine, just what it says on the tin. I don’t actually know how to express why it’s so exciting, except to jump up and down and squeal like a teenage girl for no apparent reason whatsoever.

I’ve come across the idea recently that all programmers code with an “accent”, regardless of what they are coding in. If I have an accent, I’d say it has to be object-orientated. I love breaking code down into interacting objects and throwing all sorts of relations between them. It’s just, I don’t know, fun, to see code come together from dis-assembled and dis-connected parts.

I feel this is quite a light post, but the thing is, I’ve got quite a light attachment to my languages; I tend to pick up and drop tongues as I wander across the computational sphere.

Advertisement

Comments Off

Filed under Daily

Comments are closed.