Комментарии 11
Сова = 0
читаю эти статьи и диву даюсь, чего только эта ваша скала только не умеет
Не переживайте, у Scala хватает и недостатков))
Но среди других языках, используемых в продуктовой разработке, Scala действительно обладает, пожалуй, наиболее широким набором возможностей.
Присоединяйтесь!))
Кстати, интересно было бы почитать и про недостатки
Недостатки языка я уже не раз упоминал на Хабре. Scala охватывает очень мощные и интересные техники программирования, не вставая при этом со стула мейнстрима. Один из его слоганов - Better Java, и он вполне позволяет писать код в самом кондовом стиле, не особо выделяясь на фоне прочих популярных языков. Впрочем, это было бы кощунством)) В итоге язык получился очень перегруженным не только добавлением крутых инструментов к без того непростому легаси, но и ещё и способами их скрещивания. И сделано всё это не то чтобы очень ловко... но кое-что авторы языка исправляют со временем.
А про недостатки логического программирования в целом и в частности в Scala расскажу в продолжении.
Добрый, Сергей. Отличная статья - хотелось бы увидеть концепцию обработки ошибок. На практике ФП это выглядит впечатляюще по сравнению с императивным подходом.
Добрый день! Большое спасибо за отзыв)
Какую обработку ошибок вы имеете в виду?
В примере из статьи демонстрируется вывод реализации программы, составленной из "эффективных" бизнес-функций. В контейнер эффектов IO[_] уже встроен механизм обработки ошибок, и он оказывается встроен в выводимую программу.
Или вы имеете в виду, как в такую программу могут быть встроена бизнес-логика обработки ошибок? Этот момент постараюсь учесть в дальнейшем, когда будем разбираться с устройством Infer[_].
посвящённого логическому программированию
Не могли бы вы в начале статьи кратко описать, что есть логическое программирование (в контексте) и чем оно отличается от ненормального программирования=)
Ждём продолжения.
Спасибо.
Что бы не подразумевалось под "ненормальным программированием", логическое не имеет к нему отношения. Вообще, на Хабре полно статей про логическое программирование. Но обычно это либо Пролог, либо его реализации на той же Scala.
Следующая часть будет посвящена теоретическому фундаменту логического программирования и её связи с теорией типов. Потом планирую рассказать, как всё это реализуется в Scala. И о том, что нужно сделать, чтобы магия сработала)

Логическое программирование в Scala. Выбор стиля