These programming languages will help you stand out
1 — JOVIAL
Despite its light-hearted name, JOVIAL is a programming language that’s been used to do some pretty serious stuff: such as the computer for the B52 nuclear bombers and NORAD radar systems. Conceived in 1960, it was adopted by the US military for various systems as computers and weapons developed rapidly during the Cold War. As a language designed for embedded systems, it was ideal for highly-specialised applications such as the Strategic Automated Command and Control System (SACCS), which is still used to coordinate the United States’ nuclear arsenal. It’s actually quite a readable, high-level language — here’s a guide.
Learn if you want to: maintain the control system for the US nuclear arsenal, the UK air traffic control system, and various other trivial systems.
Most people haven’t heard of Oak. However, the opposite was very nearly the case. In the early 1990s, James Gosling was developing a new language to support the creation of new Sun Microsystems software, and — looking for a name — glanced out of his office window and saw an oak tree, so he called his new language, yep, Oak. Turned out that there was already a semiconductor called Oak Technologies, and so to avoid any trademark issues, they renamed the project in 1994, and it eventually became the language Java. If it weren’t for Oak Technologies (which was bought out in 2003), one of the most prominent languages would be named after a tree, rather than a coffee.
Learn if you want to: Be edgy and tell your friends that you liked Java’s ‘earlier stuff’.
3- Klerer-May System
We’re all used to expressing mathematical operators in two ways: one for us, and one for the computers (using more basic characters such as ‘*’ and ‘/’ rather than ‘x’ and ‘÷’). This is all very well, but becomes cumbersome when the maths gets more complex and we can’t use traditional forms of notation. That’s why, in the 1960s, Melvin Klerer and Jack May developed their language for the US Office for Naval Research, which used an adapted typewriter to allow users to type traditional mathematical notations in their code.
Learn if you want to: Have a specially-adapted 1960s typewriter to write your code.
4 — G-code
G-code is actually a big deal. It’s the most common computer numerical control programming language, that is, a language designed to instruct physical machine tools what to do in order to make something as part of computer-aided manufacturing (CAM). Letters followed by a number are used to identify different instructions:
G01 X2230.239 Y39.993 Z-1.000000 F300.000000
In this example, G01 is the command meaning ‘move in a straight line’, the X, Y, and Z values are coordinate values the tool should move from and to, and the F value is the speed it should move. Pretty simple, huh? I like G-code as it’s a really clear demonstration of what programming languages are: a means of providing information and instructions to manipulate that information.
Learn if you want to: Talk to big fancy tools and see you commands executed physically in order to make tangible things.
Of course, you either can’t use or have no need to use most of these. But to be fair, many older, less sexy languages, such as COBOL, were so widely used in key applications on mainframe computers that companies still need proficient programmers to maintain their systems — and that could be a good niche if you like that sort of thing. There is also an innate pleasure in learning something that’s cool but old and not especially functional — but then again, I studied ancient history at college so I have to tell myself that.