Дима Школьник (Школяр) (scolar) wrote,
Дима Школьник (Школяр)
scolar

Category:

На скалы грозные взлетал

Поговорите со мной о функциональном программировании, но не просто, а о Scala. Партия сказала "надо", я пошёл на Курсеру брать курс Мартина Одерского. Курс, в целом, разумный, юношеские увлечения Лиспом и template metaprogramming на С++, в общем, помогают. Вопросы у меня, скорее, про смешение парадигм. С одной стороны, велик соблазн пользоваться только immutable частью языка и библиотек, оставаясь в рамках чисто функционального подхода. С другой, всё, что я интуитивно понимаю про производительность, паникует внутри.

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

Короче, на что похожи реальные большие проекты на Scala?
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 3 comments