А ещё что-то принципиально важное есть отличие? У Python вместо npm есть pip. А если мне будет нужна типизация я возьму Java
У pip есть много проблем, которых нет в npm, в том числе использование двух библиотек которые зависят от разных версий одного пакета, ну и py2/py3 раскол. TS же это не просто типизация, это типизация поверх JS. То есть можно брать и использовать её там где это нужно а не везде. Так же можно делать определения для типов в библиотеках, которые уже написаны без TS. Просто указать, что на выходе есть такие-то типы, а как там внутри не волнует. Можно делать часть просектов с типами, а часть без, это очень гибко и удобно. Ну и приятный бонус, это перенос кода в браузер без каких либо проблем. Вообще я сторонник того, что почти все (новые на текущий момент) нужно писать на asm + c + c#. А js считаю временным злом, ввиду еще не полного совершенства dotnet. Остальные технологии надо отправить на свалку истории, в том числе и java. Уже даже смешно станоситься с тех, кто стратует веб-приложения на java в последние 2 года.