не убедительно будет совсем
Чтобы не быть голословным, возьмем для примера код heap’а на Scala или на Go. Какой из них проще понять и рефакторить? Зачем в реализации heap’а на Scala такие абстракции, как stream, forest, fold, rank, flatten, map, singleton, monoid? Без них никак нельзя? :)
https://github.com/scalaz/scalaz/blob/series/7.3.x/core/src/main/scala/scalaz/Heap.scala
https://golang.org/src/container/heap/heap.go
на этом савим жырную точку в этом базаре
Чем меньше абстракций - тем лучше?
Чтобы использовать heap там, где от объекта требуется быть только стримом, лесом, свёртываемым объектом, функтором или моноидом, очевидно же.
лул. во-первых толсто. во-вторых не в scala, а в scalaz, если не знаете разницу - не позорьтесь. в третьих, скала и тем более скалаз - отдельная тема, люди действительно могут немного упороться по матану.
Обсуждают сегодня