Переход с ASP на Ruby, вероятно, проще, чем переход на Clojure, к тому же у него более широкое сообщество и экосистема. Однако, если вас интересует функциональное программирование и / или необычные функции параллелизма, вам следует попробовать Clojure.
Ruby - хороший язык, хотя я неравнодушен к фреймворку Django через Rails. Одна вещь, которую я обнаружил при работе с интерпретируемыми языками, - это их неоднозначная реализация потоков. И в Ruby, и в Python интерпретатор будет обрабатывать только один поток за раз.
Что касается clojure, подумайте о том, насколько большой будет библиотека, когда вы попытаетесь ее использовать. Исходя из .Net, у вас уже есть огромная библиотека. Python и Ruby на данный момент являются достаточно зрелыми, и вы можете найти практически любые расширения, которые только можете себе представить. Так легко принять большую библиотеку как должное, пока она у вас не останется. Перед переключением посмотрите .Net nuke. Не использовал его, но это должен быть слой модели / средства просмотра для .Net.
Ruby, очевидно, даст вам больше денег, если ваша цель - добиться результата и повторно использовать зрелые библиотеки. У него должна быть одна из самых ярких экосистем с точки зрения веб-разработки. Количество новинок велико, а главное, качество зачастую просто потрясающее.
У него очень хорошая система распространения пакетов и ряд инструментов, которые упрощают практическую веб-разработку на всех уровнях.
В тяжеловесных веб-фреймворках у вас есть:
И у вас есть тонна более легких, например Sinatra , который, вероятно, является одним из самых элегантных небольших веб-фреймворков, которые я когда-либо видел, или Camping , который маленький и очень забавный в использовании.
Это только начало. Будь то ORM, механизмы шаблонов или что-то еще, что вы хотели бы сделать с этим в Интернете, у вас есть масса вариантов качества.
Отрицательная сторона рубина:
Clojure - совсем другой зверь. Это очень новый язык, и он полностью функциональный. Если вы никогда раньше не программировали в функциональном стиле, это может быть смена парадигмы, которая на некоторое время сделает вас менее продуктивным, но вы почти наверняка многому научитесь в процессе.
Это тоже чепуха, и, как и в случае с функциональным программированием, это, вероятно, будет означать много нового, чему нужно научиться, но много просветления в конце процесса.
Это очень элегантный язык с очень ярким сообществом. Он также намного быстрее, чем Ruby, и становится только лучше с новой версией 1.2.
Итак, о положительной стороне:
С отрицательной стороны:
Итак, краткое изложение:
Если вы хотите изучать новые вещи в очень удобной обстановке, имея при этом возможность создавать что-то очень быстро, используя зрелые библиотеки, выберите ruby.
Если вы хотите узнать еще больше новых вещей, вы не возражаете на совершенно новой территории, со временем у вас будет больше времени, чтобы делать что-то, и вы хотите участвовать в сообществе, которое может быть на своем способ изменить то, как мы думаем о программировании, взламывая и получая удовольствие от процесса, выберите clojure;)