Хороший вопрос.
Сейчас я работаю на Ruby, PHP и ActionScript (наименее динамический из трех) вместо языков, которые я бы предпочел, таких как Java и C #. Но нищие, я имею в виду, работники этой экономики, не могут быть выборщиками. Точнее, вы должны выбрать сражения и своего хозяина.
Трудно сравнивать Ruby и Java, потому что они имеют более чем одно различие, и вы спрашивали только о динамических / статических вещах (и даже не о сильных и слабых типах!). Но на этом фронте меня больше всего беспокоит всегда IDE. Я всегда был в ужасе, когда другие Java-программисты использовали Notepad или Textpad для написания кода, и в наши дни слишком много преимуществ хорошей IDE для этого безумия. Неверно с Ruby! Я использую Netbeans, и он действительно хорошо работает, но одно из главных отличий состоит в том, что Я должен на самом деле набирать код. Для меня автозаполнение было / является образ жизни (например, я пишу смс-сообщения на полном английском / испанском с использованием предиктивного словаря и никогда не использую сокращения), а написание кода на Ruby требует больше работы.
Поначалу это было больно, и я постоянно смотрел, например, на имена функций классов, которые я написал (или которые являются частью Ruby), просто чтобы получить правильное написание! Так что это отстой, подумал я, и продолжал думать, что до ...
Я вернулся на ActionScript на днях, и чтобы получить автозаполнение IDE (FlashDevelop или FlexBuilder), я объявляю все переменные с типами (строго типизированные по выбору, если хотите) ... и вдруг я подумал что за чертовски хлопот!
А потом сегодня мне пришлось добавить некоторые функции в проект Ruby, и он показался бесплатным и классным. Код чистый, и зачем мне сообщать IDE о том, что я пытаюсь сделать все равно пишешь?
Так что я бы сказал, что 1) самые большие проблемы - это изучение языка и структуры, в которой вы работаете, как всегда, 2) это было удивительно весело и глубоко открывало глаза. Новые языки всегда несут с собой новые вещи, но динамические языки просто чувствуют себя по-другому. И это как раз то, что заставляет вас просыпаться в 7 утра и писать код в воскресенье утром, прежде чем снова заснуть.
Мне нравится программирование, и, как и большинство из вас, я провел некоторое время с хранимыми процедурами, XSL, статическими, динамическими, что угодно ... все это весело, и все они чувствуют совершенно по-другому. В конце концов, структура, в которой вы работаете, убедит вас остаться или нет (если у вас есть выбор), я думаю, но языки нужно изучать, изучать и испытывать, а не сравнивать.