- About Scala
- In the Enterprise
- Scala Community
- Language Research
- In the Press
- The Scala Team
- Scala's Prehistory
- Contact Us
- Learning Scala
- Tour of Scala
- Scala API
- Setup & Getting Started
- Programming Guides
- Other Guides
- Code Examples
- Scala Developers
The Scala community
Thu, 2011-10-06, 08:56
Here's a recent mail on reddit, which we should take very seriously.
I agree with the points in the mail. I think the community has a major job to do to help people get into the language instead being obscure and riding academic high horses.
I would like to start with this list. Please everyone, remember: This list is for helping people getting into Scala and getting their questions answered. That's the primary purpose of scala-user. If you are after intellectual arguments, no problem, but please use scala-debate. If you want to force an intellectual argument on a newbie that asked a simple question, that's just bad style.
I tried to use Scala, and found it has one major disadvantage going for it, the community.
Most of the developers for Scala and community members I interacted with were very focused on being right from a computer science perspective, and from their own view on how things should be done. They were not at all focused on helping developers actually get work done. This extended to the libraries that come with Scala. If they didn't like how you did something, they made the libraries much harder to accomplish that task with. As an example, appending to a list requires a rather cryptic syntax (myList :::= "something").
Along with that, Scala seems to be in love with symbols. They use them everywhere, and many times portions of the syntax are optional, so you can see different incarnations of the same syntax look very different in different places.
Also Scala has a very high learning curve for traditional Java developers. Instead of making this curve workable by gradually introducing developers to advanced features, the Scala libraries and all it's documentation force you to see all the concepts all at once. They often do a very poor job of explaining why they force you to do things their way, and just tell you to do them.
While the Scala language technically lets you program in a way similar to Java, but with advanced features as needed, the libraries are written in a way to make this nearly impossible.
What all this means is that a developer from any traditional OOP language, or less complex language is going to have a very very hard time learning Scala, and in the end the time you lost learning won't make up for any advantage Scala's 'way' provides.
As long as the Scala community is so obtuse and focused on being right their way, as opposed to helping developers get into the language, Scala will remain a nitch language.