Кажется, что в последнее время все прыгают на динамичную, не скомпилированную подножку. В основном я работал только на скомпилированных, статических типизированных языках (C, Java,.Net). У меня есть динамические языки, такие как ASP (Vb Script), JavaScript и PHP. Использование этих технологий оставило плохой вкус во рту, когда мы думаем о динамических языках. Вещи, которые обычно были пойманы компилятором, такие как имена переменных с ошибками и присвоение значения неправильного типа переменной, не выполняются до времени выполнения. И даже тогда вы можете не заметить ошибку, поскольку она просто создает новую переменную и присваивает определенное значение по умолчанию. Я также никогда не видел, чтобы intellisense хорошо работала на динамическом языке, поскольку, ну, переменные не имеют явного типа.
Что я хочу знать, что люди находят настолько привлекательными для динамических языков? Каковы основные преимущества в отношении того, что позволяют динамические языки, что невозможно сделать, или их сложно сделать на скомпилированных языках. Мне кажется, что мы давно решили, что такие вещи, как uncompiled asp pages, бросающие исключения во время выполнения, были плохой идеей. Почему происходит возрождение этого типа кода? И почему мне кажется, по крайней мере, что Ruby on Rails на самом деле не похож на все, что вы не могли сделать с ASP 10 лет назад?