Hacker News new | ask | show | jobs
by arturnt 5248 days ago
The first thing that anyone who doesn't know Java complains about is running a main method, which no one in the Java world does 99% of the time. This is probably the first thing you have to do in a Hello World Java tutorial, but has nothing to do with Java.

There are some poor design choices in Java like no method overriding, mix of primitives and their boxed equivalents, lack of closures, or first class functions, confusing equals semantics, generics verbosity, etc. But main method is just moot.

Also it has nothing to do with superiority of Lisp over Java. Lisp has a different philosophy it's a functional language, while languages like Java, C, Ruby, Python etc are all imperative (see http://en.wikipedia.org/wiki/Functional_programming#Comparis...). I think a better article would be about the virtues of each style and when to use which.

1 comments

One can program in Lisp in an imperative manner very easily and likewise one can program in Python in a functional manner very easily. The big difference between Lisp and Python (or Ruby) is not the functional nature of Lisp, but rather it's homoiconicity.

Re Java, I write CLI programs in Java all the time. It's fine for that, other than the annoying 1 second startup time.