Это одна из величайших религиозных войн в программировании, которая, возможно, превзошла только конфликт между единственным Истинным редактором EMACS и злым порождением сатаны vi.
По сути, если программа, написанная на динамическом языке, является правильной, то она может быть преобразована в язык со статической типизацией и при этом быть правильной, и наоборот. Преимущество действительно статически типизированного langfuage заключается в том, что ошибки, которые будут отображаться во время выполнения на динамическом языке, могут быть идентифицированы во время компиляции на статически типизированном языке.
Однако в этих ситуациях часто пренебрегают тем, что в статически типизированных языках обычно есть escape-штриховки (например, типы), и, очевидно, динамические языки могут использовать вывод типов для вывода и рассматривать как статически типизированные типы явно динамического выражения. .
Что действительно важно, под одеялом, так это программист. Если программист считает программу правильной, то она будет правильной на статическом или динамическом языке. Мне не известны какие-либо убедительные экспериментальные доказательства того, что кто-то более продуктивен или более подвержен ошибкам на практике.