Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 February 26

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Евгений Войтенко
буду благодарен за статью от вас или где еще, с фактами в чем минусы ts.
Для меня ТС - утилита для автокомплита в вскоде. Тайпсейфти зависит от тсконфига и может меняться от проекта к проекту.
Транспайлить что-то под ие6 мне не нужно. Тайпсейфти - зависит от конфига и не сильно надежно. Куча недоработок и нехватка утилитарных типов.
источник

ЕВ

Евгений Войтенко... in NodeUA - JavaScript and Node.js in Ukraine
Illya Klymov
вот только cacheCopy это не Map
Так у вас в этом примере будет тоже самое и на js ? Верно?
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
Евгений Войтенко
Так у вас в этом примере будет тоже самое и на js ? Верно?
Мы сейчас говорим о проверке типов и какие гарантии она даёт (крайне слабые)
источник

VS

Vlad Sobenko in NodeUA - JavaScript and Node.js in Ukraine
Illya Klymov
Когда я пишу хак - я осознанно отступаю от языка (тот же unsafe в Rust)
Я сам сталкивался с болью в тс. Но вы подаёте его, как абсолютное зло. С этим я полностью не согласен. И уверен, что польза от него намного превосходит вред.
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
когда я пишу на языке "без типизации" (я в курсе что js не "без типизации") - я это осознаю и принимаю меры

когда я пишу "со строгой типизацией" (количество кавычек в которые хочется одеть строгую) - я хочу быть уверен что там где компилятор УВЕРЕН в корректности - всё действительно так
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
я хочу чтобы места где компилятор не уверен в корректности были до меня "донесены"
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
В итоге "тайпскрипт-инженеры" пишут код, и говорят - он корректен, потому что мы проверили типы на входе (от условного бэка), дальше нам всё гарантирует ТС
источник

VS

Vlad Sobenko in NodeUA - JavaScript and Node.js in Ukraine
Illya Klymov
когда я пишу на языке "без типизации" (я в курсе что js не "без типизации") - я это осознаю и принимаю меры

когда я пишу "со строгой типизацией" (количество кавычек в которые хочется одеть строгую) - я хочу быть уверен что там где компилятор УВЕРЕН в корректности - всё действительно так
Да хотелось бы.. Но имеем, что имеем. И я бы лучше выбрал бы упомянутый вами ризон, но работу на него почти не найти. На тс реально.
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
Это не мешает мне вести просветительскую работу. что а) не стоит полагаться на тайпскрипт б) стоит понимать что система типов в ТС крайне слаба и нет смысла в неё инвестировать значительное время - надёжности это добавит непропорционально затраченному времени
источник

VS

Vlad Sobenko in NodeUA - JavaScript and Node.js in Ukraine
Illya Klymov
В итоге "тайпскрипт-инженеры" пишут код, и говорят - он корректен, потому что мы проверили типы на входе (от условного бэка), дальше нам всё гарантирует ТС
Так в других языках тоже типы проверяются на входе. Просто проверку типа генерит сам компилятор и она надежная.
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
Я сейчас темы проверки типов на входе не касаюсь
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
исключительно вывода типов )
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
как бизнесмен я мега доволен тайпскриптом, благодаря ему (без иронии) у меня пачка запросов на консалтинг )
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
а если брать текущий календарный год, так вообще стоимость часа консультации на ТС проектах раз в 10 больше )
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
но как инженер я им крайне не доволен
источник

VS

Vlad Sobenko in NodeUA - JavaScript and Node.js in Ukraine
Illya Klymov
Это не мешает мне вести просветительскую работу. что а) не стоит полагаться на тайпскрипт б) стоит понимать что система типов в ТС крайне слаба и нет смысла в неё инвестировать значительное время - надёжности это добавит непропорционально затраченному времени
Хз, пока не юзал в комерции ts, как и ноду. Но до этого был опыт с php.
Там не было тулзов для стат анализа нормальных, и постоянно вылезали ошибки контрактов и типов. Добавили тулу для стат анализа psalm, прикрутили в CI. Ошибок просто стало заметно меньше.
А psalm дает меньше гарантий, чем ts даже, так как нет компиляции, нужно запусткать проверку только.
источник

ЕВ

Евгений Войтенко... in NodeUA - JavaScript and Node.js in Ukraine
Во время разработки IDE подсвечивает что chace - это мапа. Как поломать?
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
Евгений Войтенко
Во время разработки IDE подсвечивает что chace - это мапа. Как поломать?
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
вот
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
тайпскрипт должен был ругнуться на 11 строку (учтите что это не один файл а куча разных)
источник