Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Какое различие между статистической и динамической типизацией?

ПрограммированиеОтличияОбъяснение понятий
Ivan Zavir
  · 1,2 K
Математик-системный программист, разработчик асу тп для аэс.  · 6 сент 2018

при статической типизации ты точно знаешь тип переменной в момент написания программы и разработки алгоритма и учитываешь это. т.е. если ты сказал, что переменная G является четырёхбатовым беззнаковым целым, то в алгоритме она всегда будет именно четырёхбайтовым беззнаковым целым (если что, то нужно её явно преобразовывать или знать как транслятор её преобразовывает в определённом круге ситуаций, но в основном если будет несовпадение типов это является ошибкой алгоритма, и компилятор тебя как минимум предупредит), при статической ты никак не можешь положить в число строку "вася-дурак" и дополнительные проверки перед использованием переменной на то "а число ли там" - не требуются, всю корректность данных ты проводишь в момент их ввода в программу или по мере требований самого алгоритма.

при динамической типизации, тип одной и той же переменной в общем случае тебе не известен и может меняться уже в процессе исполнения программы, и ты учитываешь это, никто тебя не предупредит о потенциальной ошибке алгоритма по причине несоответствия типа(ты разрабатывая алгоритм предполагал, что в G лежит целое, а пользователь ввёл скажем число с плавающей запятой, или того хуже, строку, или скажем после арифметического действия там вместо целого оказалось число с плавающей запятой, а ты на следующем шаге попытаешься использовать битовые операции...), с другой стороны многими мелочами можно не заморачиваться.

на низком уровне динамическая типизация просто скрывает от программиста, что каждая его переменная, фактически, представляется структурой с полем "тип переменной" и поле "данные"(которые в том числе могут быть указателем на область памяти), и в момент работы под интерпретатором с данными переменных идёт постоянная обработка соответственно полю "тип"(которое в некоторых случаях само может меняться). проблемы тормозов снижают жид компиляция и прочие оптимизации, а также использование готовых библиотечных функций.

Студент, будущий математик, программист, повар и просто фанат гугла  · 6 сент 2018
Все очень просто. Это как разница между гостиницей и частной квартирой.  В квартире живут только те, кто там прописан. Если в ней, скажем, живет семья Сидоровых, то семья Пупкиных, хоть убей, жить там не сможет. При этом в этой квартире может жить Петя Сидоров, потом туда может переехать Гриша Сидоров (иногда они даже могут там жить одновременно - это массив). Это -... Читать далее