The language of software

It’s early, dawn is approaching. I’m sitting on the first flight out of Sydney to Melbourne. As we embarked on the long taxi to take off, I finally found some time to think about writing. To be fair, it has been a rather active twelve days since my last post. I took last week off to move. As most of you will appreciate the transition to a new home is a completely exhausting exercise, however, and definitely in our case, extremely rewarding. Over the last week we have simultaneously settled both properties (on my wife’s birthday), received new whitegoods (we had to take the front doors off to fit the fridge), plastered, painted the whole house (admittedly not by us, but a fantastic gang of Greek painters), moved, unpacked, cleaned our old home whilst the new owners where moving in. Finally, early on Sunday evening, we collectively unpacked and folded away the last boxes. Job done.

So here I am, ‘enjoying’ my early morning plane snack, whilst deliberating on how to lead this post. Should I leverage off the process of moving, the successful teamwork of a relationship, the creative processes of making things work in a new space? Nope. I think I will talk about the importance of language.

I grew up being told that those with the ability to easily and confidently converse in a number of languages would have an edge in life. So having lived in the Mediterranean for the first 17 years of my life, and being fortunate enough to have been exposed to a number of nationalities that made Cyprus their home, you would think I would at least be bilingual. Sadly, and disappointingly, I am not. English is my mother tongue, I am half German but by no means am I fluent, I speak Greek Cypriot (enough to get by) and in order to prepare myself for a South American adventure and visiting my father in Seville, I learnt Spanish for over a year.

A grasp of languages and an appreciation of grammar do give you an advantage in many situations in life. However, and looking to the future, the more (dare I say most) important language for our children to understand are those associated with software languages and coding.

According to Wikipedia, a software language is an artificial language used in the development of software systems. The term is more general than programming language and also includes modelling languages, query languages, transformation languages, schemas, domain-specific languages, and markup languages. Got that? Clear? Great, you’re already one step ahead of me.

At school, circa 1991, I learnt how to use BASIC (or Beginner’s All-purpose Symbolic Instruction Code). I managed to create simple library programme (find book, book out, book returned), and that was it. One of my slightly more ‘advanced’ friends created a whole airport checking in and timetabling programme. Amazing for a 13 year old. He has been at Microsoft for the last 15 years.

So how many software languages are there? This varies, but the biggest number I could find was 8512 languages. That is a lot. I am not going to go into detail about what is what, and what is the better language. However, I am going to focus on when should we start learning to programme?

In Australia, and over the last year, there has been a lot of debate around this topic i.e. what age should kids start learning to code. According to a recent ABC Lateline program there is growing evidence to suggest that Australia’s computer literacy is lagging behind other countries, and business leaders have called on the Government to introduce coding into schools. In comparison, in the UK, coding is now a compulsory subject from early primary school and Singapore is about to go the same way. In a BBC article last year, the new British curriculum for ages five to seven (years 1 to 2) requires pupils in all local authority schools to “understand what algorithms are; how they are implemented on digital devices, that programs execute by following precise and unambiguous instructions; create and debug simple programme“. Yikes.

Evgeny Morozov, contributing editor at the New Republic and a keen watcher of the social implications of technology, noted “Learning to code will make us question all the techno-manipulation around us. Just like learning to read made us question all the propaganda.” Get ready parents, our children will be looking at the world in a very different way soon.

In 2011, Netscape and Andreessen Horowitz co-founder Marc Andreessen coined the phrase “software is eating the world” in an article outlining his hypothesis that economic value was increasingly being captured by software-focused businesses disrupting a wide range of industry sectors. Four years later, it noted that around one in every 20 open job postings in the US relates to software development/engineering. In an early post of mine this year about jobs of the future, I did not even mentioning coding. I guess I simply took it as an absolute foundation for the future. It is not coming, it is here right now.

I studied French for six years at school. I can’t remember a single thing. Sure, not everyone is meant to be a software programmer. However, future generations need to be given the opportunity to really understand the importance of the language of software.

Thanks for reading,

Kai

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s