Show HN: A Scala Implementation of the Chromaprint/AcoustID Audio Fingerprinter
github.com
github.com
Scala is a powerful language, so you can be succinct. It's static typed, so it is maintainable as the codebase grows.
However, Scala is complex and difficult to learn. But overcoming that hurdle is a one-time thing.
In my view, Scala shines for a small team with, at least, one scala expert. We can achieve a lot of things with speed, safety, and relatively smaller codebase (compared to when using golang or java).
To give a contrast example, if you hire a lot of developers and care about perfect code quality, then golang is more appropriate.
There’s very few projects in which Scala wouldn’t be a good choice.
I love the idea that you pick a project and re-implement it (or its bindings) into another language in order to learn it. That's how I usually do it, but never picked a very large project, usually I end up reimplementing some basic utils or config reader/reloader or something similar.