AI/NLP. Evolution of Compilers?
13 Apr 2025 Table of Contents- How we excrete information out of our brains (one of the ways, at least)
- WTH is Information anyways!?
- Taking all that sweet, sweet information in…
- The point of this whole long af article
- Remarks
Considering recent trends like so-called “vibe-coding” and the amount of tension around these seemingly “hands-off” exercises in creating solutions, I have some naive and simplistic thoughts (as usual). In this article I attempt to break down the wild and complex ways us humans share information and, with many a stretch, compare us humans to computers (hah! what a funny comparison, but bear with me). As a side effect to me very happily nerding out on foundational computer science concepts, hopefully, I can somewhat convince you that we’re seeing an evolution of what we know as a ‘Compiler’.
How we excrete information out of our brains (one of the ways, at least)
Let’s start at the root of all our troubles in a sense.
Language.
It’s the way humans send information wirelessly 1 right?
Language is quite complicated (and bizarre) for a thing that almost everyone everywhere intuitively does. The objective description of a conversation is when a human makes a series of vibrational waves (sound) or hand-signs of a certain type, tone, pitch, cadence and rhythm etc. and another human picks up those waves (sound) or hand-signs through specialized bones and organs (squishy bits) and mostly understands the intention of that first human (we’ll talk about this “understanding” stuff in a later section).
Even more weird is that if you change one of those variables, like for example the tone, but leave everything else the same, the entire bloody meaning changes.
Even crazier, is that we have specific symbols that we draw (with sticks and ink on dead trees 2) in a specific order that (to a large extent) can convey the same intention as these series of noises and or gang hand-signs.
F**king bizarre.
Let’s add some reason to this rhyme…
My first personal hero 3, Noam Chomsky, in his seminal body of work on formal language 4 describes something that would eventually be called the Chomsky hierarchy of formal grammars. A complicated sounding thing, but at it’s core (and this is a super simplistic explanation 5) the aspect I’d like to highlight is - you’re limited in the amount of information you can convey depending on how you communicate:
- A random unstructured bunch of letters isn’t necessarily a word (believe me, with my
attrouciousatrocious spelling, I can attest) - Going a level higher once you solve the structure of the letters, is to make words
- A random unstructured series of words doesn’t give you a sentence clause 6
- Then a level up, a random unstructured series of clauses can’t convey meaning intentionally.
And so on and so forth, up the chain of more and more intentional structure being correlated to the accuracy of conveying meaning or information (again, I can’t stress how simplistically reductive this explanation is, but it will serve my purpose for now).
WTH is Information anyways!?
Okay, we’ve spoke about how we excrete information, but what is this information? “Everyone keeps using the bloody word!”
Let’s do a very rough thought experiment. I’m going to write something and I need you to keep track of your initial understanding of each.
Exhibit A: “the cow was mean”
This would mean very little to you. It would merely describe some cow that may or may not exist somewhere in my world that may or may not have been mean. How would you know with those 4 words?
Exhibit B: “my Afrikaans teacher was a cow and was mean to me”.
This means something different right? At face value, you get the ‘sense’ that I had a teacher that was mean to me and that they taught me Afrikaans. OR, you could interpret this to mean that the Afrikaans-speaking teacher was mean to me. Notice that the ‘cow’ as an animal has disappeared from your mental modal of what I wrote here and that depending on who’s reading this, the meaning changes.
Let’s go a final step further.
Exhibit C: “If you knew me, you’d know that I (ironically) was naturally a piss-poor language student and that I gave my Afrikaans teachers a hard time by never doing my homework because maybe deep down, I hated that learning Afrikaans wasn’t intuitive to me, and probably as a result of not doing said homework, I had horrible marks. So it’s probably not fair to say my Afrikaans Teacher was a cow and was mean to me.”
Let’s break this one down in more detail.
Hopefully you’ve picked up that in each of the exhibits above, there were different levels and types of information that could be taken from each scenario, despite there being more or less the same words, and even further, the same letters used.
To simplify what I’m trying to get to, there are 2 types of information I’m going to focus on that I feel are the most relevant here. Those are:
- Syntactic Information
- Semantic Information
Without going into detail of this, because trust me it would take all day and I’m not an expert by any stretch of the word anyways, let’s focus on my sob story about my relationship with my Afrikaans teacher an ungodly number of years ago 7.
Exhibit A has structure but little in the way of context. Exhibit B had structure and a little bit more in the way of objective information, but still barely any more context. Exhibit C had structure, objective information and context.
More importantly, Exhibit C had more meaning. Meaning is a type of information. Information that our human brains have the ability to interpret and understand (to varying degrees).
What we most apparently have in Exhibit C that makes it stand out, amongst other things, is Semantic Information.
I’ve given Syntactic Information - that is, a structured set of letters, words and sentences - information of a form that we call “meaning” or Semantic Information.
(Note: For the sake of simplicity, I’m going to omit things like Lexical Information and Information Theory merely because it adds nothing useful in this context)
Taking all that sweet, sweet information in…
Okay, we can hopefully say that we understand:
- A way in which we send this thing called “Information” and
- We know some of the basic components of this “Information” we’re sending
Now what?
Well, now we have to recursively “understand” how we “understand” something8 (I did say to bear with me…).
Though, understanding how humans “understand” is a subject that people much smarter then me would have to explain and is itself a subject for many an academic paper. So I’m going to shamelessly pivot to something that I understand much better then humans - Computers.
Specifically, the aspect of computers that allows us geeky engineers to create programs and software that benefits a profitably large group of people. In my opinion, the next biggest game changer in modern computing after the transistor and micro-chips isn’t AI, it’s the Compiler.
Compilers
In very simple and high-level terms…a compiler is something that every computing device uses and it has 2 very basic functions:
- allows a human to write instructions in a language that said human can easily understand
- Enables the computer to take those instructions and translate (but actually, compile) it to something that itself can easily understand and follow
Don’t take my word for it though…Merriam-Webster defines a compiler as:
- one that compiles
- a computer program that translates an entire set of instructions written in a higher-level symbolic language (such as C) into machine language before the instructions can be executed
Good we checked with dears Merriam and Webster because both definitions are actually relevant here.
The point of this whole long af article
Arguably, humans are compilers. We can read words and have thoughts and execute actions based on them.
Similar to a computer right?
Yes, but there has been a huge difference, seemingly until now (apart from, you know, humans being messy bags of flesh and bones and…gag…emotions) 9.
Computers - with the use of compilers - have been fabulous at understanding Syntactic Information. Computers - so far - haven’t been able to understand Semantic Information. 10
AI, and specifically Natural Language Processing, changes this.
Natural Language to a human can convey meaning in the sense we’ve outlined above. Computers can now understand (to a certain extent) Semantic Information.
Don’t get it twisted. I’m not saying that Computers are going to be more like humans. I’m not qualified nor am i confident in my understanding of Computers or Humans to definitively make such a statement.
However, I do believe that we’re seeing an evolution of the Compiler in the sense that I can now tell a computer to write me a Python application that writes a letter that says “I am sorry I was such a difficult Afrikaans student” in an email 100 words long with the primary emotion of “chagrin” and send it to all my old Afrikaans teachers from High-school 11 and it will more or less do it.
This, in my (possibly naive) view, is a compilation of my natural language (with varying degrees of accuracy) into a higher-level programming language which then already gets compiled down to machine code and eventually that gets compiled to 1’s and 0’s that the chips and chocs within the computer can happily process and execute.
Anxieties and hype-cycles aside (I’ll probably write about those some other time, cause believe me, I am anxious in light of this supposed AI revolution) I find it hard to disagree with the thought that NLP is a natural (pun intended) evolution of the compiler, and I can’t help but wonder if this was how the old guard felt when punch-card systems were starting to become obsolete.
So in summation…
Glory to the Compiler gods. We’re all f***ed either way, so this makes little difference in the grand scheme of things. We’ll probably be okay though when the hype-cycle is done. If we’re not, at least we have our health.
- FIN -
Remarks
- If you’re curious as to what the non-wireless/point-to-point transfer of information is, the next time you see a person you have beef with, punch them and ask after if they got any information from that interaction 1.1
- 1.1. I don’t condone violence….this is just a thought experiment 1.2
- 1.2. I don’t condone lying either…
- At least I do…I’m still very much what they now call “an analog guy”
- Second is Edsger Dijkstra. Just google “quotes by dijkstra” to see the absolute badassery this guy got up to.
- Amongst many many more papers, this is the one I’m most familiar with so I’m just going to point you, dear unhealthily interested reader, to - Chomsky, N., The Logical Structure of Linguistic Theory
- As someone who briefly studied this, believe me, this sh*t gets complicated. I’m actually doing its coolness a disservice by simplifying it like this. But alas, abstractions and precision right?5.1
- 5.1. “The purpose of abstracting is not to be vague, but to create a new semantic level in which one can be absolutely precise.”― Edsger W. Dijkstra (yeah, he was a complete badass)
- Remember English Class in primary school with all those definite and indefinite clauses bullshit? Yeah, it finally came in handy!
- F**k, I’m old now. Oh what a cruel mistress is time.
- All the programmers/math geeks reading this, for 20 marks, if $Understand(x) = Understanding(x)$ is a function that derives understanding from a topic $x$ prove $Understand(Understanding) = Understanding(Understand)$. I dare you.
- Relax, I’m not a machine or an AI bot writing this….yet…
- Things like Fuzzy Logic and such don’t count in my view. Heuristics are approximations and this, for me, doesn’t mean that the computer understands or interprets semantic meaning. Though an argument can be made that even with NLP, the computer doesn’t truly understand and I’d concede the point10.1, but it says nothing of interpretation and compilation of semantic meaning, which is what I’m trying to opine about. Hit me up if you disagree…I’m always up for a nerdatious debate and, more importantly, to learn more.
- 10.1. Yes, I know about the so called Chinese Room Thought Exercise.
- Not the Primary school ones, cause they’ve definitely forgotten about me by now. See 7