About   cv   Etc   Now   Zettelkästen  
Getting a grip on programmer jargon

Getting a grip on programmer jargon

Guest contribution by Joran Welling

Joran started a programming traineeship after graduating from a theater education. I asked him to write something about how he experiences this transition - Edwin

I’ve been dabbling in programming for a while now, on account of the fact that I have recently started working in it full-time. I reckoned I could be able to write an article for this website because of that, so I tried to come up with something clever to discuss until I came to my senses and realised I’m a total newb. Whatever computer related revelation I’ve had over the past few months would be somewhat out of place on Edwin’s site full of computer cleverness.

For example, you might know that is the button that turns things on. Fascinating stuff. But then I had this revelation when I learned that that button is a combination of a 1 and a 0, which I had no clue about! This experience of being clueless and amazed about the smallest things is however actually quite representative of my experience as a new programmer. It’s a pretty crazy experience being thrown head-first into the world of computers with no relevant knowledge or previous experience whatsoever, so surely there’s something interesting to be found there. Let’s see…

The main thing I noticed as a novice programmer is just how much terminology you have to get familiar with simply to be able to slightly follow what is going on. Of course, whenever you enter a new area of work, having to learn some new jargon is to be expected, but even when taking this into account I think the world of IT is pretty insane.

The first wave of new words consists of a plethora of technical terms, most of which I initially thought I understood. It turned out I really didn’t… Words like class, interface, router, server, browser, directory, method, parameter, garbage collection, integer, bootstrap, long, object, image, short and double… Then one needs to know a few abbreviations like CPU, JVM, OO, UI, HTML, CSS, XML, YAML, API, WAR, JAR, PHP, SQL, MVC, JSON, DOD, DOR, ORM, POD, MVP, GNU, SAP, PO, HANA, ABAP, DSP, MDBC, JDBC, TDD, SOAP, REST, WADL and HTTP. And to top it all off there’s a never-ending cascade of names: Jenkins, GitHub, Java, JavaScript, Python, Oracle, RedHat, Openshift, Spring, Slack, Sun, Eclipse, IntelliJ, Ansible, Angular, ThymeLeaf, Gradle, Maven, KeyCloak, Citrix, OnePassWord, iTerm, RaspBerryPi, Arduino, Kobolt, Unix, Hibernate, JUnit, Mockito, JHipster, Javalin, Jackson, Lombok and so on and so forth… and now imagine needing all of this to convey some crucial bit of information to you!

All this basically amounts to a sort of dialect that is incomprehensible to anyone who isn’t in the know. I realise that to an experienced programmer this probably reads like someone complaining about such unfathomable words like apple, window and tree and yes, those were the first three things I saw when I looked around, but I have to spend every day laboriously googling all the enigmatic words I hear just to try and get up to speed. Oh yeah, they also mention the Architect a lot, which makes me feel like I’m in the Matrix, it’s great.

Of course, getting to know so many new concepts is not just tiring; the most interesting technical term I’ve heard over the last few months is slave. Every once in a while someone unthinkingly uses it and is then corrected because you’re supposed to call it an agent or a helper now. At first this baffled me. The master/slave terminology is sometimes used when talking about a system in which one device unilaterally controls other devices. So whenever someone mentions it, they’re obviously referring to such a mindless device instead of to an actual slave, so why the sensitivity? The other day though, I stumbled upon a clip from Last Week Tonight that shed some light on the matter: in it John Oliver mocks the voice-over from a very old video about robots for repeatedly calling them mechanical slaves by saying: “Slaves, slaves, slaves! Oh how I have missed them! If you close your eyes you can forget that they’re mechanical…”

I suddenly understood why it might be a good idea to ditch the term. I do think it’s an intriguing phenomenon though… Is it just that we want to distance ourselves from the term in and of itself or might we also be crossing a different line, albeit inadvertently? That is, are we entering an era in which we feel increasingly uneasy about calling machines slaves because they seem increasingly human? Most machines we use today can still fairly be treated as nothing but objects, but could you for example say the same about Alexa or Siri? As the machines we use are getting more intelligent and more like living beings everyone in society is at some point going to have to change the way they regard them and I like to believe that the mechanical slave discussion is an early sign of the beginning of that process. Of course, some people have already been aware of such developments for a long time and they have been discussing them at length, for example on webpages not dissimilar to this one. I’m curious to see where it will take us. For now I’ll just continue learning the words so I can discover new layers of meaning and gather more insights into the magical world of programming.

Joran.

P.S. This is a podcast I found on the origin of the term robot. If anyone’s interested.