I had a much longer explanation and then I found this email from Dan.
I second all his arguments.
using opt-in won't make the complexity go away. I learn a language by reading code from other people, who will still use those language features.
if it's to support he enterprise and large teams the checkstyle solution is probably a superior one in terms of flexibility and extensibility.
The main problem of scala is documentation and education not so much having 2 versions of scala. it would be great if Josh could write another book that goes even more in depth , I'd gladly pay double for that.
On Sunday, March 18, 2012 8:03:02 AM UTC+1, Dan Rosen wrote:
Nobody ever likes my essays, so let me rephrase all that in shorter form... I believe the following:
- Trying to engineer a solution to a people problem usually doesn't work.
- You don't have the power to stop people from doing dumb things; you do have the power to ignore them when they blame you.
- Imposing a singular view of the "right way" for "most people" to write Scala code (or, for that matter, declaring a hierarchy of skill levels à lahttp://www.scala-lang.org/node/8610) presumes you know how most people think, learn and work.
- Corollary: "application" vs. "library" is a false dichotomy. We should do everything we can to encourage novice developers to learn to structure their code as a loosely coupled collection of libraries and DSLs. Scala is not Java.
- When a person approaches a task with the assumption that they won't succeed, they probably won't succeed. Telling novices that certain aspects of Scala are too advanced or dangerous for them is thus self-fulfilling.
- We simply need to share what we know, and what we are all continuing to learn, about how to write good Scala code. People will absorb the knowledge in their own ways, on their own schedules, according to their own needs.
On Saturday, March 17, 2012 8:20:52 PM UTC-7, Dan Rosen wrote: