The comparison is that Scala is to Java what C++ is to C.
Which is pure opinion/speculation.
HN user
The comparison is that Scala is to Java what C++ is to C.
Which is pure opinion/speculation.
I happen to find str: String much more readable than String str.
I think you're confusing Scala and C++.
In our experience Scala has been a superb alternative for large Java projects. Practical experience vs. your opinion/speculation?
I use the defaults, and then set about removing all shortcuts from my desktop
IntelliJ plugin download stats:
Scala 883,000
Kotlin 21,000I know, but the .NET CLR has lagged the JVM for years in terms of performance, but its a few years since I did a comparison...
The most annoying thing about IntelliJ is the way it's keyboard shortcuts clash with virtually every keyboard shortcut of your average Linux distro. Other than that it's an awesome tool.
Scala implement tail call optimization in the compiler. In general the JVM has always outperformed the CLR:
http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?t...
Better performance? What are you basing that on?
I would argue the exact opposite. Odersky has gone to great lengths to discourage overly defensive commentary and bashing of other languages:
http://www.scala-lang.org/old/node/12498
I don't think it's unreasonable to respond to a very poor quality blog post bashing Scala since it received very widespread publicity. The interesting story behind the story is the extreme enthusiasm with which Scala bashing posts are upvoted on various forums. It's highly unlikely that the majority of those voting have actually used Scala.
I should also point out that it's a feature which I don't believe detracts from readability. It's pretty clear from looking at code which uses ST what it does. There are examples in this thread.
It's a feature that you will use directly maybe once a year when adding it to a library, but I then use that library (and indirectly that feature) virtually every day. YMMV but we've found it very useful.
Removing structural typing wouldn't be an improvement to my mind. It's the sort of thing you use maybe once a year, but when you do it's extremely useful to have around. It's a bit like saying that removing the ternary conditional operator in Java would make a big difference to developers' lives.
The quality of the original "1-star" blog post was extremely low. Odersky sums it up well with:
This week-end's edition is called "Scala - 1 Star - would not program again", and it's by someone who from reading his post seems to have written Scala all of two weeks after coming form Javascript. I think the interesting bit is not so much that these posts are written, but that they are upvoted so much.
I was also very surprised to see such a low-quality blog post being voted up with such enthusiasm on HN and elsewhere.
C# has various options (see: http://stackoverflow.com/questions/671231/linq-nhibernate-al...)
The Scala equivalent is called Slick, and it's the only SQL DSL that approaching anything near widespread use. I fail to see how incomplete projects on GitHub which happen to be written in Scala are relevent to this discussion.
C# does that too. It's called LINQ and it's very popular.
That's pretty odd. What libraries were you using?
* You might be better off using a pre-release snapshot of Java 8 as a better Java. You'll get closures, functional collections, and better type inference. I bet Eclipse and Intellij support it better too.*
You lose out on most of the features of Scala, and IntelliJ supports Scala very well.
For an "academic exercise" it's getting used pretty widely by the likes of Twitter, Foursquare, Netflix etc.
I would rather use almost anything else except the random DSL wasteland that is Scala
In my experience very little Scala code uses DSLs. Learning Scala isn't that tricky for anyone who knows Java, which is a pretty big pool.
Kotlin hasn't even been released yet, and it looks just like Scala.
The tool doesn't include any of the c3 and i2 instance types yet.
It does look very interesting. I was surprised to learn that it cross-compiles to C before being compiled. I'd be even more interested if there was an IntelliJ plugin for Nimrod.
If I recall correctly Groovy was directly inspired by Python. I don't have a link, but I remember reading that the creator of Groovy was inspired after seeing a book on Python.
It was a few months ago so I can't remember the queries. I tried a few to compare now and didn't notice much difference between the two with the examples I tested with.
How Redis+Memcached+Node.js+Go+MongoDB+MariaDB+postgres+Clojure helped my start-up scale (from 10 to 20 hits per day)
Why Go Is Better Than You And Everything You Own And Why It Always Will Be
I can only pity those tasked with maintaining such systems.
The search results of Bing seemed very similar to DDG. It seemed to do a mediocre job if figuring out the context of my search. Google seemed to figure out the question behind my query. With Bing the results seemed to feel more like a regular text search where it matched the words I was searching for to semi-random websites. Perhaps google has so much search traffic and they check which links people click on for different searches, so they are able to adapt to put more useful results closer to the top for a given query over time.
I don't really use Cobol, just illustrating a point :)