Level 3
1 day < 1 min
LeaderboardGuest · Log in
Key point 8 of 8 · The History and Evolution of Programming Languages
Estimated reading time: 3 min

Language Design in Context and the Future

Compiled languages, such as C, C++, or Rust, translate source code into native machine instructions ahead of time, generally yielding faster execution and earlier error detection, at the cost of a separate build step and less immediate iteration. Scripting, or interpreted, languages, such as Python, Perl, Ruby, or JavaScript, are executed directly, or through a fast just-in-time compiler, without a separate compilation phase, favoring rapid iteration, flexibility, and ease of testing small pieces of code at the expense of raw execution speed. The historical distinction has blurred considerably: Java and C# compile to intermediate bytecode executed by a virtual machine, and modern JavaScript engines, such as Google's V8, use just-in-time compilation to approach the performance of compiled languages while retaining interpreted-style flexibility.

Food for thought

Why do you think there's historiographical debate about "Language Design in Context and the Future"?