- Programming languages: principles and paradigms, Allen Tucker, Robert Noonan.
- Other good books:
Let's be honest: Wikipedia articles are often the best introductory descriptions to concepts you'll find anywhere.
- Computer program
- Programming paradigm
- Compilers and Interpreters:
- Type Systems
- Memory Management
- Concurrent Computing/Parallel Programming
- LLVM project, a “Low-Level Virtual Machine” compiler infrastructure project
- Facebook releases a PHP just-in-time compiler
- Memory Management Reference
- Practical Garbage Collection
- A JVM Does That?
- Visualization of JITted code [in PyPy]
- Embedded in Academia, a blog on compiler/language issues
Functions and Scope
- What's a Closure?
- Making code more readable with anonymous functions
Concurrent and Parallel Code
- Language concurrency modules: Java
- Concurrent matrix multiplication in Python
- Python - parallelizing CPU-bound tasks with multiprocessing
- Parallelism is not concurrency
- Auto-vectorization with gcc 4.7
- Faith, Hope, and Love: An essay on software science’s neglect of human factors [PDF]
- An Empirical Comparison of Seven Programming Languages, from IEEE Computer, vol 33 (2000), no 10.
- Haskell vs. Ada vs. C++ vs. Awk vs. … An Experiment in Software Prototyping Productivity
- Are All Programming Languages The Same? A lines-of-code language comparison.
- Computer Language Benchmarks Game: lines-of-code comparison
- The Hammer Principle: “I enjoy using this language” rankings
- It's Faster Because It's C, a deconstruction of who really needs to care about “faster” code.