Ask HN: Book comparing major programming languages at a technical level?
- Languages that are compiled to machine instructions, vs compiled to VM bytecode, vs interpreted?
- What do these things mean?
- How do these choices affect the languages and the facilities that they offer to programmers?
- Languages with and without type systems
- Generics
- Different approaches to concurrency
I'm not looking for treatment of standard "programming" topics such as procedural vs OO vs functional.
I'm imagining it might explain the above with reference to:
- C / C++
- Java / C#
- Python / Ruby
- Javascript
It might be fun if it covered many more languages than that, but first things first I would like an introduction to the major features of the programming language landscape focusing on the most popular languages in use today.
Does a book like that exist?
6 comments
[ 3.7 ms ] story [ 24.8 ms ] threadConcepts of Programming Languages (11th Edition) by Robert W. Sebesta
Programming Language Pragmatics by Scott, Michael L.
> - What do these things mean?
Languages are not compiled or interpreted, rather they may have compiler implementations, interpreter implementations, or both!
If the code is ever going to be executed, it needs to be converted to machine instructions at some point.
Consider Java - JVMs started out being like interpreters, but ended up more like compilers once JIT implementations became available, all without changing the language or the bytecode. Additionally, many non-java languages target those same JVMs.
That’s not really true — take Python. The CPython interpreter has been compiled as native machine instructions. But the user’s Python code is turned into byte code and executed by the CPython interpreter; the user’s Python code is never converted to machine instructions.
> Languages are not compiled or interpreted, rather they may have compiler implementations, interpreter implementations, or both!
That’s true, thanks.
few sites may be, majority is just works on benchmarking comparison https://benchmarksgame-team.pages.debian.net/benchmarksgame/