В эти дни я видел много подобных вещей на SO. (См. здесь , здесь и здесь для нескольких примеров.)
Согласно Википедии , Lisp является вторым старейшим языком программирования, все еще широко используемым на сегодняшний день (побежден Fortran). Функциональное программирование - не более модная вещь, чем транзистор, мышь, монитор компьютера, жесткий диск или, собственно, само понятие персонального компьютера, ни один из которых не присутствовал при создании Lisp в 1958 году. Это правда, что функционал программирование может быть не особенно полезным в типичной бизнес-среде, но его растущий и убывающий уровень популярности не делает его прихотью и игрушкой. Программисты с глубоким пониманием компьютерных наук понимают, что функциональное программирование - это не столько изобретение, сколько открытие, глубокое понимание фундаментальной природы вычислений.
Если говорить более конкретно, если программирование - это ваша повседневная работа (в отличие от настоящей страсти), является ли F # пустой тратой вашего времени? Это, вероятно, в том смысле, что вряд ли когда-нибудь станет достаточно популярным, чтобы оправдать это, в том числе и в вашем резюме. Также стоит отметить, что если вы потратите время на изучение F #, но никто из ваших коллег не сможет понять вашу работу, вы, возможно, принесете больше вреда, чем пользы, выбрав его в качестве инструмента разработки. Это все еще не делает это "причудой". :)
Что касается MVC, он существует уже давно - возможно, более десяти лет, но я не отслеживал. Это не серебряная пуля, и это не трудно понять; это просто еще один паттерн развития. Также стоит обратить внимание на тот факт, что MVC не является стандартной или даже очень хорошо определенной технологией. Существует много разных способов интерпретации MVC, и я бы даже рискнул сказать, что существует более одного правильного способа сделать это.
MVC оказывается особенно полезным для веб-разработки, потому что веб-приложения, как правило, имеют очень грязный интерфейсный код (поддержка всех этих различных браузеров - непростая задача), и последнее, что вам нужно, - это увязнуть в своей бизнес-логике с интерфейсом без необходимости. В отличие от F #, изучение MVC не является пустой тратой времени, даже если программирование - это просто дневная работа для вас, потому что, если вы когда-нибудь обнаружите, что работаете над веб-приложением, приверженность MVC (даже просто слабая приверженность ему) может спасти вашу задницу. от профессионального смущения.