We live in a world where logic and reason are highly valued. Our thinking has been trained to be structured and analytical, seeking solutions to problems through logical reasoning. Our interactions with technology, especially software systems, usually demand that we think in a step-by-step, programmatic manner.
Enter ChatGPT, a language model developed by OpenAI. Technologies like ChatGPT are based on a language model that has the ability to process and comprehend natural language input. This opens up the possibility of revolutionizing our relationship with technology by enabling us to communicate in a more natural, intuitive way. This can close the gap between our thoughts and how we express them, resulting in a more effortless and intuitive experience.
This will cause a shift from "unnatural" logical thinking back to a more "natural" language-based thinking.
Our obsession with logic
When I was young, it was widely believed that pursuing a career in mathematics and science was the key to success. Language and humanities were often seen as less important subjects. This trend was reflected in my school district, where the focus of education was shifting more towards STEM and away from languages, arts, and humanities. Perhaps you experienced something similar?
Fortunately for me, I loved mathematics and physics. Heck, I even ended up liking philosophy because it had a component on logic. I chose a career path that was in line with the push towards STEM.
Focusing on STEM shaped my brain. I learned to think logically, rationally, programmatically. As a software engineer, this trend was only amplified, as I interacted with software systems every day, causing me to think even more logically and programmatically. Eventually, this manifested in the "Tetris Effect". Everything started to look like a problem that required immaculate syntax and precise logic.
During conversations with friends and family, I found myself pausing whenever there was a "bug" in the discussion. I felt compelled to stop the discussion right then and there to fix the bug before I could allow the discussion to continue. A small error in syntax would cause me to completely derail the conversation, leading to less-than-ideal social interactions. The very skills that made me successful as a programmer had quite the opposite effect the moment I stepped away from my computer.
This is not just a problem for engineers. We've all been trained to interact with software systems, and most people are able to navigate web forms, use UI controls like checkboxes, dropdowns, and radio buttons, and even more complex widgets. This is also a form of programmatic, or logical, thinking, and is only becoming increasingly prevalent.
The push towards technical thinking and communication, in which pure logic is a central component, seems to only be accelerating.
The evolution of programming
Most of the technologies that we use today are based on the programming paradigm, which is itself based on purely logical thinking.
Computers are programmed in machine code, also known as machine language, as it's the only language that machines are able to understand at their lowest physical level. Here is an example:
b8 04 00 00 00 bb 01 00 00 00 b9 00 60 60 60 ba
0d 00 00 00 cd 80 b8 01 00 00 00 31 db cd 80
This "language" is extremely difficult for people to understand, so assembly code was invented. It provided a means of creating machine code in a way that was much easier for people. It looks something like this:
message db 'Hello, World!', 0
; write the string to the console
mov eax, 4 ; system call number (sys_write)
mov ebx, 1 ; file descriptor (stdout)
mov ecx, message ; pointer to the message
mov edx, 13 ; length of the message
int 0x80 ; make the system call
; exit the program
mov eax, 1 ; system call number (sys_exit)
xor ebx, ebx ; return status code
int 0x80 ; make the system call
Although this is a huge leap forward, to most people, this program would appear to be cryptic nonsense.
While in the past, people would program computers directly using assembly language like in the example above, today, programmers use higher-level languages like Java or C, which get compiled into assembly code. These higher-level languages are considered more "natural" as they align closer to the way our brains instinctively work. Here is the same program, but written in Python code:
The increase in productivity enabled by high-level programming languages eventually allowed for the invention of visual programming tools, which make it possible for people with little or no programming experience to interact with computers in a more intuitive and natural way. Even non-programmers can create applications, automate tasks, and perform complex calculations.
For example, in a visual desktop setting, tools like Microsoft Excel allow even novice computer users to manipulate and analyze data, create charts, and perform other data-related tasks without needing to write any code.
While these tools have made it easier for people to interact with computers, they are still based on a lower-level foundation of computer programming, which influences the very nature of the application and how the users interact with it. Current applications like Excel require structured, logical thinking in order to use them.
The shift to prompting
As explained in the last article, I wrote about how technologies like ChatGPT are used by means of prompting. You simply prompt it by writing some text, like so:
Q: In one short sentence, explain what it means to prompt ChatGPT.
A: Prompting ChatGPT refers to the act of asking a question or providing
a request to the AI language model in order to receive a response or output.
Although somewhat of an art, prompting is based on natural language. It does not have a fixed syntax, and is infinitely more forgiving than programming. It may take a bit of training to learn how to get good results from prompting, but it does not require decades of reshaping the pathways of the brain to think in ways that are not innate. The barrier to prompting is much lower than the barrier to programming.
Just as programming evolved into visual applications used by non-programmers, perhaps prompting will eventually evolve into a new breed of applications, used by non-prompters. Programmed applications require structured, logical thinking because they are based on purely logical constructs. Perhaps it is safe to wager that future prompt-based applications will be much more intuitive and user friendly.
Back to our roots
The recent introduction of ChatGPT has kicked off a frenzy of interest in AI. We are only beginning to understand how to use these technologies. Yet, it is clear that it is based on a natural language paradigm, which is more in line with how our brains naturally function.
One of the reasons that using ChatGPT is so exciting and novel is because it does not require the usual logical thinking that is necessary to write computer programs. I believe that this is a revolutionary change.
Not only will human-machine interactions start taking a different path, which will have far-reaching effects on how we work, we may even see a shift away from our obsession with STEM education, and start to reemphasize the arts and humanities again.