3 ms·
I agree with some of the observations, and not others. On Java... I haven’t done much Java, and I’d like to keep it that way. My impression of the language is
by michaelochurch 12y ago
I agree with some of the observations, and not others.
On Java...
I haven’t done much Java, and I’d like to keep it that way. My impression of the language is that too much time is spent doing the boiler plate. It’s been slow to catch C# up on language features, and Object orientation doesn’t seem to be the right approach anyway.
Yep. Correct. Nailed it. I wrote about "Java Shop Politics" in 2012 ( http://michaelochurch.wordpress.com/2012/04/13/java-shop-politics/ http://michaelochurch.wordpress.com/2012/04/13/java-shop-pol... ) but the truth is that any big-program methodology is going to become a political quagmire. The problem is the business bastardization of OOP, which isn't limited to Java. I'm sure that companies that identify as ".NET shops" are just as bad.
Clojure...
I have played around with Clojure a bit and I like it. However, it seems like a language of compromises, the biggest of which is sitting on the JVM. Is this a stepping-stone language, or a long term viable option? It’s hard for me to say.
Everyone should be exposed to Clojure. The JVM is incidental. The Clojure community (and this is damn surprising, given that the language lives on the JVM, and Java's community is so awful in this regard) has excellent aesthetic sense. I haven't used core.async or Om for any large projects, but I'm a huge fan of what the Clojure community's doing with the front-end. In terms of aesthetics, I think they're still 5 years ahead of Haskell.
Speaking of which...
I’m not clever enough to program in Haskell.
Yeah... I'm going to call that a cop-out. For a 1-month project, don't use Haskell if you're not familiar with the language and not intent on learning it. Use Python or Clojure. For a long-term project, you can use Haskell. It's not about "clever enough". Sure, Haskell has some wonky terminology (monoid, monad, functor) and learning everything that's possible takes years, but anyone who's smart enough to program can develop a basic capability in it.
Personally, my choice would be Python for a short-term project, Clojure for the mid-range, and Haskell for a long-term project that's destined to go multi-developer.