Hacker News new | ask | show | jobs
by ptwobrussell 4566 days ago
Would be helpful to see this list be updated with a few others. A couple of that come to mind:

SQL: Tuple relational calculus is too low level?

Julia: Hadoop is a kludge for data science?

Clojure: We need Lisp for the JVM?

Dart: JavaScript is a kludge?

Go: C/C++ are kludges for systems programming?

7 comments

Go: C is too low-level, C++ is too complicated, and neither is adequate for concurrency.

(That's an attempt at summarizing Rob Pike and fitting it into Graham's framework, not necessarily what I believe, although I believe something close).

A sane module system was a big part of it, according to the SPLASH talk.
Julia is almost certainly "MATLAB is expensive, poorly designed, and non-unixy"

SQL: "humans should just say what they want, not how to get it"

You need an intermediate:

Octave is almost certainly "MATLAB is expensive, and non-unixy"

Julia is "octave is slow and poorly designed"

Scala: Java has tons of boiler-plate code and is not "functional" enough.
Or, just take the Ada description from the original article -- it applies just as well to Scala as it ever did to Ada.

(N.B., I think Scala is a great language. But it is certainly one that has never seen a feature that it didn't like...)

Clojure has more to do with immutability as a default and concurrency than simply being on the JVM. So perhaps:

Clojure: lisp promotes mutability too much.

Clojure can be alternatively seen as solution to:

- jvm needs a good lisp

- lisp needs libraries and a little cleaner keywords

Can you explain what is the relation between Julia and Hadoop?
Clojure: Just use a map!