5 ms·
The problem with Scala is that architects can and sometimes will get giddy and create monsters. Scala is not like C++ where some features are dangerous, but Sca
by tormeh 11y ago
The problem with Scala is that architects can and sometimes will get giddy and create monsters. Scala is not like C++ where some features are dangerous, but Scala has features that should be used with caution. The amount of times where defining a partially applied higher-order function is the best way to solve a problem is nonzero, but still really really low. So you let a team of giddy developers eager to learn and apply new concepts loose and soon you have a monster of a code base.
- wheaties 11y agoIt's called code review. Unless you have stupid time constraints, you don't let that happen.
- PhineasRex 11y agoScala is like C++ where some features are dangerous. We've had significant problems with parts of the standard library and had to resort to banning them and writing our own alternatives.
- allengeorge 11y agoWhich portions of the standard library?
- tormeh 11y agoTrying to perform a sequential operation on a parallel collection will not go well, but other than that I haven't seen anything.
- codygman 11y ago> The amount of times where defining a partially applied higher-order function is the best way to solve a problem is nonzero, but still really really low. Not sure about Scala, but I find partially applied higher order functions to frequently be the best choice in Haskell code.
- the_af 11y ago> The amount of times where defining a partially applied higher-order function is the best way to solve a problem is nonzero, but still really really low I disagree. Once you learn to use partially applied higher-order functions, they end up being useful everywhere. I'm using them right now in Scala for my day job, and my code is not particularly fancy.
- wtetzner 11y ago> The problem with Scala is that architects can and sometimes will get giddy and create monsters. > The amount of times where defining a partially applied higher-order function is the best way to solve a problem is nonzero, but still really really low. I was with you until this. Using partial application doesn't create monsters, and in fact is rather easy to follow and understand (assuming you know what partial application is, of course). There are however, features of Scala that can be abused to create monsters, the most obvious of which is implicit conversions. An extremely useful feature, but can cause a mess if you're not careful. And even with those, it's still entirely static, and your IDE can highlight which ones happened where, as opposed to something like Ruby, where you can update classes at runtime.