Определение типов в языках с статической и динамической типизацией

8 сентября, 2021

После нескольких лет наблюдения за Python заскучал по языкам с статической типизацией. Опыт небольшой, школьный курс Turbo Pascal. Но зато там все было четко. А сегодня что, сегодня какая-то анархия. Прям хоть садись и TypeScript изучай. А то что-то начинает раздражать.

Примеры предопределения типов, как это бывает в языках с динамической, ну и соотв. статической, типизациями

python:
d = {}
l = []
s = ''

php:
$a = [];
$s = "";

pascal:
var
a: array[1..9] of integer;
s: string;

js:
var s = "21";
var i = 21;

ts:
var s:string = "21;
var i:number = 21;

Иными словами меня начинает несколько смущать история в ходе которой данные могу заходить в переменную в виде одного типа и потом переопределяться по ходу пьесы в другой тип (языки с динамической типизацией). Это анархия какая-то. Все больше симпатизирую языкам с статической типизацией. В них больше порядка.