Search code examples
javascalamaintainability

Is large scala codebase maintainable?


I have some experience with the scala. I want to introduce it into new project with 10 members. But despite all expressiveness of the scala, I am very unsure of how simple the code can be maintained and transferred to new team members. At the moment I have studied only one big project on a scala http://code.google.com/p/factorie/ and some scala DSL(apache camel). So my question is how much scala maintainable/supportable comparing to java, python and groovy for team of mid level developers?


Solution

  • In general: the maintainability of the codebase depends on (to name a few)

    1. The will of the developers to design for maintainability
    2. The skill of the developers to implement their intent
    3. The level and accuracy of the documentation (accuracy in respect to how well the documentation portraits the actual system not in respect to how detailed the documentation is)
    4. The skill of the developers taking care of maintenance

    You can create a mess using any language available. Arguably you can create a clean and maintainable project of any size using any programming language that is intended for production use.

    That said - scala shouldn't be any less maintainable than java, python or groovy. The result of the first project may be less maintainable though.