У каждого ремесла есть набор инструментов, необходимых для выполнения работы. Особенно это касается разработки программного обеспечения. У Джеффа Безоса есть отличная цитата: «Сначала мы меняем наши инструменты, а потом они меняют нас». Без инструментов разработчики не смогли бы так же эффективно выполнять свою работу.

Однако ключевое различие между JavaScript и TypeScript заключается в проверке типов. После компиляции каждая TypeScript-программа проверяется на соответствие типов данных друг другу.

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

https://www.mqm.org/fox2/av-r02.html
https://www.mqm.org/fox2/av-r4.html
https:/ /www.mqm.org/fox2/gv-f01.html
https://www.mqm.org/fox2/gv-f04.html
https://www.mqm .org/fox2/gv-f3.html
https://www.mqm.org/fox2/gv-fi4.html
https://www.mqm.org/fox2 /video-Австралия-Аргентина-v-en-rug-ont08.html
https://www.mqm.org/fox2/video-Georgia-Fiji-v-en-rug-rc02.html
https://uthscsa.edu/fox4/av-r2.html
https://uthscsa.edu/fox4/av-r4.html
https:/ /uthscsa.edu/fox4/gv-f2.html
https://uthscsa.edu/fox4/gv-fi2.html
https://uthscsa.edu/fox4/video -Австралия-Аргентина-v-en-rug-rc2.html
https://uthscsa.edu/fox4/video-Georgia-Fiji-v-en-rug-ont08.html
https://www.protex.com/rox/av-r01.html
https://www.protex.com/rox/av-r3.html
https:/ /www.mqm.org/rug/Aus-v-Arg01.html
https://www.mqm.org/rug/Aus-v-Arg02.html
https:/ /www.mqm.org/rug/Aus-v-Arg03.html
htt ps://www.mqm.org/rug/Aus-v-Arg04.html
https://uthscsa.edu/zxr/Georgia-v-Fiji01.html
https: //uthscsa.edu/zxr/Georgia-v-Fiji02.html
https://uthscsa.edu/zxr/Georgia-v-Fiji03.html
https://uthscsa. edu/zxr/Georgia-v-Fiji04.html
https://www.mqm.org/cbm/Bv-E04.html
https://www.mqm.org/ cbm/Bv-E05.html
https://www.mqm.org/cbm/Ev-B01.html
https://www.mqm.org/cbm/Ev- B02.html
https://www.mqm.org/cbm/Ev-B03.html
https://www.mqm.org/cbm/Ev-B04.html
https://www.mqm.org/cbm/Ev-B05.html
https://www.mqm.org/cbm/Gv-F3.html
https://www.mqm.org/cbm/Gv-F4.html
https://www.mqm.org/cbm/Gv-F5.html
https:/ /uthscsa.edu/bov/Bv-E01.html
https://uthscsa.edu/bov/Bv-E02.html
https://uthscsa.edu/bov/Bv -E03.html
https://uthscsa.edu/bov/Gv-F1.html
https://uthscsa.edu/bov/Gv-F2.html

Около десяти лет назад инженеры-программисты Microsoft заметили, что JavaScript больше не отвечает всем их потребностям. С одной стороны, язык быстро развивался и добавлял чрезвычайно интересные новые функции. С другой стороны, ни одна из фич в пайплайне не могла решить одну фундаментальную проблему: JavaScript отлично подходил для небольших программ, но писать с его помощью целые приложения было затруднительно.

Многие специалисты по данным имеют дело с асинхронным и параллельным программированием. Возможно, вы уже рассматриваете возможность написания своего следующего проекта на TypeScript, а не на Python. Хорошая ли это идея, зависит от многих других факторов.
Конечно, я не говорю, что JavaScript всегда великолепен или что статическая типизация — всегда лучший способ ведения дел. Но для создания больших приложений в стиле Microsoft это работает очень хорошо.
Это оставляет вопросы о параллельном программировании и асинхронном программировании. Несмотря на то, что вы можете выполнять обе эти вещи на обоих языках, есть большая разница: в Python вам нужно использовать определенные библиотеки для этой задачи. В TypeScript все библиотеки асинхронны от ядра. А поскольку последний по умолчанию немного более функционален, зачастую параллельное программирование немного проще.

С другой стороны, Python также добавляет все больше и больше возможностей функционального программирования. А когда дело доходит до науки о данных, машинного обучения и многого другого, Python находится на переднем крае.

Подобно Python, JavaScript компилируется во время выполнения, а это означает, что вам нужно запустить код для его отладки. TypeScript, с другой стороны, компилируется. Это обеспечивает дополнительный уровень безопасности, поскольку программисты получают информацию о возможных ошибках до начала выполнения. В некомпилируемых языках, таких как Python или JavaScript, поиск ошибок может занять довольно много времени, как только вы поймете, что ваш код ведет себя не так, как ожидалось.

Такие функции, как обобщения и статическая типизация, упрощают функциональное программирование на TypeScript, чем на Python. Это может быть преимуществом, поскольку спрос на функциональный код растет из-за развития науки о данных, параллельного программирования, асинхронного программирования и многого другого.

Несмотря на его молодой возраст, есть области, где TypeScript неизбежен. Это добавляет ему популярности. Например, когда Google объявил, что Angular.js будет работать с TypeScript в 2016 году, количество тегов в StackOverflow резко возросло. Асинхронное программирование чрезвычайно полезно, когда вам нужно выполнять несколько операций параллельно или когда вы имеете дело с вводом-выводом. операции, которые не должны прерывать фоновые процессы. Асинхронное программирование возможно в Python и Javascript, но в TypeScript оно встроено из ядра. Что сделало JavaScript популярным в те дни, так это то, что он работает везде. Вы можете запустить его на сервере или в браузере или где угодно. Вы компилируете его один раз, и он работает везде. Когда это впервые появилось, это казалось почти волшебством.