Levels of programming

Dmitry Olshansky
1 min readJul 2, 2023


Level 4

This is the highest level – full of abstractions, without any chance of escaping them. The first trio is PHP, Perl, Python. Next go Ruby, Lua, Groovy.

But the king of the pit is Javascript – it runs on the web, and as part of Node.js.

Level 3

The land of managed languages. Java and all languages on JVM, C# and all the languages on CLR. Garbage collection, JIT compiler all the hallmarks of proper managed language. Also notable mention is Erlang, with OTP runtime. Designed for network communications, it’s a clearly managed language.

Level 2

Golang, D. Golang in particular has cool runtime with extremely low-latency GC. However Go is machine code, no JIT. Likewise in D garbage collection is optional.

Level 1

C and all of its derivatives. The hallmark is ability to treat a pointer like a number. Nothing is managed save for zero init of global vars.

Level 0

Assembly, typically these days it’s ARM, x86_64, Risc-V, powerpc. Totally unrestricted, you get to define your own calling conventions. Systemcalls, writing your own OS, it’s all here waiting for you.