Il semble que tout le monde saute dans le train de la dynamique non compilée ces derniers temps. J'ai surtout travaillé dans des langages compilés et typés statiques (C, Java, .Net). L'expérience que j'ai des langages dynamiques concerne des choses comme ASP (Vb script), JavaScript et PHP. L'utilisation de ces technologies m'a laissé un mauvais goût dans la bouche lorsque je pense aux langages dynamiques. Les choses qui auraient normalement été détectées par le compilateur, comme les noms de variables mal orthographiés et l'affectation d'une valeur du mauvais type à une variable, ne se produisent pas avant l'exécution. Et même dans ce cas, il se peut que vous ne remarquiez pas l'erreur, car le programme crée simplement une nouvelle variable et lui attribue une valeur par défaut. Je n'ai jamais vu non plus intellisense fonctionner correctement dans un langage dynamique, puisque, eh bien, les variables n'ont pas de type explicite.
Ce que je veux savoir, c'est ce que les gens trouvent de si attrayant dans les langages dynamiques. Quels sont les principaux avantages en termes de choses que les langages dynamiques permettent de faire et qui ne peuvent pas être faites, ou qui sont difficiles à faire dans les langages compilés. Il me semble que nous avons décidé, il y a longtemps, que des choses comme les pages asp non compilées lançant des exceptions d'exécution étaient une mauvaise idée. Pourquoi y a-t-il une résurgence de ce type de code ? Et pourquoi me semble-t-il, du moins à moi, que Ruby on Rails ne ressemble pas vraiment à quelque chose que vous n'auriez pas pu faire avec ASP il y a 10 ans ?