Passing the era of “text input, text output” style of programming

Programming, Magic or Boredom? — Part 1

Panu Leppäniemi
3 min readJan 24, 2021
Photo by McGill Library on Unsplash

My first program was, as for many others, a text-based adventure game written in a dialect of BASIC (Beginners’ All-purpose Symbolic Instruction Code). To be completely honest, I had no idea what I was doing at the time. Still, I somehow managed to create seemingly working software and more importantly, a sense of a progressing story.

That was two decades ago. Today, creating software is part of my profession. I have been working in technology consultancies (even been a part of running one) and currently I am a CTO of an international startup.

During these 20 years, modern technology has had major breakthroughs. Multiple single-purpose devices cluttering our tables have been replaced with a single device in our pocket. Access to information has become ubiquitous. Streaming is becoming the norm instead of owning (by utilising computing power located elsewhere). And the world has been swallowed by software.

Yet I feel the way we build software, has not fundamentally progressed from the days when I started.

To program, one needs to write lines of text, which convey complex rules of an emergent world or a strict logic of a new business, to a peer of the same species (a fellow human programmer). The very same text also commands a completely different creature (a computer), to manipulate electric voltages. In essence, you are communicating multiple meanings through a single medium! It can be a daunting task, and a single ill-placed character can bring down a whole system or make it vulnerable to a hungry attacker.

Thus we are sitting or standing in front of a keyboard, reading and writing thousands of lines of text. But why use said means if our end-goal is not to author a book? Let’s not forget why we have code. Code has no inherent value, but the things either created or enabled with code might have!

That being said, think of the kind of products which are built with code. Apps, platforms, games, infrastructures, et cetera. Now, I would challenge you to try to erase the status quo of doing things.

If you happen to be a programmer, imagine all your beloved programming languages, models and tools thrown out of a window. Okay? Good!

The toolbox is gone, but the deadline for a new software did not go away. Do not despair, though, as you have been granted a wish: you can instantly create any kind of tools or ecosystems to help you make software.

So, what kind of tools should be conjured? An even “smarter” text editor? Probably not.

Our current way of programming and therefore the software we make, are still being shaped by the legacy of early computers, and the habit has proven to be difficult to break. Motivated by disappointment, I wrote something similar to this article a few years ago. Today, I feel more optimistic, as the trends popping up in the world of software seem to be changing. It’s not only about “choosing a new programming language or a library that is trivially better than the previous” anymore. There is more and more emphasis on different approaches to creating software. And that is what we need, as we are going to be passing the era of “text input, text output”.

I know it might be painful to let go of something you are good at or even enjoy doing. Being an expert is a common trap, a plateau, for many of us. I would still invite you to join to reimagine our ways of working. Even if that means reimagining yourself.

--

--

Panu Leppäniemi
0 Followers

Technology, Startups, Sharing Economy, Esotericism, Psychotechnology.