HN user

kvtrew76557

73 karma
Posts0
Comments24
View on HN
No posts found.
Clojure vs. Scala 13 years ago

Perhaps I'm missing something about Clojure, but it looks completely and utterly foreign. As someone who didn't have much trouble learning a "complex" language like Scala I find Clojure really hard to fathom.

Why use Clojure? 13 years ago

Good question. Unlike most languages with which I am not yet familiar, Clojure looks like Greek. Most languages are at least somewhat readable. Perhaps I need to know Lisp to appreciate Clojure. Coming from a Java/Scala/Ruby/Python/Haskell/Pascal/C# background. I can't make head or tail of Clojure examples. It might as well be encrypted. To those who are using Clojure, which previous languages enabled you to make sense of Clojure more easily? Or was it something you learned from scratch?

Still quite far behind what is provided by C# and Scala, among others. At least it's a step in the right direction. These are the first major language changes to Java in nearly a decade, say what you like about Oracle, but at least they have the funds to develop Java whereas Sun was running on empty.

Play 2: Great except it's Scala. Ruled out.

The Play guys went to great trouble to ensure that both Java and Scala are fully supported. Perhaps consider being a bit more open-minded about your options. Scala is simply a more modern and flexible language, so I don't blame them for using it.

A Lisp family language is hardly more approachable than Scala. I found Java -> Scala pretty smooth, but can't make head or tail of Clojure code as it looks completely different to languages I've used before.

Rails fairs badly across the board. I'm afraid you're the one who's "lazily" linking in this case. Of course you can have good latency if you instantly 500, and process far fewer requests than the competition.

It's been good to see the growth in the Scala community on many fronts. The Scala subreddit is starting to get quite lively. I've also encountering more developers using Scala at work rather than just something they use for side projects.

The article does raise a good point about immutability and functional programming. It's something that shouldn't be assumed, especially for Java developers making the transition (there seem to be plenty of Java developers switching to Scala lately). Scala combines functional and OO programming, and there are use cases where OO style coding makes more sense. Martin Odersky even mentioned that in a presentation a while back. Immutability and asyc are very powerful, but not everyone uses these approaches. Selling folks on Scala is one thing, getting them to make a jump to an (awesome) library like Akka is a bit too big a jump to make in one step.

I've also been using IntelliJ for various large projects written in Scala, currently on the fence deciding whether upgrading to 13 worthwhile. Really hoping for an upgrade discount for all those who purchased IntelliJ in the "end of the world" sale last year. I also wish they'd add better support for profiling and heap dump analysis.

Unlike you I finished reading the Odersky book and am very easily "Getting Shit Done" much faster than I ever did in Ruby. It did take effort to learn the language, but it was worth it. Having apps running an order of magnitude faster with better response times is just icing on the cake. Perhaps consider getting a gentler introduction to the language, the Odersky book is rather long and goes into excessive detail about obscure corners of the language you will seldom ever see in a production system.

I've developed and maintained multiple large systems in a team using various languages. I would much rather maintain a system written in Scala than either Java or various scripting languages we've used and the view is shared by the whole team. It's far less verbose than Java and very maintainable compared to other very large systems written in scripting languages.

Choosing Scala 13 years ago

I'm rather excited about Nimrod, it actually looks a bit like Scala (pascal-style declarations). Scala has a lot of appeal for (most) organizations where the JVM is very widely used. I guess I tend to look at things from the position of a software engineer rather than from a teaching perspective. I'm really hoping that Nimrod gets a lot of traction (don't want it turning into a D).

Choosing Scala 13 years ago

As a software engineer I find Scala to be a very powerful tool, but one which takes some time to learn. I could see it being a useful teaching tool if they stay away from obscure corners of the language. I'm glad that they didn't go with Java, but I'd only go with Scala if the students are a sharp bunch. Python would also have been a suitable choice.