4 ms·
A lot of these languages didn't introduce their "big idea." I think their inclusion makes sense but the article could be clearer about it. —Comptime exists in
by actuallyalys 4y ago
A lot of these languages didn't introduce their "big idea." I think their inclusion makes sense but the article could be clearer about it.
—Comptime exists in Lisps and I think C++ had it before Zig. Zig's contribution, IMO, is in using it to simplify the language. My impression is that they don't have a dedicated generic mechanism as a result.
—Multiple dispatch exists in Clojure but predates it. Apparently all dispatch in Julia is technically multiple dispatch and is consequently much optimized.
—Optionals long predate Swift (as he acknowledges) and are notably a part of the ML family. I don't know much about Swift, and the author doesn't really make it clear why he found Swift Optionals easier to pick up.
—Structural typing existed in dynamic languages, as he acknowledges.
I'm actually not sure that Lisp got to images first. Smalltalk is younger than Lisp but old enough that Lisp was still evolving. According to The Evolution of Smalltalk [0], the very first version of Smalltalk had images. I'd be curious as to whether the author or anyone else has a good source on the first Lisp with images?
[0]: https://dl.acm.org/doi/10.1145/3386335 https://dl.acm.org/doi/10.1145/3386335
- lispm 4y agoLisp had images in its first version around 1960. See the Lisp 1 and Lisp 1.5 manuals. See Page 67 in the Lisp 1 manual from 1960: https://www.softwarepreservation.org/projects/LISP/book/LISP%20I%20Programmers%20Manual.pdf https://www.softwarepreservation.org/projects/LISP/book/LISP... Then BBN Lisp had an extensive IDE. Xerox later took over and developed it as Interlisp. Multiple dispatch in Common Lisp comes from Xerox CommonLoops (1986) and then CLOS. https://dl.acm.org/doi/10.1145/28697.28700 https://dl.acm.org/doi/10.1145/28697.28700
- actuallyalys 4y agoThat's very informative, thanks!