4 ms·
Personally I have a hard time seeing what the goal for Arc would be. "100 year language" seems pretty fuzzy. I mean, Lisp is already at least a 100 year langu
by loewenskind 16y ago
Personally I have a hard time seeing what the goal for Arc would be. "100 year language" seems pretty fuzzy. I mean, Lisp is already at least a 100 year language IMO so what could Arc do to make itself more so? What is it going to do that the other two popular Lisp-1s don't? The only differentiator I've seen so far is pg's confusion of terse for concise [1].
I think there is always more room for programming languages in the world, especially given how awful most of them are. I just think they need some clear reason to exist or their creation isn't worth the fracturing effect [2].
[1] Personally I use terse to mean "short and unreadable" and concise to mean "short and more readable" (think: "I didn't have time to write a short letter..."). The first thing that occurred to me when I saw Arc was "oh man, a bunch of cryptic one or two letter functions. Is this meant to be programmed over a 1200 baud modem or something?" Every one of those kinds of things is something that has to be memorized, and given how much more advanced IDEs are today what's lost in readability is not made up in typing savings. For me the classic example of "concisity" is Smalltalk. Most methods are just a line or two, they read almost literally as English yet so much is said with so little. No meaningless cryptic two letter sequences but yet one line is equivalent to at least 3 lines of Java [3].
[2] I.e. users becoming party of a community of this new mostly irrelevant language A instead of helping the community of the language that would have been said to obsolete A if it had been written after A instead of before it.
[3] http://www.cincomsmalltalk.com/blog/blogView?showComments=true&printTitle=Smalltalk_and_Productivity&entry=3256379312 http://www.cincomsmalltalk.com/blog/blogView?showComments=tr...
- hasenj 16y agoI like your "terse vs concise" argument. I always felt that PG's notion of succinct is analogous to "cryptic". Short is not always good.
- silentbicycle 16y agoIt probably has a positive correlation, but isn't an end in itself. "Short" languages typically have a programming model which makes common coding tasks implicit: ML (and other languages with type inference) make most type annotations implicit, pattern-matching languages (Erlang, Prolog, ML, Haskell, awk) make a lot of de-structuring and switching code implicit, APL dialects (APL, J, K/Q, etc.) make looping implicit, concatenative languages (i.e. Forth, Joy, Factor) and tacit / "points-free" languages (Haskell and J, again) make variables and dataflow implicit, constraint and/or logic languages (Prolog, Mercury, Oz) make search implicit, etc. It's often a net win, but some problems inevitably clash with their model - it seems important to have some kind of escape built into the language.