it's been brewing in my mind for a while to write a criticism on Paul Graham's Arc and his essay about ideal language.
of the various essays of his i read in the past years about Arc or designing of a lang, his essential idea lies on the concept of “hacker”. He keeps saying, lang needs to be this or that because “hacker” is this or that way.
That illusive thing, “hacker”. Whence, one can't really get a precise idea what he consider as ideal in a language design. I think that is the main problem, and consquently, whatever he comes up i can't deem good. (and from seeing what he actually have done with Arc, you know my opinion of it is shit, and as well it generally isn't well received... e.g. far less fanfare than say Haskell, Clojure, Scala, erlang, OCaml/F#... and far less users than say NewLisp, OCaml, Scheme Lisps...)
In 2008 i wrote a essay listing tens of new langs that are popularly talked about:
• Proliferation of Computing Languages
But in the past 2 years, more have come into the mass radar!!! Google's Go, Sun Micro's Fortress. All these langs have a bunch of philosophies and defense on how or why they should exist, with complaints about how they fill a hole. Some are dubious of course, but some do seem sensible. If you consider problem space of computing, and possibilities of imagination, it really has room for new langs.
Though, as far as i see, i can't see any concrete or theoretical merit of Arc with his “hackers need it!” concept.
Clojure for example, i can justify easily, for one thing, it is a lisp on JVM, modern lisp without baggage, easy install, independent, or with concurrency argument. NewLisp, i see merit, for example, it fills the scripting niche, and for hobbyist coders.
I really hate the word “hacker”. Imagine, what Dijkstra will have to say about “a lang designed for ‘hacker’?” LOL.
... what society overwhelmingly asks for is snake oil. Of course, the snake oil has the most impressive names —otherwise you would be selling nothing— like “Structured Analysis and Design”, “Software Engineering”, “Maturity Models”, “Management Information Systems”, “Integrated Project Support Environments” “Object Orientation” and “Business Process Re-engineering” (the latter three being known as IPSE, OO and BPR, respectively).”
— Edsger W Dijkstra (1930-2002), in EWD 1175: The strengths of the academic enterprise.