Programming recently celebrated its 70th birthday, making it older than most active developers today. Many people are unaware that the first coders were women who programmed the first all-electronic, programmable computer in 1947.

It’s apt to celebrate or at least think about the last seven decades of programming because of the huge impact it’s had on human society and will continue to have in decades to come. In fact, the impact is a culmination of and easily comparable to the impact of those of spoken and written language, mathematics, economics, and science.

Almost everything now relies on software. Most companies are now software companies but just don’t realise it - like banks. The widespread application of software for essential services, and how much we depend on software for them, was demonstrated in May 2017 with the WannaCry ransomware attack that crippled the NHS, Deutsche Bahn trains, and various systems around the world. Just some lines of code and an internet connection was all it took to stop surgery and endanger lives. Not to mention a future filled with self-driving cars and AI.

It’s definitely nothing unusual for disciplines to age and still have profound and everyday impact (mathematics is at least 5,000 years old, possibly as old as 20,000). But things change, new discoveries happen, and best practices evolve. While the core ideas behind computer science haven’t changed much, programming languages and technologies have.

Programming is also at an age where those at the more experienced end of the spectrum have vastly different experiences to people just starting out because of such a rapid pace of change. Many programmers started out when the internet wasn’t even around.

So what does programming mean to three different developers at different stages of their programming life? All started at different times with different technologies and different languages. And they’ll all continue to work with different technologies and languages as time progresses.

Without further ado, here’s what three developers spanning 20 years of programming experience think of programming.

Daniel - the veteran programmer

1. When and how did you get started programming?

I received a Commodore 64 for my 11th birthday. I soon got into buying computer magazines, mostly for the cassette tapes that they stuck to the cover, containing game demos or free software. But those magazines often included programming tutorials, and one day I got into writing BASIC. Later I bought a Commodore Amiga and started writing AMOS BASIC, then Blitz BASIC, then some C and Assembler.

At 18, I got a job writing C++ for a local firm working on industrial control systems. The pay was low, but it was a foot in the door. After a few years I moved on to another job, and then I was on my way.

2. What does a typical day of programming look like for you?

I run “D4”, a software studio based in Birmingham, England. D4’s mission is to one day make a living entirely from B2B SaaS products, but in order to get there we’re bootstrapping by building bespoke software for clients.

My role is quite varied. I meet with potential clients, do business analysis, UX design, system architecture, coding, test other people’s code, and product management for products like SQLizer.io and QueryTreeApp.com.

A typical day involves an hour or so of checking in with the team, making sure nobody is blocked. Then some email triage. Then I like to try and get a few hours of focused time either coding, designing or testing a piece of software, depending on what’s required. Although some days I’m out of the office meeting potential clients or consulting.

3. What’s your favorite part of being a developer?

That same feeling when, age 11, I wrote:

10 PRINT “Hello Dan”

20 GOTO 10

I get that every time I ship something. It’s never left me. I’m an addict.

90% of the time it’s a nightmare though. Trying to get technologies to talk to each other, debugging obscure Unicode bugs or race conditions. It’s time consuming, stressful and massively frustrating.

But when it works, wow.

4. Where do you see programming in another 70 years?

I think the trend in programming is definitely towards working at ‘higher levels of abstraction’. Today you have a subsystem that works with the camera, location sensors, and with voice recognition systems like Siri or Alexa. You don’t need to know how they work internally: you just ask the system to take a photo or ask it “where am I?”

In the future we’ll have more powerful subsystems. For example, it’ll be commonplace to have subsystems that can work out what someone means and what their emotional state is - all from a video feed. Another future system might instruct a drone to fetch an object and take it somewhere; and maybe another will instruct robots in a factory to build things from design drawings.

In the meantime, there will still be programmers who work at every level of that technology stack. There will still be people who build the image recognition and route planning parts of the drone delivery system. And there will still be people who work on interfacing with the camera hardware, or on making the file system more efficient. We’re just going to add more layers to the technology stack.

The high level programming that will be possible in 70 years would seem like magic to us today. Programmers will be able to write code that ties all these subsystems together and says: “allow a person to video call our vehicle support helpline, work out what they’re saying and which part of their vehicle is broken, instruct the factory to make them a replacement part, and deliver it to their house via a drone. If they are particularly upset, include a box of chocolates.”

It reminds me of one of Arthur C Clarke’s three laws:

“Any sufficiently advanced technology is indistinguishable from magic.”

5. What’s the coolest thing you’ve ever built?

When I was first starting out the cool stuff was really complicated that included loads of things and had bells and whistles. As I’ve built more products and written more code, the ‘cool’ stuff is now just stuff that works. And that’s fine.

Ben - the experienced programmer

1. When and how did you start programming?

The first thing I ever programmed was when I was in primary school (ages 8-11). The school had one of those turtle computer programs where you could make an image by programming the turtle to move forward, turn, or change colour. Me and my friend spent ages making more and more complicated pictures. That probably gave me a good insight into how computers think procedurally.

Some point after that my Dad showed me how to program stuff in QuickBASIC. I made a bunch of choose-your-own-adventure type text games and a program for keeping spy secrets. Like many other teenage boys I liked playing computer games so trying to make games is probably what really kept me interested in programming until I went to university.

Three generations of programmable turtle

2. What does a typical day of programming look like for you?

I don’t really have a crazy organized day. I usually spend a little time thinking about what needs to be done. Then I’ll try to get a few easy things done to get into the flow of things. Then all of a sudden I’m surprised it’s lunch time. The same thing usually happens after lunch, too.

3. What’s your favourite part of being a developer?

The best thing is simply the joy of creating something.

4. Where do you see programming in another 70 years?

Tim Berners-Lee and Jeff Atwood often talk about a principle of a ‘least power’. This principle states that over time the less powerful programming languages become more popular and more powerful programming languages become less popular.

While the ‘power’ of programming languages is a pretty ambiguous term I definitely get the feeling that lower-level languages, which are more complicated to write but offer better performance, are becoming a lot less popular. This is because they’re difficult to work with and learn. And as computer power increases the speed of a programming language becomes less important for a lot of programs.

I think this will probably continue and programming languages will become easier to use and possibly more specific to whatever they’re being used for. Which will lower the bar for people using programming languages to create stuff. At this point programming might become less of a specific career and more of a skill somebody has, like the ability to create Excel documents today.

5. What’s the coolest thing you’ve ever built?

I made a few cool things at university. My computer science masters dissertation was on using evolutionary computation to interactively generate music. That was pretty neat. I also made a few AI engines for various board games. And a robot that was supposed to pick up litter and put it in a bin depending on its colour but it just ended up attacking other robots.

Pandelis - The graduate programmer

1. When and how did you start programming? I was always interested in computers because my parents bought one for me when I was still quite young. Eventually I started a blog which meant I needed to figure out how to host it, edit it, and make it look nice. So I started programming out of necessity.

That lead to me learning your typical set of HTML/CSS and eventually PHP to do the really neat stuff. Since then I’ve just organically moved on from language to language, experimenting with small projects.

2. What does a typical day of programming look like for you? My typical day has mostly been spent on personal experimentation and some open source contributions and discussions. But since I’ve started working full-time that pace has changed and I now spend my time writing new code for in-house products and working on client-facing projects.

3. What’s your favourite part of being a developer? I love the fact that developers are so open and supportive of each other. More than anything though I really enjoy the open source community of developers. Anyone can have input in the direction of a project, write their own features for things they are using, and help make the software better in their own small way.

4. Where do you see programming in another 70 years? Visual! I reckon the days of keyboards are numbered. Seventy years is a long time so I can probably get away with saying that. As languages become increasingly abstract from bytecode, the way they’re written will become more abstract too.

Similar to how many future computer scientists are being brought up on Scratch, they will soon be writing the future languages which won’t even need to by typed out, you’ll just connect up the pipeline of data that you need and the language will do it. Behind those layers of abstraction the programming language will intelligently write its own code and compile.

5. What’s the coolest thing you’ve ever built? I’ve spent a lot of time attending student hackathons around the country which meant I got to build lots of cool little one-off projects.

I believe the most fun was an esoteric programming language I developed with my team at Stacs Hack. The language was completely emoji-based and translated into Swift code. In theory you could write an entire iPhone app in nothing but emoji.

Fizz buzz: nothing but emoji.

This is what fizz buzz script looks like in our new programing language @stacshack #stacshack @MLHacks pic.twitter.com/rYDXgOJ45Z — Pandelis (@PandelisZ) February 21, 2016

Final thoughts

It seems the biggest difference across 20 years is first forays into programming - it’s no surprise that the youngest of our three began programming web-first. But it looks like the sheer joy of creating something is one of the best bits of being a programmer, regardless of when you started or how long you’ve been doing it, alone or as part of a collective.

Yet the ‘predictions’ about programming seem vary quite a bit - which is exciting for the future of technology. Any thoughts of your own about the future of programming?

D4 Software builds products like SQLizer.io and QueryTree. We also build bespoke software for organizations around the world - from startups to enterprise.