Возьмем простую функцию, которая увеличивает целое число:
Статический ввод:
function incrementNumber(int n) {
n = n + 1;
}
Динамический ввод:
function incrementNumber(n) {
if (type of n != int) {
throw Error;
}
n = n + 1;
}
Они достигают того же самого, но динамический подход намного уродливее и длиннее из-за необходимости «проверки типов».
Я видел, как многие программисты использовали этот подход, и это заставляет меня задаться вопросом, в чем именно заключаются преимущества динамически типизированного языка, поскольку большинству функций потребуется проверка параметров, подобная этой?
Есть ли у вас примеры, когда динамическая типизация работает (или выглядит) лучше статической?
+
определен для любого входящего типа. Итак, независимо от того, является ли он int, десятичным или строковым, он должен работать, пока они знают, как выполнять операцию+
, не так ли ? - person Pradeep Kumar   schedule 04.08.2015