Can anyone recommend a good book on Scala? Or should the documentation be enough?
You can get it for free from Typesafe: http://typesafe.com/resources/book/scala-for-the-impatient
31–40 of 75 posts
Can anyone recommend a good book on Scala? Or should the documentation be enough?
You can get it for free from Typesafe: http://typesafe.com/resources/book/scala-for-the-impatient
I've looked at Scala. I think it's really neat. I think it is Perl. And that's what scares me. You can solve the problem in many ways, each one getting more functional and abstract. Eventual so abstract that you can't really tell what going on. Another issue is the fact that it interacts with the JVM. Short answer, it seems nice, but if you're functional, you can't really use the 3rd party libs because you can't be s…
Or C++. Brilliant programmers will undoubtedly do brilliant things with it, but for a lot of folks, the word "multiparadigm" might as well read "radioactive." It's true (as someone above noted) that you can use a useful subset of the language and discard the rest, but weak programmers seldom choose correctly, and so we're left with steaming piles of spaghetti everywhere.
Ten years ago, I would have been thrilled reading Odersky's book. Nowadays, I die a little inside every time I see the phrases "language feature" and "syntactic sugar" in a language manual.
Can anyone explain in less than ten words why one should learn Scala in 2013?
0. Of all the "new" languages Scala has the best selection of libraries and I think is the easiest to become instantly productive in. Languages like Rust and even to some extent Go are also really exciting and let you do great things, but the native library support isn't as robust as it is for Scala, and Rust in particular is still under heavy development and isn't really ready yet. From a stability standpoint you should be OK with Go, but even it will be baking in more stuff and changing more then you will see Scala change.
1. The Productivity Boost Effect. You will find you can solve complex problems with a few lines of code and a little thinking. I have ported 1K+ lines of C++ to 10 or 20 lines of Scala
2. Personal Growth. If you are coming from C++ or Java and have done Imperative programming your whole career then Scala is a _gentle_ introduction to functional programming. As you start to use the language you might start by using it as java and only typing half the character ( no type signatures ,semi-colons , or in some places parentheses ) as you do more things and look for elegant solutions the function patterns will become obvious in their usefulness and you will start seeing their value first hand.
3. Awesome Libraries you get access to. I think immediatly of things like Akka, Twitter Storm , Play2 , and my personal favorite Spark[1]. Not that there aren't great libraries in other languages and most if not all of those expose themselves to Java and other languages, but its great using the native language they were designed for. you can do some great stuff.
4. Finally its better then spending all day reading and commenting on Hacker News. :-)
Can anyone explain in less than ten words why one should learn Scala in 2013?
Foursquare, Twitter, LinkedIn, Netflix, Box.com, Nest.com, CloudPhysics, Quora, Simple, Klout More than 10: http://www.quora.com/Startups/What-startups-or-tech-companie...
Earlier quoted context omitted.
The new SBT is a lot smarter now, my incremental builds are pretty fast. Speed-up is part of the roadmap: http://blog.typesafe.com/getting-down-to-work
It's too bad sbt isn't actually simple and is generally a disaster. I did scala in IntelliJ. The lack of tooling reduces the value a lot. I almost prefer plain java over the sheer simplicity it has comparatively...
I really like Scala. But i have some thoughts on this article: - Its not objective: It's from Typesafe. Logically they are not going to mention the negative sides of Scala I used Scala myself and I think it is a very good approach to combining functional, imperative, object oriented and type safety in one language. But the big downside is complexity: Scala is utterly complex, its has all the features of java. But it…
I'm not disagreeing about the complexity, but you can choose to use a sane subset of the language and do away with all the other stuff. Map, filter, anonymous functions and type inference already puts it way ahead of Java in terms of productivity. You can absolutely choose to ignore the rest of the language. In the end a language like lisp is much simpler but the paradigma shift is what makes it a bit difficult for t…
I'm not disagreeing about the complexity, but you can choose
to use a sane subset of the language and do away with all
the other stuff.
You're aware that's the classic counter-argument to "C++ is too complex"? Like with C++, the problem is it will be very hard to agree on what sane subset to use.
There are a lot of things nice about Scala, but I can't help seeing it as the C++ of FP languages. Moreover, the Haskell envy it exhibits can be sometimes embarassing.Earlier quoted context omitted.
Foursquare, Twitter, LinkedIn, Netflix, Box.com, Nest.com, CloudPhysics, Quora, Simple, Klout More than 10: http://www.quora.com/Startups/What-startups-or-tech-companie...
Are you suggesting that the metric of how powerful a programming language is is the quantity of companies using it?