В последнее время я много читал о функциональных языках программирования (фактически, почти в прошлом году). Я действительно хотел бы выбрать один и изучить это полностью.
В прошлом семестре [курс] я познакомился со Схемой. Я люблю это. Мне очень понравилась крайняя простота синтаксиса, принцип гомойконичности , макросы ( гигиенические и негигиенические), множество процедур и т. Д.
Проблема со Схемой в том, что это академический язык. Я не думаю, что это действительно используется в производственных средах. Я тоже не верю, что это особенно хорошо иметь в нашем резюме. Итак, я искал альтернативы. Их много, и все они, похоже, имеют одинаковый уровень популярности.
Некоторые мысли о некоторых других функциональных языках, которые я уже рассмотрел:
- Clojure: Звучит замечательно, потому что он может получить доступ к миру Java, он ориентирован на масштабируемость и параллелизм, но разве сейчас мир Java не на грани? Я уже достаточно хорошо знаю Java, но было бы разумно добавить еще больше энергии в зависимости от JVM?
- Хаскелл: Похоже, очень ценится язык, но из того, что я прочитал, это также больше академический язык.
- Лисп: Это было вокруг с незапамятных времен. Кажется, есть большая часть того, что мне нравится в Схеме. У него большое сообщество. Насколько я знаю, это, пожалуй, самый широко используемый в промышленности язык функционального программирования (?).
- F #: действительно не учел это. Я не большой поклонник MS. У меня нет денег, чтобы заплатить за их программное обеспечение (я мог бы освободить их от университетских альянсов, но я более склонен использовать решения, основанные на сообществах). Хотя ... я думаю, это будет лучший выбор для карьеры.
Сегодня вечером я склоняюсь к Лиспу. Неделю назад это был Хаскелл. До этого это был Clojure. В прошлом году я занимался какой-то Схемой для удовольствия, а не продвигал ее по той причине, которую вы знаете. Теперь я хотел бы серьезно (об изучении одного, о выполнении реальных проектов с ним, о, возможно, в конечном итоге профессионально работать с ним). Моя проблема в том, что мне нужно изучить их все подробно, прежде чем я смогу выбрать один.