4 ms·
The engineering management that prevented Scheme in the browser should never be forgiven: https://brendaneich.com/2008/04/popularity/ https://brendaneich.com/2
by patrickmay 10y ago
The engineering management that prevented Scheme in the browser should never be forgiven: https://brendaneich.com/2008/04/popularity/ https://brendaneich.com/2008/04/popularity/
- PeCaN 10y agoIn some alternate universe the management didn't stop Eich: Scheme became the lingua franca of the web. Smug Array Weenies criticize Scheme for being “insufficiently APL-like”, while pure functional programmers criticize APL for being “insufficiently Haskell-like”. Legions of Scheme programmers write mutually unintelligible code, though still manage to criticize Haskell for being “insufficiently Lisp-like”. Prolog fails to catch on. Brenden Eich announces that continuations are considered harmful. C programmers maintain that continuations are the most reasonable way to handle errors in C. This happens in spite of C not having continuations. Douglas Crockford invents s-expressions as a data interchange format. Douglas Crockford writes “Scheme: The Good Parts”. Guy L. Steele sues Douglas Crockford for copying the Scheme standard. Hipsters begin using Node.Scheme to write their backends and are criticized for a nonsensical package management system and “using a web language on the server”. This happens in spite of Scheme having been a server language before it was used on the web. Microsoft invents a compiler with type inference and optional type annotations for Scheme. Facebook invents a compiler with type inference and optional type annotations for Scheme. GNU Guix is promptly ignored for “using a web scripting language for package management”. Facebook invents React, which uses an extensive set of macros to write HTML components in Scheme. This is criticized in spite of having been done a few hundred times before. Guy L. Steele angrily removes string-pad-left from the Scheme standard. This breaks many packages. Non-Scheme programmers laugh and wonder if Scheme programmers have forgotten how to program, suggesting that “proper design minimizes dependencies on the language standard”. In all seriousness, Scheme would make a really good lingua franca.
- kowdermeister 10y agoWonderful write-up, you deserve a HN Gold. Umm, sorry wrong site, but still, I rarely stumble upon such a witty comment in my space.
- Ygg2 10y agoThat, or it ends up with several different Scheme flavors. And you get "Works best with MSScheme and IE" in 2016.
- pcwalton 10y agoScheme in the browser would have been fine. Scheme in the hot path of every single restyle, not so much.
- panic 10y agoWhy not? Modern JIT compilers generate very fast code.
- pcwalton 10y ago"Very fast" in this case is not enough for restyling. It is incredibly performance sensitive. A 2x slowdown over the optimized C++ (for example) would be unacceptable.
- talideon 10y agoI don't follow you. If, say, browsers used Scheme rather than JS, they wouldn't be any slower. If a CSS-equivalent used s-expressions but was otherwise CSS, that's just syntax.