ECMAScript и все-все-все

Материал из YourcmcWiki
Версия от 00:11, 10 октября 2016; VitaliyFilippov (обсуждение | вклад) (Новая страница: «<slideshow title="" style="custis" scaled="true" font="Segoe UI, cursive" headingmark="@@" centermark="%%" incmark="++" subfooter="ECMAScript и все-все-в…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Автор

Виталий Филиппов
Дополнительный нижний колонтитул

ECMAScript и все-все-все

ECMAScript - ассемблер будущего,
бэкенд, фронтенд и все-все-все @@ %%

(Об эволюции и фичах JavaScript)

Виталий Филиппов, CUSTIS

О своих предпочтениях @@

«И давно вы занимаетесь программизмом?»

  • Начинал лет в 11 с C/C++ (Turbo C / C++Builder)
  • Потом открыл для себя Linux, свободный софт...
    главное читать логи :)
  • ...LAMP (Perl/PHP), HTML и JS
  • Теперь полюбил серверный JS (nodejs)

О чём доклад? @@

  • Почему JS?
  • История JavaScript
  • Обзор языка, производительность
  • Обзор выдумок
    (фреймворки, системы сборки и т.п)
  • Немного демо

Что такое JS? @@

JavaScriptECMAScript

  • Скриптота! (динамический язык)
  • Прототипы, замыкания, колбэки, нет многопоточности
  • ES - язык. А ещё есть окружение (DOM, BOM)
  • Куча новых фич (ES2015-2016-2017)
  • Браузерный - Chrome (V8), Firefox (SpiderMonkey) и даже IE (ChakraCore)
  • Серверный - node.js (V8)

Скриптота vs типизация @@

script_kiddies_demotivator.jpeg

Но тема-то серьёзная @@

  • ХОЛИВАР!!!
  • Скриптота развивается - много популярных языков
  • Статические... ну, что-то есть... D, Rust, Go, Vala, Swift...
    но кто на них пишет-то?

Все хотят одного @@

  • Типизация - не необходимость, а лишь один из способов проверки
    ещё есть Rust = borrow checker
    ещё есть функциональщина = по сути "purity" checker

414874_paranojya.jpg

  • auto уже даже в C++
  • тайпчекер (частично) уже даже в PHP (+ Hack)

Почему JS? @@

  • Нейтральный C-подобный синтаксис
  • Быстрые интерпретаторы
  • Событийная машина
  • Мощно развивается

Синтаксис @@

Perl @@

PHP @@

Python @@

Ruby @@

Go @@

Erlang @@

OCaml O_O @@

JS @@