TypeScript as the future model of the mainstream programming languages

Юрий Дадычин

FE DM, Levi9

Disclaimer

ИМХО Microsoft это

А значит и TS

Но, но, вышел Angular 2, а он это...

TypeScript

На TS тип удобно?

Только же декораторы и использовали

 

В общем придется с TS дружить - начало бомбить

Немного истории

Я начал с РНР 5.0

  • Быстрая разработка 
  • Романтика простоты и шарм несовершенства  
  • Он таким задумывался
  • Хуяк-хуяк и в продакшн

Мне нравилось

Помните были холливары? "Твой язык такой жирный... что java"

Хотелось отстаивать свой выбор

РНР стал таким java/.NET

  • Со своими Симфони и Доктриной
  • Нейм-спейсами(что удобно)
  • потом и генераторы/итераторы подтянулись

Да, РНР стал лучше - но он уже стал другим.

Нужна была новая религия

Попробовал Python

Так и не понял что использовать 2.х или 3.х

Тут я вспомнил про молодой JS

  • Не строгая типизация
  • Экзотические фичи(кложуры, рантайм-контексты, однопоточный но асинхронный и т.п.)
  • Работает в браузере и консоли 
  • Набирал популярность 
  • Прототипы
  • Хипста

И тут, пришел ES6

  • Импорты очень похожие на питонические
  • гернераторы/итераторы очень похожие на питонические(а какие же ещё)
  • Map's, Set's - привет от java
  • "Классические" - классы
  • и т.д.

Тем временем

  • Лямбды мигрировали в РНР и java(с .Net не пересекаюсь)
  • Кложуры тоже по всем расплылись
  • "Остальные параметры" и параметры по умолчанию тоже у всех

ES7

async/await - что за светлая идея.

Хэээй...

Мир пошатнулся

  • Нет смысла "любить" конкретный язык(JS, Java, .Net) - через некоторое время отличие будет только в синтаксисе
  • Да, да, всякая экзотика вроде Go ещё со своими заморочками - но поверьте, это пока они не мейнстрим
  • Потом комьюнити внесет фичь

Прозрение продолжалось

  • Все фичи разносятся по языкам вместе с новыми членами комьюнити 
  • Существенная разница только в платформе

Теперь когда все языки на одно лицо, TS не так уж и мерзок

Посмотрел по новому

  • Импорты как ES6
  • Классы - как у всех
  • Стрелочные функции - ОК
  • и т.д. и т.п.

Так все-таки TS новый язык? 

  • НЕТ
  • НИЧЕГО НОВОГО
  • все что где-то было - все там

Так что там с будущим?

  • Спокойно, всегда будет 100500 языков
  • Несколько С-образных в мейнстриме
  • И несколько функциональных в параллельном хипстерком(будет другой лейбл) мейнстриме

НО

  • Все фичи будут одинаковые
  • Разница +- скобки

Как с этим жить?

  • Не стоит зацикливаться на языке(тип я JS developer)
  • Пробуйте все, даже Го
  • Не смотрите на синтаксис, смотрите на фичи и подходы - они скоро мигрируют к вам

Спасибо

Made with Slides.com