It’s safe to say that my son won’t be fleeing the nest for the foreseeable future. I can’t see him getting a job and earning a salary just yet. I mean he is only 7! But as we progress through childhood (myself included), I concern myself with the apparent vagueness of the word “coding”. The discipline is so vast and encapsulates so many different facets of the computing world that parents can become discouraged and confused as to its true meaning. Coding is everywhere but not all code is the same. Different codes are used for different things; for presentation, for structural layout, operations, storing, embellishing, controlling.
Over the next decade it is estimated that 1 million jobs will go unfilled in the computer sciences as there will not be enough qualified graduates. In a 2014 survey in my home country of Ireland for example, it was reported that 77% of honours bachelor graduates were in employment within nine months of finishing their degrees. Furthermore, jobs not directly linked to computer science – such as banking and medicine – will also be affected by the need to have at least a basic understanding of programming.
A software engineer could easily find themselves using a language called Swift at Apple, as they could developing a medical application in Java at a hospital or designing testing software for an automotive manufacturer in C++. A coding language with broad applicability is a language that is good to know. So let’s take a look at what is currently most in demand and what it is used for.
Pronounced “sequel” and short for “Structured Query Language”, SQL is a programming language designed for managing data and communicating with databases. Sound boring? It really isn’t but let’s be honest; our kids aren’t going to thank us if we get them a “how-to” guide for their birthday. Still, it’s good to be aware of it and we can safely say that it will be popular for a long time to come. If your youngster is a fan however, there are lots of free tutorials on the subject.
A Really REALLY popular general purpose programming language that is used in literally hundreds of various and contrasting environments from Android devices to smart watches, calculators and TVs. Java is what’s known as an ‘object-oriented language’, meaning that it’s based on a series of related but stand alone objects that, when teamed together with others, create great things. The best Java resource I’ve seen to date is CodaKid’s Minecraft Modding course. Stay tuned for a full review of the course here on codingBox in the next few weeks.
Linux is what’s known as a kernel – not an actual programming language or operating system but rather a foundation for an operating system, with features that look similar to a programming language. It’s freely distributable and can be installed on computers, tablets, phones, games consoles and more. There are literally hundreds of tutorials and help forums on the topic, and in 2016 it celebrated its 25th anniversary. Linux won’t be disappearing any time soon.
XML is used as a software- and hardware-independent tool for storing and transporting data.It plays a very important role in many IT systems and is therefore quite a useful thing for a coder to understand. XML is a markup language and really it doesn’t DO anything. Rather it is just information wrapped in tags, like HTML – the markup language websites are written in. In a world where “big data” is becoming increasingly important, knowledge of XML is definitely a language a young coder can benefit from.
This is a general purpose programming language that is very popular in engineering. It was developed in 1979 and still has huge popularity in the Windows and Mac environments. Most packaged software is written in C++. Think of the software you use that isn’t online. Chances are that it was written in C++. Some examples of its uses include device drivers, games, audio and image processing engines and telecoms.
In conclusion, let me just ask you to bear something in mind. Programming languages are just tools. They all do the same basic things. Instead of your child focusing on a specific language, guide them towards learning the foundations of good software development. This will make all the difference. Languages are just tools in the toolbox. If your child learns the concepts and can write clean programmes in one language, they can do it in another.