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)
  • Пробуйте все, даже Го
  • Не смотрите на синтаксис, смотрите на фичи и подходы - они скоро мигрируют к вам

Спасибо

TypeScript as future model of the mainstream programming languages

By Yuriy Dadichin

TypeScript as future model of the mainstream programming languages

In my tech talk I'm going to share my thoughts about the programming languages features sharing and how features append in new language versions. As example of feature-eater I'm going to speak about the typescript, since it just take everything from everyone. In conclusion I'll share my vision on the programming languages learning approach

  • 991