Programming languagesby Lukas
Introductionwhat is a programming language?An example program that prints text on a screen:Programming languages allow us to instruct computerswhat to do - they allow us to “talk” to computers.Code is human-readable, so for the computer to actuallyunderstand them, it has to be compiled into machinecode.
print("Hello, world!");
Machine codethe thing CPUs actually understandFun fact:First compilers were made with hand-written machine code.Note:The term “machine language” is outdated.Machine code is the binary representationof instructions that the CPU executes.Unlike source code, it's not humanfriendly.All code gets converted to machine codeat some point (in a process we callcompilation).
Compilationhow do we get that that machine codeis a multi-step process of converting code to machine code. 1.- Code is split into “words”. 2.- The compiler makes a structured Abstract Syntax Tree. 3.- The tree is optimized and compiled into machine code.CompilationLexingParsingCompilationAbstract Syntax TreeCode
var x = 10 + 10;
Machine code010000 100111 111100 111101 000111 001000 110010 111111 001001 111110 011000 110011 110101 100011 000101 011111 *(illustrative example)
Kinds & their usewhat kinds of languages do we have?CompiledThey compile intomachine codedirectly. Example: C++, Rust They are usually thefastest and mostversatile.JIT CompiledThey compile “Just-in-time” at runtime. Still pretty fast. Example: JavaScriptVM LanguagesThey compile to pseudo-code and use a runtime VM. Mostly replaced by JIT; not that popular today. Example: Java, C#InterpretedThese languages don’tcompile, but getinterpreted atruntime. Example: ShellScript
Advantages/DisadvantagesCompiledAdvantages: Fast Small executable Metaprogramming Disadvantages: Harder debugging No code executionat runtime Run only atspecific arch.VM LanguagesAdvantages: Runs anywhere the VMdoes
 Disadvantages: Often slower than JIT Requires a runtime Harder debugging No runtime execution They were mostly usefulhistorically.InterpretedAdvantages: Easy debugging Runtime features Runs anywhere theruntime does Disadvantages: Slow Requires a runtime Source code isneeded
Low/High level languagesWork closer to hardware Have more control over it Often faster/higher potential Often more difficultAre more abstracted Have less direct hardware control Often slower and less capable Often easierLow-levelHigh-levelProgramming languages are also categorized based on howclose to the hardware they operate. The lowest level “language” would be Assembly - it mapsto machine code nearly one-to-one. A high level language would be something like Python.
Notable programming languagesJavaScript(high-level)The world’s most used language as of 2025.C++(low-level)Known as the fastest language.Rust(low-level)Gaining a lot of popularity.CompiledCompiledJIT
Honorable mentionI made this one :)Glitter is a modern, backend-agnosticprogramming language designed forbuilding scalable and fast applications.It combines the best features of existingpopular languages with new concepts toprovide developers with a powerful tool-set.Open-Source
fn main () {
    print("Hello world");
}
Thanks for your attentionSources & credits:Graphics:Lukáš Zloch (lstv.space)Information:Me, internet (datasets, dev surveys)