“Jets” are the proverbial “Sufficiently Smart Compiler.” The seal between a core of Maxwellian purity and the world of filthy expedient compromises which lies outside must be absolutely perfect – like the seal on the airlock of a multi-generational starship. In fact, building the airlock at all is a terrible idea. Anyone who whines about being welded into the hull doesn’t belong on the journey.
Think of every high level language with a C FFI you’ve used. Having the FFI is not harmless. It colors the programmer’s thoughts. It destroys the Master-Of-All-I-Survey majesty of the entire system. Another way must be found.
The types of programming language semantics, according to CTM
Only in the mid-nineties when the number of transistors on a single chip ceased to be the true bottleneck, the “von Neumann bottleneck” may have ceased to be the optimal solution. For the first time after fifty years of progress at break-neck speed, there was a glut of switching elements. This may have made it practical to consider architectures customized to high level languages. But it would only be competitive at the expense of investments that only those firms can afford that are committed to the von Neumann bottleneck. So now, instead of a single such bottleneck, my next computer, with it quadcore chip, will have four of them. And I will be able to have my OCaml programs run wondrously fast. Will all those millions transistors be used efficiently? Of course not: the famed “Road Ahead” is paved with waste.
Takeaway from http://norvig.com/lisp_talk_final.htm:
- Simple is better
- Useful is better
- Cheap is better
- First is better