Мой опыт пришел из императивных языков, прежде всего C, C ++ и Python. Я подобрал Scala, Erlang и немного Haskell несколько лет спустя и с тех пор очень заинтересовался функциональным программированием и формализмом, лежащим в его основе.
Я также заинтересован в параллельном и распределенном программировании и изучал формализмы, стоящие за этим, особенно те, которые видели хотя бы чуть-чуть «света дня» (например, использование в реальном мире или, по крайней мере, где-то реализацию). До сих пор я знаю о последовательных процессах связи, модели акторов, алгебре процессов общения и исчислении систем связи. Я знаю, что среди них модель Actor реализована на таких языках, как Erlang, Scala и Haskell.
Мне интересно, есть ли основы, которые я должен изучить и потренировать, прежде чем заняться этими областями, есть ли «классическая», которую я должен изучить в первую очередь, и есть ли другие популярные, которые я, возможно, пропустил?
источник