|
|
|
|
|
by BrendanEich
5002 days ago
|
|
Pre-JIT-compiling JS VM days, I did see new String used intentionally to eliminate auto-boxing overhead on every method called on a big string. For ES4 (after AS3), we tried eliminating boxing. This is overtly incompatible, a web-breaking change. It won't fly. Java has primitives that can be autoboxed or explicitly boxed too, which is why JS has them. I was future-proofing for "LiveConnect", which shipped in Netscape 3 (Nick Thompson did the integration). But I was also in a terrible ten day hurry, so found unboxed primitives easier to deal with in the Mocha first implementation. If I did not have the "make it look like Java" and ten-day marching orders, I like to think I would have resisted the lazy-programmer second reason. But it's all water way under the bridge now. Implicit coercions, e.g., '' => 0, were influence by Perl 4. Nuff said! |
|