Skip to content

Instantly share code, notes, and snippets.

@4e6
Created September 8, 2015 16:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 4e6/4a0b03038205765dc805 to your computer and use it in GitHub Desktop.
Save 4e6/4a0b03038205765dc805 to your computer and use it in GitHub Desktop.
rifvrn-abstract
Функциональные программы с производительностью императивных.
Функциональный подход уже достаточно давно является трендом в современном программировании.
С его помощью можно создавать абстракции, с помощью которых можно легко рассуждать о программе.
Функциональные абстракции легко компоновать и в последствии переиспользовать.
И это настольно легко делать, что в итоге мы создаём всё новые и новые абстракции на основе уже имеющихся, особо не задумываясь о том, как программа будет работать в рантайме.
Но на практике любая абстракция, в том числе и функциональная, создаёт значительный оверхед во время выполнения.
В этом докладе, на примере языка Scala, мы поговорим о том, какие же подводные камни возникают при написании функционального кода, и что можно сделать, чтобы в итоге получить эффективную программу.
В качествe примера, рассмотрим Scalan, фреймворк для создания производительных DSL. И выясним, какие же проблемы получается решать на практике.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment