3 ms·
Yegge has just addressed this, and I think he has a beautiful point: Compiled apps are dead, unfeeling, unable to adjust. Compiled apps are like the ones you bu
by jksmith 18y ago
Yegge has just addressed this, and I think he has a beautiful point: Compiled apps are dead, unfeeling, unable to adjust. Compiled apps are like the ones you buy in a box at the computer store and install on the piece of plastic in front of you. They are completely unable to interact with the user (or other other computer or whatever) beyond their specific implementation at point of compilation. They're just the paper tape with a starting point and an ending point.
OTOH, dynamic languages are designed to interpret conditions as they occur at runtime. Up to this point, we really haven't been able to exploit this powerful capability to its fullest extent, but hardware is now cheap, and massive collections of hardware (like at Google's The Dalles plant) now exist to provide what is essentially a virtual environment that provides units of computing power as needed. Dynamic apps can adapt to take advantage of this. For example, modify an app in the REPL as it's running, or hot swap code in an Erlang app, or send lambdas wherever you want on a network running q/kdb+.
Now take that notion a step further. Why do humans have to initiate any of that day-to-day dynamism? The answer to that question is the future of computing and it's why we have to have interpreted languages for dynamic environments. Compiled apps (and OSes, IMO) are not part of the future. The next frontier after that will involve the hardware itself going dynamic.
- jrockway 18y agoUh, what? All of the major dynamic languages are compiled, not interpreted. "eval" != "interpreter".