- Generation 1(A): Punched card (Binary)
- Generation 2(B): Assembly (Text)
- Generation 3(C): High-level (Text, eg. C, Pascal)
- Generation 4(D): High-level with OOP (Text, eg. C++, Pascal)
- Generation 5(E): High-level with OOP and markup (Text, eg. Qt-over-C++)
- Assembly (top performance, but labourious development)
- Typed languages, run natively on CPU (eg. C/C++) - Performance
- Compiler/JIT compiler (faster)
- Interpreter (slower)
- Typed languages, run on VM (eg. Java) - No points
- Compiler/JIT compiler (faster)
- Interpreter (slower)
- No-type languages, run natively on CPU (eg. Node.js, Cython) - Convenient
- Compiler/JIT compiler (faster)
- Interpreter (slower)
- No-type languages, run on VM (eg. Python) - AI and ML
- Compiler/JIT compiler (faster)
- Interpreter (slower)
There's most likely no languages nowadays that has interpreter to process code files directly; interpreters compile code files to bytecode, for example: .pyc is Python compiled bytecode to be run in Python virtual machine.
No comments:
Post a Comment