?

Log in

No account? Create an account
entries friends calendar profile My Website Previous Previous Next Next
На скалы грозные взлетал - Уголок Школьника
scolar
scolar
На скалы грозные взлетал
Поговорите со мной о функциональном программировании, но не просто, а о Scala. Партия сказала "надо", я пошёл на Курсеру брать курс Мартина Одерского. Курс, в целом, разумный, юношеские увлечения Лиспом и template metaprogramming на С++, в общем, помогают. Вопросы у меня, скорее, про смешение парадигм. С одной стороны, велик соблазн пользоваться только immutable частью языка и библиотек, оставаясь в рамках чисто функционального подхода. С другой, всё, что я интуитивно понимаю про производительность, паникует внутри.

Вот возьмём пример: лектор разбирает сортировку List вставками. Дай, думаю, напишу ради лучшего осознания языка HeapSort. Сказано - сделано. Но ведь пока после удаления вершины восстановишь кучу, пол-дерева заново создастся. Понятно же, что с imperative/mutable и код короче, и работает быстрее. Гляжу в исходники всяких map/fold/reduce - ну конечно же внутри есть переменные.

Короче, на что похожи реальные большие проекты на Scala?
3 comments or Leave a comment
Comments
avkh From: avkh Date: September 4th, 2017 07:03 am (UTC) (Link)
>> Вот возьмём пример: лектор разбирает сортировку List вставками. Дай, думаю, напишу ради лучшего осознания языка HeapSort. Сказано - сделано. Но ведь пока после удаления вершины восстановишь кучу, пол-дерева заново создастся. ... на что похожи реальные большие проекты на Scala?

Кажется это называется ""трансректальная тонзиллэктомия"".
From: mikkim08 Date: September 4th, 2017 08:46 am (UTC) (Link)
У нас в разных проектах на скале есть всё:

1) есть обычный объектно-ориентированный код в стиле "джава без точек с запятой"

2) есть код с обильным ипользованием mixin'ов и cake pattern и т.д. Видно, что люди увлеклись новыми фичами.

3) есть код похожий больше на питон с лямбдами и проч.

4) есть код похожий на Хаскель (но для этого авторам пришлось добавить scalaz)

Периодически поднимается вопрос, а не ввести ли нам какие-то стандарты кодирования, единый стиль и проч., но народ против насильственной стандартизации. Так что у нас уже несколько лет расцветают сто цветов.

Edited at 2017-09-04 08:48 am (UTC)
scolar From: scolar Date: September 5th, 2017 04:37 pm (UTC) (Link)
Вот сочетание #1 и #3 мне представляется наиболее вероятным сценарием, и это меня несколько пугает. Численность людей, способных к #4 всё же регулируется естественным отбором/
3 comments or Leave a comment