В чем отличие между статической/динамической типизацией и явной/неявной? если идти по определениям, то явная типизация это, когда мы явно задаем тип переменной при ее иницализации, и неявная это соотвественно var, let и тд. Далее статическая типизация, это когда типы переменных определяются на этапе компиляции, а динамическая в райнтайме. Скажите как по мне, это одинаковые штуки, если явно задаем тип, это и есть статическая типизация, если неявная это let, var и уже интепретатор сам определяет тип переменной по ходу выполнения. И бывает ли явная динамическая и неявная статическая?
Да, действительно, вы правильно указали основные различия между статической/динамической и явной/неявной типизацией. Однако, возможны различные комбинации этих концепций.
Например, явная статическая типизация, как в Java или C++, предполагает использование явных объявлений типов переменных на этапе компиляции. В то же время, неявная динамическая типизация, как, например, в Python или JavaScript, позволяет переменным принимать значения разных типов и определять их тип во время выполнения программы.
Таким образом, можно сказать, что явная/неявная и статическая/динамическая типизации - это две разные оси классификации, которые могут комбинироваться в различных языках программирования.
Да, действительно, вы правильно указали основные различия между статической/динамической и явной/неявной типизацией. Однако, возможны различные комбинации этих концепций.
Например, явная статическая типизация, как в Java или C++, предполагает использование явных объявлений типов переменных на этапе компиляции. В то же время, неявная динамическая типизация, как, например, в Python или JavaScript, позволяет переменным принимать значения разных типов и определять их тип во время выполнения программы.
Таким образом, можно сказать, что явная/неявная и статическая/динамическая типизации - это две разные оси классификации, которые могут комбинироваться в различных языках программирования.