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.
Why do you think there's historiographical debate about "Language Design in Context and the Future"?