День рождения 3 года сценарий: День рождения 3 года: конкурсы и игры для самых маленьких | Снова Праздник!

Десять лет TypeScript — TypeScript

Даниэль Розенвассер

1 октября 2022 г. 6 9

Сегодня день рождения TypeScript!

Но этот день рождения особенный — 10 лет назад, 1 октября 2012 года, TypeScript впервые был представлен общественности.

Первые дни

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

Но у этих функций есть свои достоинства, верно? Проверка типов, обнаружение ошибок еще до того, как вы сохраните файл, и использование богатых функций редактора, таких как завершение кода, навигация и рефакторинг? Мы знали, что у команд внутри и за пределами нашей компании возникают огромные проблемы со сложными кодовыми базами JavaScript, и мы знали, что JavaScript будет использоваться везде . Итак, кто не хотел бы, чтобы мощные инструменты помогли написать это? У команды было видение того, каким может быть TypeScript, и на самом деле, если вы оглянетесь на наш первый анонс, ценностное предложение было в основном таким же, как и сегодня!

К счастью, это видение нашло отклик у других. Вначале мы создали небольшое, но трудолюбивое и полное энтузиазма сообщество, готовое экспериментировать и переживать опыт, пока мы все еще повторяли, учились и создавали то, что еще даже не достигло версии 1.0. Мы видели новые захватывающие усилия, такие как проект DefinitelyTyped, новые члены сообщества, помогающие со StackOverflow и нашим средством отслеживания проблем, авторы, пишущие книги и учебные пособия для языка, и новые библиотеки, делающие ставку на TypeScript. Эти терпеливые, трудолюбивые и энергичные разработчики заложили основу для роста сообщества TypeScript.

Тем не менее, большинство разработчиков JavaScript не знали TypeScript. Так как же эта команда собиралась убедить разработчиков JavaScript в важности статических типов в языке с динамической типизацией? «Типы против отсутствия типов» были… спорной темой, и это восходит к

по меньшей мере полувеку в мире программирования.

Но мы действительно хотели создать потрясающие инструменты JavaScript с помощью типов.

Можно ли это сделать?

Выдержав испытание временем

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

На самом деле удивительно, насколько хорошо соблюдаются цели разработки TypeScript.

Например, некоторые цели проектирования, такие как

  • «Не накладывать накладные расходы во время выполнения на создаваемые программы».
  • «Соответствовать текущим и будущим предложениям ECMAScript».
  • «Сохранить поведение всего кода JavaScript во время выполнения».
  • «Избегайте добавления синтаксиса уровня выражений.»
  • «Используйте согласованную, полностью стираемую систему структурных типов».

на самом деле указывают на то, что TypeScript просто является средством проверки типов для JavaScript, добавляя только синтаксис, необходимый для проверки типов.

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

Но эти подходы не имеют смысла, когда вы пытаетесь строить и интегрировать JavaScript. Нетипизированный JavaScript должен был работать так же при вставке в файл TypeScript, а преобразование TypeScript в JavaScript должно было быть таким же простым, как удаление типов. Сначала нам потребовалось несколько неверных шагов, чтобы понять это, но это была возможность для обучения, и команда избегала синтаксиса времени выполнения большую часть 10 лет. В настоящее время, когда в TypeScript отсутствует полезная функция времени выполнения, мы не добавляем ее просто в TypeScript. Мы работаем в рамках TC39(орган стандартов JavaScript), чтобы направлять или продвигать новые функции, чтобы

все разработчиков JavaScript могли извлечь из них пользу.

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

Много раз TypeScript получал запросы на роль линтера, упаковщика, оптимизатора/минификатора, оркестратора сборки, упаковщика (снова) и многого другого. Линии не всегда четко определены, особенно когда TypeScript уже делает

много в качестве средства проверки типов, компилятора и языковой службы. В экосистеме JavaScript, где лучшие практики продолжали развиваться на протяжении многих лет, было невероятно важно, чтобы TypeScript оставался гибким и гибким, чтобы соответствовать различным потребностям. Учитывая все разные сборщики, разные среды выполнения, разные оркестраторы сборки и разные линтеры за последние годы, было крайне важно, чтобы TypeScript хорошо интегрировался с каждым из них, не пытаясь вытеснить какой-либо из них. Для нас было честью сотрудничать с авторами инструментов в этой области, поскольку все мы работаем над тем, чтобы сделать TypeScript и JavaScript проще в использовании.

Назад к сегодняшнему дню

Сегодня TypeScript — это процветающий язык, которым пользуются миллионы разработчиков по всему миру. В опросах и языковых рейтингах, таких как Ежегодный опрос StackOverflow, Octoverse Report GitHub и Языковой рейтинг Redmonk, TypeScript неизменно входит в 10 (если не в 5) самых используемых и любимых языков.

Конечно, контекст важен — использование TypeScript коренным образом переплетается с JavaScript, и каждый разработчик TypeScript также является разработчиком JavaScript. К счастью, даже когда спрашиваешь разработчиков JavaScript, используют ли они TypeScript и нравится ли им это — как в опросе о состоянии JS — ответ звучит громко «да»!

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

спасибо . Вы были частью создания чего-то великого. Мы надеемся, что следующие 10 лет TypeScript будет радовать вас!

404 · MPL

Уведомление : Неопределенное смещение: 0 в /var/www/vhosts/mpl. org/htdocs/assets/common.php в сети 350

Locations Close 9007 Закрыто на Рождество и Новый год…

с пятницы, 23 декабря, по понедельник, 26 декабря, и с пятницы, 30 декабря, по понедельник, 2 января 2023 г.

Время работы и местонахождение публичной библиотеки Милуоки Закрыть

  • Аткинсон 1960 У. Аткинсон авеню.
    часов Сегодня: 9:00 — 17:00

    Информация о филиале »
  • вид на залив 2566 С. Кинникинник пр.
    часов Сегодня: 9:00 — 17:00

    Информация о филиале »
  • Капитолий 3969 Н. 74-я улица
    часов Сегодня: 9:00 — 17:00

    Информация о филиале »
  • Центральная улица 2727 W. Fond du Lac Ave.
    часов Сегодня: 9:00 — 17:00

    Информация о филиале »
  • Центральный 814 В. Висконсин авеню.

    часов Сегодня: 9:00 — 17:00

    Информация о филиале »
  • Центральный подъезд 814 В. Висконсин авеню.
    часов Сегодня: 9:00 — 17:00

    Информация о филиале »
  • Восток 2320 Н. Крамер ул.
    часов Сегодня: 9:00 — 17:00

    Информация о филиале »
  • Хорошая надежда 7715 В. Дорога Гуд-Хоуп
    часов Сегодня: 9:00 — 17:00

    Информация о филиале »
  • Мартин Лютер Кинг 310 В. Саранча ул.
    Часов Сегодня: 9:00 — 17:00

    Информация о филиале »
  • Митчелл-стрит 906 У. Исторический Митчелл-Стрит.
    часов Сегодня: 9:00 — 17:00

    Информация о филиале »
  • Типпеканоэ 3912 С. Хауэлл Авеню.
    часов Сегодня: 9AM — 5 PM

    Информация о филиале »
  • Виллар Сквер 5190 Н. 35-я улица
    часов Сегодня: 9:00 — 17:00

    Информация о филиале »
  • Вашингтон Парк 2121 бульвар Н. Шермана.
    часов Сегодня: 9:00 — 17:00

    Информация о филиале »
  • Заблоки 3501 В.