News for hackers. Stuff that matters.
Re:Scala – 1 Star – Would Not Program Again by sandGorgon on Sunday December 01, 2013 @10:30PM (#6831351)
Question - the job/hiring post on hen for November has many positions for clojure and one definitively for Scala. Here, I see references to investment banks using scala.

Has scala become a readable alternative to java, while most of the future focus is on clojure? Does anyone know how real life performance compares between both.

From my viewpoint, scala is in use at several banks and Twitter - clojure doesn't really have a big name advocate behind it. From a startup standpoint, isn't talent/hiring an issue?

Re:Scala – 1 Star – Would Not Program Again by korny on Monday December 02, 2013 @01:51AM (#6832182)
There are some big places using clojure - the Daily Mail uses clojure heavily for it's website, as do SoundCloud; also, like Scala, it's used internally at some financial institutions - CitiBank have some clojure, and we've been using clojure at IOOF (an Australian superannuation company).

Performance is probably the last thing you need to care about when choosing a programming language for most businesses - unless you are doing hard-core analytics or handling huge scale, you just won't hit the sort of performance problems that are solved by a faster programming language (as opposed to a faster algorithm or architecture).

It really frustrates me that people _still_ put such weight on low level performance. In 1997 I had people saying "don't use Java, it's performance is far worse than C++". It was mostly untrue for business problems then - and computers are many orders of magnitude faster now.

Re:Scala – 1 Star – Would Not Program Again by puredanger on Monday December 02, 2013 @10:55AM (#6834382)
Some other examples are Prismatic, Runa (recently bought by Staples), Climate Corporation (recently bought by Monsanto), Twitter (via acquisition of Backtype), etc. And there are a number of other big name companies very quietly using it to just get stuff done.
Re:Scala – 1 Star – Would Not Program Again by epsylon on Monday December 02, 2013 @11:07AM (#6834474)
As far as automated trading is concerned, performance is critical, which is why C++ still is king in this domain.
Re:Scala – 1 Star – Would Not Program Again by adambard on Monday December 02, 2013 @12:49AM (#6831943)
Real life performance generally favors Scala over Clojure, but by a relatively small factor (2x). This is mostly due to the clojure implementation's use of reflection to achieve dynamism. Dynamism? You know what I mean. You can make this up with some really clever tools for parallelism though, if your problem fits.
Re:Scala – 1 Star – Would Not Program Again by puredanger on Monday December 02, 2013 @11:03AM (#6834446)
This is totally bogus. Clojure will only use reflection if calling into Java interop with ambiguous types and even those cases can be addressed with type hints (if they even matter).
Re:Scala – 1 Star – Would Not Program Again by lmm on Monday December 02, 2013 @04:20AM (#6832646)
I think the real world popularity of scala is significantly higher than that of clojure (e.g. TIOBE rankings). I don't think there is any more "future focus" on clojure - scala is still making big new releases all the time, and IMO it will be easier for scala to gain clojure's flexibility and compile performance than for clojure to gain scala's safety and runtime performance.
Re:Scala – 1 Star – Would Not Program Again by puredanger on Monday December 02, 2013 @11:12AM (#6834504)
TIOBE is garbage but I would not dispute that Scala use is higher today. However, Scala and Clojure use both continue to rise.

Well-written Scala and Clojure can provide comparable (ie Java level) performance.

Clojure has tools (like core.typed and Prismatic's schema library) to optionally provide you with static typing where you want it, without the burden where you don't need it.

Clojure does regular releases every year (that continue to be high quality and maintain backwards compatibility) and now has paid developers and support that will continue to accelerate progress. Because of the flexibility of the language, a great deal can be done outside the language in libraries (such as the entirely new concurrency paradigm in core.async).