Published in Programming - 2 mins to read

For quite a while now, I’ve wanted to focus only on a single programming language, in the hopes of finally mastering one. I’ve never really learned all the core features of a language - I don’t understand async/await or closures or promises in JavaScript, I don’t know the syntax for events in C# and I’m only dimly aware of the existence of channels and goroutines in Golang. As it turns out, I’ve not ever needed to understand any of those things despite having had jobs that focus on all of these languages (which incidentally shows that a lot of tech interviewing techniques are redundant) and that’s fine, but it sort of feels weird not knowing them. I really hoped that Golang would be the language I could focus on, go deep and know inside out, never to be caught out by a compiler quirk again, or by things like maps being iterated over in a random order or bitwise operators taking precedence over some arithmetic operators, unlike in C-based languages, ie most of the good ones. Despite this goal, in the past 6 months I’ve shipped code in not only Golang, but also Typescript, C# and, uhh, Perl, but don’t judge me for that last one. I would love to be a specialist, an arcane, wizened veteran of Golang when so few of those exist, but it seems polyglotism is the order of the day, and is unavoidable in the majority of organisations or careers. So it looks like I’m going to do my best to keep my old languages sharp, as well as try to work out wtf Perl bless actually does or how any language that operates on binary processors can not have booleans.

Really though. Perl sucks.