Мне было интересно программировать всю свою жизнь, и последние 6 лет я работал почти исключительно с Java. Я только что закончил учебу в университете и устроился на работу в качестве разработчика Java для компании.Применяемое функциональное программирование
Все эти годы программирование было хобби и любимым прошлым временем, но это имело слегка отрицательный эффект в том смысле, что я настолько привык к Java, что никогда не отваживался на него как язык программирования. Я пытался расширить свои знания о вещах, изучая регулярные выражения, SQL и изучая немного XML, но я никогда не мог быть достаточно вовлечен в новый язык, чтобы научиться правильно использовать его, потому что все они настолько похожи друг на друга , я нашел кривую обучения каждого нового языка, раздражающего. Я чувствовал, что мне нужно пройти весь процесс, чтобы закончить, я начал, поскольку я чувствовал, что другим императивным языкам больше нечего предложить (я знаю, что это заявление может начать бой, это не мое намерение).
Поэтому я решил в какой-то момент изучить магический мир функционального программирования. Я начал читать книгу о Хаскеле и нашел ее интересной с научной точки зрения (я специализировался на математике), но не смог найти практические приложения, чтобы заставить меня идти достаточно, чтобы выучить язык.
Итак, теперь, когда Java является основной частью моего времени с тех пор, как мне платят за код (и я наслаждаюсь им так же, как и я, когда это было просто хобби), я снова почувствовал необходимость расширить свои горизонты и снова функциональное программирование кажется хорошей идеей.
Я думал, что начну с Scala, так как я являюсь грамотным Java (упростите переход и сделайте более многоразовым, так как они могут «говорить» друг с другом), и поэтому мой вопрос: В вашем опыте изучается функциональный язык «смысл»? Существуют ли реальные приложения, где знание этой парадигмы может пригодиться? Не только для личных развлечений, но и это будет «профессионалом» в отрасли?
Если вы хотите изучить функциональный язык, который работает на JVM и может «разговаривать» с Java, почему бы не использовать Clojure? Это ближе к Lisp, и я думаю, что Lisp является ярким примером того, что такое функциональный язык. Хотя и Scala, и Clojure поддерживают функциональное программирование, когда я думаю о функциональном программировании на JVM, я действительно думаю о Clojure. –