LINUX.ORG.RU

Стоит ли в 2017 обмазываться JS'ом и его производными?

 , , , ,


2

3

Устал ждать этого вашего WebAssembly. Неизвестно когда из под флага вылезет (на сайте написано «может Q1 2017, а может и нет»), неизвестно сколько лет будут запиливать threads, GC / DOM integration, Coroutines, JIT и прочее.

TypeScript нормально же выглядит? Статически типизируемый, всё работает уже сегодня, разрабатывается честными людьми из организации, которая не лицемерит.

Ответ на: комментарий от anonymous

Отсутсвует куча г, которую вебпак тянет в свой бандл, в конечном счёте всё читабельное и никакого оверхеда. Минусов не нашёл.

menangen ★★★★★
()
Ответ на: комментарий от anonymous

Флоу выведет какие то типы. Не даст туда сюда нулы гонять. Даст написать аннотации только там где мне нужно. Даст заигнорить ошибку если она не фиксбл в разумные сроки или с текущим тайпчекером. Все это - маст в большой изначально не тс кодобазе. Последние две полезны даже для тс кодобазы: тайпскрипт не может у себя включить strictnulchecks, потому что дурачков это все разом переписывать у них за полгода не нашлось. А у них не так много сорсов.

zz ★★★★
()
Ответ на: комментарий от zz

Флоу выведет какие то типы.

Не выведет.

Даст написать аннотации только там где мне нужно.

Не даст.

Даст заигнорить ошибку если она не фиксбл в разумные сроки или с текущим тайпчекером.

Ллюбая ошибка элементарно игнорится простановкой any в нужном месте (одном).

Последние две полезны даже для тс кодобазы: тайпскрипт не может у себя включить strictnulchecks, потому что дурачков это все разом переписывать у них за полгода не нашлось.

Проблема в том, что в жс коде чуть менее чем везде нуллы протекают (например, если у тебя проект на каком-нибудь ангуляре, то у тебя 90% всех типов будет nullable, по-этому ставить strictnullcheck вообще смысла нет) и весь код надо исправлять. Флоу тут ничего не поменяет - если код не тайпчекается просто потому, что он по факту неправильный, то он и не тайпчекнется, пока ты его не пофиксишь.

anonymous
()
Ответ на: комментарий от ixrws

умей бы js многопоточность
js

Остынь, js/ts/etc это просто скриптовые языки, интерпретатор которых дёргает нативный код. Они не могут уметь или не уметь в многопоточность, это вообще не их задача.

crutch_master ★★★★★
()

Я считаю (хоть и не люблю такие языки), что es/js/ts хороши, когда надо добавить какой-нибудь не слишком жирный код без пересборки. Но хороши они только в паре es <-> native. Для того, чтобы писать что-то, что много считает есть более подходящие инструменты.

crutch_master ★★★★★
()
Ответ на: комментарий от crutch_master

А я и не нагревался, меня вполне устраивает js таким каким какой он есть. Для клея нормальный язык.

ixrws ★★★
()
Ответ на: комментарий от anonymous

Куча г - это я про обертки вебпаковские, которые он пихает в бандл, и код становится просто жуть, ты посмотри в редакторе результат бандла вебпаком и роллапом и сравни сам. Даже browserify и тот, лучше вебпака в этом плане.

menangen ★★★★★
()
Ответ на: комментарий от anonymous

Не даст.

Ну как не даст, даже тс даст если не включать noimplicitany.

Любая ошибка элементарно игнорится простановкой any в нужном месте (одном).

Юнионы каких-нибудь автовыдящихся дженериков не всегда можно так заигнорить.

Проблема в том, что в жс коде чуть менее чем везде нуллы протекают (например, если у тебя проект на каком-нибудь ангуляре, то у тебя 90% всех типов будет nullable, по-этому ставить strictnullcheck вообще смысла нет)

Ну комон, ты объявляешь переменные в X мест, а передаешь их в N*X. Наверное проще проверить один раз там откуда приходят данные.

zz ★★★★
()
Ответ на: комментарий от zz

Ну как не даст, даже тс даст если не включать noimplicitany.

Так ты же хочешь без проверок на нуллы. Без проверок на нуллы - не даст, надо ноннуллабл типы указать (причем они скорее всего будут некорректны).

Юнионы каких-нибудь автовыдящихся дженериков не всегда можно так заигнорить.

Например?

Ну комон, ты объявляешь переменные в X мест, а передаешь их в N*X. Наверное проще проверить один раз там откуда приходят данные.

Данные приходят асинхронно и/или из биндингов. В любой момент там может быть нулл или не нулл.

anonymous
()
Ответ на: комментарий от menangen

Так какая разница чо он там генерит?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.