питон широко использует динамическое связывание переменных, которое никуда не девается в откомпилированном коде
https://habr.com/ru/post/481782/
Правильно ли я понимаю, что тип переменной хранится в рантайме рядом с самой переменной, и используется для выбора одной из функций из нескольких одинаковых по назначению, отличающихся только типами (размерами) аргументов?
«A binding is the association of a variable name with the variable entity, for example " x refers to the variable declared with class x "»
https://stackoverflow.com/questions/50898687/is-a-variable-declaration-the-same-as-a-variables-binding
Ещё мне непонятно, зачем нужно ключевое слово var в C#. Да, исторические причины, привычки, то-сё.
Но если проектировать синтаксис языка начисто, то:
во-первых, тип переменных заранее объявлять не нужно (он выводится);
во-вторых, тип переменной можно сделать зависимым от контекста,
для того чтобы можно было в двух последовательных строчках написать:
data=1; // целое
data="lala"; // строка
Язык при этом останется типизированным, потому что
компилятор будут генерировать разный код в зависимости от типа переменной в месте использования.
Рантайм не будет хранить тип переменной, потому что об этом будет заботится компилятор.
Что со мной не так?