Mike
Стесняюсь спросить - тут все так хейтят МС потому что с ним работали или хейтят просто потому что это модно?
да, стильно, модно. Я уже год только на TS и только рад. И стабильно посмотриваю на flow и для моих нужд ts рулит
Андрей
в какую сторону?
В положительную. Как только понял, что они нормальный tree shaking сделать могут.
M.Dee
все начинали с него)))
Андрей
Alex
мс хейтят уже лет 20-25 и есть за что
За что ж? За то, что ОС для домозхозяек смогли сделать*?
Андрей
А в чём тут достижение
Ну, с js все хуже.
Maksim
за 95ю
95-то норм была, вот этот выкидыш "Me"...
Дима
У нас какой-то разный жс
Дима
Причём очень сильно разный
Андрей
Возможно. Просто я хочу дождаться, когда уже не просто лишние пакеты будут выкидывать, а прямо методы, лишние исполняемые ветки и т.п.
Дима
ЭЭЭ
Дима
Ты что то делаешь сильно не так
Дима
Прям совсем не так
Андрей
Вполне возможно.
Дима
Я только что выкинул из проекта 4,5 мегабайт кода, причём заметил это только после того как вебпак демонстративно отказался слушать обновления неиспользуемого кода)
Андрей
Я только что выкинул из проекта 4,5 мегабайт кода, причём заметил это только после того как вебпак демонстративно отказался слушать обновления неиспользуемого кода)
Не спорю, я криворукий, но у меня решает проект из 15 компонентов и пары маленьких либо весит 500 кило без гзипа. Надо, конечно, копать что там, но все же...
Андрей
Хотелось бы, чтобы копать не надо было.
Дима
Просто tree-shaking — это не минификация, а возможность для него. Перечитай ещё раз После три шейкинга размер бандла не уменьшится ни на байт
Дима
Хотелось бы, чтобы копать не надо было.
Ну с такой мотивацией можно выбирать приоритеты подбрасывая монетку, так же объективно будет
Дима
Я выбираю ts потому что там есть const Я выбираю чисты жс потому что там есть классы Я выбираю ts потому что там есть tree shaking Ну ты понел
Дима
Ну меня просто удивляет такая мотивация
Дима
https://github.com/danvk/source-map-explorer Тут даже копать не надо)
Андрей
Ну меня просто удивляет такая мотивация
Я нашел в тс плюс. Что удивительного?
Дима
Я нашел в тс плюс. Что удивительного?
Ну я привёл аналогии твоему плюсу. Это максимально странный плюс, это просто не так, вообще
Anonymous
так так так
Anonymous
что за плюс
Anonymous
ts vs flow моя любимая дискуссия
Дима
ts vs flow моя любимая дискуссия
Да тут tree shaking против здравого смысла
Дима
Жс против тряски дерева, пчёлы против мёда
Дима
closure compiler против минификации
Anonymous
tree shaking не фича одного только ts
Дима
да чем же он хуже? там даже енумы есть
@skycoder тут вон интересуются чем хуже)
Anonymous
Так, ну давайте по полочкам в TS действительно есть enum, interface Также отмечу, что в TS не надо тянуть пять семь babel плагинов, это один модуль, легче поддержка TS как и flow умеет в вывод типов. Мои знакомые при разработке говорят, что при переводе проекта на TS поддержка IDE и вообще разработка приятнее
Anonymous
Flow Прежде всего, это .js Это нативное развитие языка, я думаю что комитет стандартизации придет в будущем к фичам flow, нежели к TS. В этом плане оставаясь в flow, мы идем в ногу с javascript сообществом, в то время как TS немного обособленно стоит в стороне. Это аргумент в сторону экосистемы. В сторону коммьюнити. Далее У Flow _продвинутый_ вывод типов. И если вот прям для проекта специфично нужно - придется взять его
Anonymous
Вроде ничего не упустил?
Anonymous
Как async\await вошли, так и типы войдут Как class вошел, так и типы войдут Как декораторы вошли так и типы войдут Как const let зашел, так и типы зайдут
Maksim
она не для рантайма нужна
Anonymous
Приехали class это синтаксический сахар а не рантайм let const статическая семантика а не рантайм async await синтаксический сахар а не рантайм декораторы - синтаксический сахар а не рантайм
Maksim
Приехали class это синтаксический сахар а не рантайм let const статическая семантика а не рантайм async await синтаксический сахар а не рантайм декораторы - синтаксический сахар а не рантайм
мне кажется ты не понимаешь о чем я, flow это не про сахар, а про статическую типизацию, мой вопрос в том как статическая типизация может войти в стандарт js?
Anonymous
Также как вошли все предыдущие улучшения :)
Maksim
пример можно, как как ты лично это видишь?
Anonymous
Так как это делает TS и Flow Синтаксис у них одинаковый, разница в выводе типов и нескольких нюансах. Я утверждаю что комитет вероятнее всего пойдет по пути Flow
Костя
а как заставить это работать в рантайме?
Костя
чтобы и без типов (старые браузеры) и с типами работало
Anonymous
Вы сейчас серьезно?
Anonymous
ES8 как бы не работает в старых браузерах Для этого нужен транспайлер Как и ES7, как и ES6
Maksim
Вы сейчас серьезно?
если это такие глупые вопросы, то не составит труда на них ответить, правильно?
Anonymous
Не составит
Anonymous
чтобы и без типов (старые браузеры) и с типами работало
На этот вопрос я ответил? Новые стандарты JS не работают в старых браузерах без транспиляции
Anonymous
interface, package — это не просто так зарезервированные слова в js
По порядку на все отвечаю, сейчас разбираемся с вопросом "чтобы и без типов (старые браузеры) и с типами работало"
Anonymous
Сейчас async await и прочие фичи тоже не работают в старых браузерах
Anonymous
Что логично, стандарт появляется, новые браузеры его реализовывают, для старых делают полифиллы или компиляцию в старый стандарт
Anonymous
Тут все понятно?
Maksim
interface, package — это не просто так зарезервированные слова в js
но скорее всего js и java interface будут иметь мало общего
Дима
Тут и class имеет мало общего
Дима
И слава богу
Anonymous
Раз с старыми браузерами понятно, идем дальше
Maksim
Тут все понятно?
меня интересует статическая типизация, как она будет реализована?
Anonymous
как это возможно, я спрашиваю еще раз?
В чем конкретно проблема? Стандарт в 20xx году встает и говорит - теперь можно писать x: number, и по стандарту надо при парсинге при несоответствии типов кидать ошибку. Так как это например происходит, если написать билебирду в js файле
Дима
Ничего нового
Anonymous
Так же как сейчас в flow
Да. Стандарт просто принимает то что уже есть в flow
Maksim
в смысле, срать в консоль в рантайме?