What was the reason to use Scala for this project? Why not Erlang or even Golang?

Scala is a type-safe, mostly-functional language whose semantics are relatively well understood. That means that when we write software in Scala, we have some kind of prayer that we can prove it works the way we intended. We could have chosen another functional language, like Haskell, but we liked Scala because it runs on the JVM. That means that production integration is an easier sell to IT managers and business-people. They almost certainly have the JVM running in their stack, somewhere, and so we’re not asking to place something esoteric in their data centers. The early core development team–Greg Meredith, Mike Stay, and others–had a lot of experience with Scala and were happy with it. As a result, we all agreed that Scala would be an excellent tool for realizing the RChain technology vision.

As far as “why didn’t you choose X,” the answer is that we chose Scala. We didn’t “not choose” whatever other language. Erlang, Golang, Rust, and Haskell are all fine languages, but they’re not the language RChain will be written in. Projects do not succeed because of the programming language they’re written in; they succeed or fail because of the people and their ideas. We have found that the Scala community contains many talented people and that hiring Scala developers has allowed us to be more successful in the hiring process than one would statistically expect. Scala also allows us to express our ideas with clarity in a functional setting while leveraging a variety of existing toolsets to great effect. This is a powerful combination.

Leave a comment

Your email address will not be published. Required fields are marked *