With over a decade of evolution and a large, enthusiastic community, Scala has transitioned from a peripheral language to a serious contender in its own right. However, it is still maturing, and that means experiencing growing pains as it evolves. While many individual developers are still wrapping their minds around Scala at a granular level, there needs to be some strong guidance from a big picture perspective as well. Here are five tips that contributors invested in the evolution of Scala should take to heart if they want to see this innovative programming language continue to flourish:
- Don’t fall into the same trap as C++ problem with continual expansion that leaves too many choices and no clear best practices. That leads to everyone choosing a different subset to work in. Provide proper guidance.
- Remember that deprecating poorly designed features is just as important as adding new features. Be brutal.
- Consider splitting the language to create a workable standard for production environments. Saving the fancy bits for the academic world may be a smart option. Cater to the needs of the enterprise for greater adoption.
- Library writers should look to Java APIs to see that it’s possible to have function calls and structured functions that read nicely. Don’t jump to the end game in a search for fluidity to rival Ruby.
- Finally, don’t get upset when people offer constructive criticism. If the same complaints come up over and over, it’s time to listen.
Scala is an incredible language with the ability to challenge, compete with and outperform Java on a variety of different levels. But to reach out beyond the core user base, attention must be paid to the small details, and an effort must be made to bring everyone into the Scala tent, which includes everyone from recent converts to software developers who may not have had the greatest experience with Scala the first or second time around. As software developers begin to recognize the power of functional programming, Scala will continue to gain in popularity, so long as they respect the wishes and needs of the base of users who will be developing with it.
What words of wisdom do you have for the Scala community? Let us know.