Nov 07, 2012 16:09
What's the point of functional programming in Scala, if you can find mutable collections, variables, cycles and returns in almost every source-file of standard scala api? Why is it acceptable in the API, say for performance reasons, and is discouraged in programming in Scala itself?
api,
fp,
scala
Leave a comment
Comments 6
а во многих исходниках библиотек на С++ можно встретить недокументировные #pragma и вообще странные конструкции (вспоминается ваткомоский оператор :> для конструирования 48-битного far-указателя, в современных тоже подобное есть, но сходу вспомнить не могу).
и что?
Reply
Понятно, что пользователям языка нужно абстрагироваться, но я полагал, что аналогичных принципов придерживаются и разработчики АПИ.
Или суть в том, чтобы оградить массового неопытного пользователя от грязной и небезопасной работы?
Reply
2. авторы либ больше общаются с авторами компилятора и кое что знают - какие оптимизации компилятор сделает, а какие лучше хоть и "некрасиво", но сделать руками.
3. для новой версии компилятора или новой архитектуры либу можно переписать - она распространяется с конкретной версией компилятора, а вот юзеру лучше рассказать только про стабильные фичи языка, которые сохранятся в следующих версиях, а экcпериментальные спрятать.
Reply
But wait, there's scalaz, a totally different world.
Reply
Reply
Reply
Leave a comment