3 ms·
You might have actually convinced people to not consider Scala. You are saying, Scala is great, except for these small things: 1. Modify your codebase to use m
by thr0waway1239 9y ago
You might have actually convinced people to not consider Scala. You are saying, Scala is great, except for these small things:
1. Modify your codebase to use microservices
2. Modify your IDE habits to be more REPL friendly
3. Modify your team coding habits even if it makes it hard for one person to work on the other person's codebase.
- runT1ME 9y agoI work with some larger Scala codebases too and the compile times are not that bad either. Maybe 30 seconds is more common for the large ones. Certainly not worse than C++, only a bit slower than Java. >2. Modify your IDE habits to be more REPL friendly Plenty of people use IDEs, I just think if that's what your main sticking point when picking a language, go with C#. It has the best IDE of any language. >3. Modify your team coding habits even if it makes it hard for one person to work on the other person's codebase. Nope, not a problem. I can work on any code base in the company. It's spooky how fast we can jump into others teams projects and contribute, and a lot of that is due to the power of the language.
- whateveracct 9y agoBut the thing is if you modify your habits, it's so much more efficient than most other languages. It's reasonable to have to learn knew coding style when paradigm-shifting languages. Why isn't it reasonable for there to be other new behaviors as well?
- mateuszf 9y agoBecause there are other languages, which also provide the benefits, but without these downsides.
- boubiyeah 9y agoWhich ones?
- whateveracct 9y agoHah no there aren't. I work in Haskell (one of the few languages that is as or more efficient as Scala) and these things still arise with it. And they're not a problem because you do them and you end up programming better than in a language without these things :)
- whateveracct 9y agoAlso, re: 1...you don't have to use microservices. You just need non-monolithic compilation units. This just means breaking up your application into library code that doesn't need re-compilation. GF mentioned microservices because they end up forcing this by design, but nowhere does it say "you must use microservices or else get horrible compile times"