Re[24]: Поругайте TypeScript/node.js
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.06.22 11:14
Оценка:
Здравствуйте, ·, Вы писали:

P>>В С# такое добавили спустя лет 10. В джаву — все 20. В тс это появилось спустя 10 лет.

·>В джаву это добавили с версии 1.5, в 2004г. Яве было 8 лет. Класс Collection появился с 1.2, в 1998г. Откуда ты насчитал 20, неясно.

А разве in, out добавили тогда же?

>>>Ок, ещё лет 5 и язык станет юзабельным сам по себе, а не просто как улучшатель яваскрита, как меньшее зло.

P>>Язык никогда не был улучшателем жээса. Улучшатели — это Flow, Coffee и подобные вещи. Ни один из улучшателей не взлетел толком.
P>>Идея Тайпскрипта — типизировать то, что ты пишешь в жээсе.
·>Типизация — не цель. Цель писать более строгий код, чтобы по куску кода можно было понять что он может делать, а что не может. С дырявой системой типов эта цель не достигается.

Ну ты же пишешь на джаве

P>>>>Собственно, подхов в тайпскрипте это не про защиту всего подряд, т.е. исправление жээса, а наоброт, подбор под конкретные задачи.

P>>·>Ну собственно о чём и речь в топике. Как исправлятель js для браузеров оно годится, а тащить такое в бэкенд — так себе.
P>>Похоже ты не читаешь. ТС ничего не улучшает и не исправляет. Все, что ты делал в жээсе, будет и в тс, 1 в 1.
·>Если в тс писать как в жс, то неясно в чём по-твоему выгода-то?

readonly в любом случае крайне хилая фича. Хочешь анально всё огораживать — используй проперти с геттерами, freeze, прокси и тд.

Выгода типизации не в том, что ты анально огораживаешь или интелисенсом пользуешься, а в том, что можешь использовать другой подход к проектированию, другие инструменты. И с этим всё в порядке.

P>>Именно для бакенда тс подходит лучше, т.к. фронт в силу ряда причин чаще пишут на жээсе. Для бакенда — т.к. там приложения как правило бОльше и сложнее.

·>Лучше, чем js — согласен. Но хуже чем десяток других яп.

Когда у тебя есть еще и фронтенд, "другие яп" автоматически означает "хуже"

·>Более того, разговор начался с того, что ts втихую readonly у поля теряет. Ты почему-то на обсуждение гереников и коллекций переключился.


Пусть теряет. Это фича не настолько востребована, как ты думаешь. Кто тебе мешает зайти и глянуть, сколько до неё интереса?
Она протыкается сотней различных способов.
Идея в ТС совсем не в том, что бы писать код который устойчив к попыткам проткнуть систему типов. Такой цели не ставилось. ЯП которые пошли по этому пути, слились.
Re[18]: Поругайте TypeScript/node.js
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.06.22 11:19
Оценка:
Здравствуйте, ·, Вы писали:

P>>Еще как позволяют. Привел же пример и ты его видел.

·>В твоём примере ты нарочно отключил проверку типов, и компилятор тебе об этом сообщит. Вот ведь действительно удивительно, что если отключить проверку типов, то проверка типов отключается! Кто бы мог подумать!

Я ничего не отключал, разуй глаза.

P>> Собственно о том и речь — все языки кроме какого Хаскеля позволяют легко проткнуть систему типов, без особых заморочек.

·>И хаскель ты не знаешь: https://hackage.haskell.org/package/base-4.8.0.0/docs/Unsafe-Coerce.html

Читаем вместе "без особых заморочек". Зачем ты приводишь как пример unsafe? Эдак у тебя все язык станут плохими.

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


Я тебе и говорю — таким свойством обладают только пару академических языков, в числе которых Хаскель. В остальных "проткнуть" можно мимоходом, не заметив этого.
Отредактировано 28.06.2022 11:27 Pauel . Предыдущая версия .
Re[25]: Поругайте TypeScript/node.js
От: · Великобритания  
Дата: 28.06.22 12:27
Оценка:
Здравствуйте, Pauel, Вы писали:

P>·>В джаву это добавили с версии 1.5, в 2004г. Яве было 8 лет. Класс Collection появился с 1.2, в 1998г. Откуда ты насчитал 20, неясно.

P>А разве in, out добавили тогда же?
Там не in/out а extends/super.

P>>>Язык никогда не был улучшателем жээса. Улучшатели — это Flow, Coffee и подобные вещи. Ни один из улучшателей не взлетел толком.

P>>>Идея Тайпскрипта — типизировать то, что ты пишешь в жээсе.
P>·>Типизация — не цель. Цель писать более строгий код, чтобы по куску кода можно было понять что он может делать, а что не может. С дырявой системой типов эта цель не достигается.
P>Ну ты же пишешь на джаве
Так там дыр нет.

P>>>·>Ну собственно о чём и речь в топике. Как исправлятель js для браузеров оно годится, а тащить такое в бэкенд — так себе.

P>>>Похоже ты не читаешь. ТС ничего не улучшает и не исправляет. Все, что ты делал в жээсе, будет и в тс, 1 в 1.
P>·>Если в тс писать как в жс, то неясно в чём по-твоему выгода-то?
P>readonly в любом случае крайне хилая фича. Хочешь анально всё огораживать — используй проперти с геттерами, freeze, прокси и тд.
Только это не относится к типизации.

P>Выгода типизации не в том, что ты анально огораживаешь или интелисенсом пользуешься, а в том, что можешь использовать другой подход к проектированию, другие инструменты. И с этим всё в порядке.

Так ты можешь использовать другой подход именно потому что неправильный код анально огораживается. Т.е. компилятор ищет ошибки в проектировании сам, автоматически. А иначе... тебе же никто не мешает использовать какой хошь подход к проектированию в чистом js, да хоть в brainfuck.

P>>>Именно для бакенда тс подходит лучше, т.к. фронт в силу ряда причин чаще пишут на жээсе. Для бакенда — т.к. там приложения как правило бОльше и сложнее.

P>·>Лучше, чем js — согласен. Но хуже чем десяток других яп.
P>Когда у тебя есть еще и фронтенд, "другие яп" автоматически означает "хуже"
Ок... Если у тебя есть только фронтенд разработчики, которые ничего кроме js/ts не знают и знать не хотят, то да.

P>·>Более того, разговор начался с того, что ts втихую readonly у поля теряет. Ты почему-то на обсуждение гереников и коллекций переключился.

P>Пусть теряет. Это фича не настолько востребована, как ты думаешь. Кто тебе мешает зайти и глянуть, сколько до неё интереса?
Это называется безалаберность. Добавили кучу фич, шоб было и выглядело круто, а толку никакого.

P>Она протыкается сотней различных способов.

P>Идея в ТС совсем не в том, что бы писать код который устойчив к попыткам проткнуть систему типов. Такой цели не ставилось. ЯП которые пошли по этому пути, слились.
Проблема в том, что у меня не было попытки проткнуть, дыра уже есть — несовместимые типы молча приводятся.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[5]: Поругайте TypeScript/node.js
От: Shtole  
Дата: 28.06.22 12:39
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>>>С чего ты вообще взял, что кто-то протёк? Ты закрыл страницы и память не вернулась?


S>>Во-первых, помог только kill process tree.


vsb>Не понял, что это значит.


Если диспетчер процессов достаточно умный (такой как Process Explorer, например), он умеет отслеживать отношения порождения и грохать не только процесс, но и всю ветку со всеми детьми. Я сначала посортировал хромовские процессы по Working Set, по Private Bytes, и поубивал самые топовые. Общее потребление физической памяти (его умеет показывать тот же Process Explorer) осталось на пределе. (Не знаю, как они этого добиваются — в смысле, одновременно жрать память и не попадать в топ сортировки). Но стоило убить всю ветку, начиная с корневого процесса, и память очистилась.

Я сразу скажу, что стандартных предрассудков по поводу виртуальной памяти не разделяю. Если процесс отожрал зачем-то десять гиг виртуальной памяти — это его личное дело, пока эта «память» всего лишь несколько байтов записи о резервировании в своп-файле на диске. (Да, так устроена виртуальная память). Но когда он её реально туда-сюда гоняет с диска в RAM и обратно, это дурно сказывается на износе SSD.

S>>Во-вторых, не понял юмора. Я как пользователь должен переоткрывать страницу после ресайза туда-сюда, чтобы не пришлось программы закрывать, когда винда жалуется на нехватку памяти? Это такие сейчас стандарты качества?


vsb>Если страница просит память и в системе память есть, браузер её даёт. Какие проблемы-то? Ты от маллока требуешь, чтобы он оценивал моральные качества твоей программы или чтобы он давал тебе запрошенную память?


То есть, да. Такие сейчас стандарты качества.

Проблема в том, что на ноуте с 16 гигами памяти, из которых 12 изначально пустые, через некоторое количество ресайзов Хрома винда требует выгружать другие программы. Надеюсь, не слишком сложно объясняю (ирония).

vsb>Поэтому да, если сайт так написан, что жрёт память, значит переоткрывай страницу, а лучше найди не такой прожорливый сайт.
Do you want to develop an app?
Отредактировано 28.06.2022 13:52 Shtole . Предыдущая версия .
Re[5]: Поругайте TypeScript/node.js
От: Shtole  
Дата: 28.06.22 12:43
Оценка:
Здравствуйте, Privalov, Вы писали:

S>>В экосистеме, которая называется Хром. Рядом стоит FF, и он не течёт.


P>FF починили? Он же тек раньше безбожно. Я от него после 26-й версии отказался. Ушел на Хромую Оперу.


Да тоже течёт. Но по-другому! Как-то добрее, что ли ©

На самом деле, я имел в виду, что на этом же сайте с ресайзом проблема в ФФ не воспроизводится, зато стабильно воспроизводится в Хроме. Из чего следует, что так было можно (не течь в этой ситуации).
Do you want to develop an app?
Re[19]: Поругайте TypeScript/node.js
От: · Великобритания  
Дата: 28.06.22 12:46
Оценка:
Здравствуйте, Pauel, Вы писали:

P>>>Еще как позволяют. Привел же пример и ты его видел.

P>·>В твоём примере ты нарочно отключил проверку типов, и компилятор тебе об этом сообщит. Вот ведь действительно удивительно, что если отключить проверку типов, то проверка типов отключается! Кто бы мог подумать!
P>Я ничего не отключал, разуй глаза.
Ты используешь generic-тип без указания параметров. Это legacy и компилятор пишет: "Raw use of parameterized class 'ArrayList'", "Unchecked call to 'add(E)' as a member of raw type 'java.util.ArrayList'".

P>>> Собственно о том и речь — все языки кроме какого Хаскеля позволяют легко проткнуть систему типов, без особых заморочек.

P>·>И хаскель ты не знаешь: https://hackage.haskell.org/package/base-4.8.0.0/docs/Unsafe-Coerce.html
P>Читаем вместе "без особых заморочек". Зачем ты приводишь как пример unsafe? Эдак у тебя все язык станут плохими.
"без особых заморочек" — это демагогический приём "истинный шотландец". Я не знаю что ты хотел сказать. Вырази мысль нормально, если есть что сказать.

P>·>Суть ты всё ещё не понял что-ли? Суть не в том, что систему типов можно проткнуть, а в том, что если её не протыкать специальным явным образом, то она не должна быть дырявой.

P>Я тебе и говорю — таким свойством обладают только пару академических языков, в числе которых Хаскель. В остальных "проткнуть" можно мимоходом, не заметив этого.
Пример можно?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[20]: Поругайте TypeScript/node.js
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.06.22 19:34
Оценка:
Здравствуйте, ·, Вы писали:

P>>·>И хаскель ты не знаешь: https://hackage.haskell.org/package/base-4.8.0.0/docs/Unsafe-Coerce.html

P>>Читаем вместе "без особых заморочек". Зачем ты приводишь как пример unsafe? Эдак у тебя все язык станут плохими.
·>"без особых заморочек" — это демагогический приём "истинный шотландец". Я не знаю что ты хотел сказать. Вырази мысль нормально, если есть что сказать.

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

P>>Я тебе и говорю — таким свойством обладают только пару академических языков, в числе которых Хаскель. В остальных "проткнуть" можно мимоходом, не заметив этого.

·>Пример можно?

Уже привел. Смотри внимательно.
Re[26]: Поругайте TypeScript/node.js
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.06.22 19:41
Оценка:
Здравствуйте, ·, Вы писали:

P>>Ну ты же пишешь на джаве

·>Так там дыр нет.

Ога

P>>readonly в любом случае крайне хилая фича. Хочешь анально всё огораживать — используй проперти с геттерами, freeze, прокси и тд.

·>Только это не относится к типизации.

Именно. Типизация в тайпскрипте вообще изначально обходилась легко и просто. И никто не обещал такие же фичи, как в джаве.
Более того — было явно сказано, что никто и не будет этого предоставлять.

P>>Выгода типизации не в том, что ты анально огораживаешь или интелисенсом пользуешься, а в том, что можешь использовать другой подход к проектированию, другие инструменты. И с этим всё в порядке.

·>Так ты можешь использовать другой подход именно потому что неправильный код анально огораживается.

Не надо никакого анального огораживания. Я на тс уже без малого 10 лет, и всё хорошо. Ты, похоже, статью почитал и теперь покровы срываешь.

P>>Когда у тебя есть еще и фронтенд, "другие яп" автоматически означает "хуже"

·>Ок... Если у тебя есть только фронтенд разработчики, которые ничего кроме js/ts не знают и знать не хотят, то да.

Джава и дотнет слились в этой области, как и остальные конкуренты.

P>>Пусть теряет. Это фича не настолько востребована, как ты думаешь. Кто тебе мешает зайти и глянуть, сколько до неё интереса?

·>Это называется безалаберность. Добавили кучу фич, шоб было и выглядело круто, а толку никакого.

Да не гони. Ты вот в джаве плюёшься от лямбд, которые добавили уже давненько, а то вдруг тебя начали заботить фичи тс.

P>>Идея в ТС совсем не в том, что бы писать код который устойчив к попыткам проткнуть систему типов. Такой цели не ставилось. ЯП которые пошли по этому пути, слились.

·>Проблема в том, что у меня не было попытки проткнуть, дыра уже есть — несовместимые типы молча приводятся.

В джаве тоже у людей не было попытки проткнуть, однако же, вечно грабли то тут то там. И ничего, пишут люди.
Re[21]: Поругайте TypeScript/node.js
От: · Великобритания  
Дата: 29.06.22 08:17
Оценка:
Здравствуйте, Pauel, Вы писали:

P>>>Читаем вместе "без особых заморочек". Зачем ты приводишь как пример unsafe? Эдак у тебя все язык станут плохими.

P>·>"без особых заморочек" — это демагогический приём "истинный шотландец". Я не знаю что ты хотел сказать. Вырази мысль нормально, если есть что сказать.
P>Ты привел пример явного хака. В твоей джаве, шарпе всё протыкается безо всяких unsafe. Ты разницу то понимаешь?
Протыкается явными операциями протыкания. А не как typescript — втихушку теряется инфа.

P>unsafe в хаскеле предназначен для нарушения гарантий компилятора, его изначально добавляли с такой целью.

Все явные касты для этого и предназначены. Ибо какая бы навороченная система типов ни была, в реальности у человеков может быть больше инфы, чем может знать компилятор.

P>>>Я тебе и говорю — таким свойством обладают только пару академических языков, в числе которых Хаскель. В остальных "проткнуть" можно мимоходом, не заметив этого.

P>·>Пример можно?
P>Уже привел. Смотри внимательно.
Я тебе уже несколько раз объяснил, что твой пример несостоятельный. Ты это тупо скипаешь.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[27]: Поругайте TypeScript/node.js
От: · Великобритания  
Дата: 29.06.22 08:22
Оценка:
Здравствуйте, Pauel, Вы писали:

P>>>Ну ты же пишешь на джаве

P>·>Так там дыр нет.
P>Ога
Угу.

P>>>readonly в любом случае крайне хилая фича. Хочешь анально всё огораживать — используй проперти с геттерами, freeze, прокси и тд.

P>·>Только это не относится к типизации.
P>Именно. Типизация в тайпскрипте вообще изначально обходилась легко и просто. И никто не обещал такие же фичи, как в джаве.
P>Более того — было явно сказано, что никто и не будет этого предоставлять.
Неясно тогда в чём заключается статическая типизация.

P>>>Выгода типизации не в том, что ты анально огораживаешь или интелисенсом пользуешься, а в том, что можешь использовать другой подход к проектированию, другие инструменты. И с этим всё в порядке.

P>·>Так ты можешь использовать другой подход именно потому что неправильный код анально огораживается.
P>Не надо никакого анального огораживания. Я на тс уже без малого 10 лет, и всё хорошо. Ты, похоже, статью почитал и теперь покровы срываешь.
А до этого люди на пхп и жс десятилетиями сидели, и всё хорошо.

P>>>Когда у тебя есть еще и фронтенд, "другие яп" автоматически означает "хуже"

P>·>Ок... Если у тебя есть только фронтенд разработчики, которые ничего кроме js/ts не знают и знать не хотят, то да.
P>Джава и дотнет слились в этой области, как и остальные конкуренты.
Среди фронтендеров? Да, наверняка.

P>>>Пусть теряет. Это фича не настолько востребована, как ты думаешь. Кто тебе мешает зайти и глянуть, сколько до неё интереса?

P>·>Это называется безалаберность. Добавили кучу фич, шоб было и выглядело круто, а толку никакого.
P>Да не гони. Ты вот в джаве плюёшься от лямбд, которые добавили уже давненько, а то вдруг тебя начали заботить фичи тс.
Я не плююсь от лямбд.

P>>>Идея в ТС совсем не в том, что бы писать код который устойчив к попыткам проткнуть систему типов. Такой цели не ставилось. ЯП которые пошли по этому пути, слились.

P>·>Проблема в том, что у меня не было попытки проткнуть, дыра уже есть — несовместимые типы молча приводятся.
P>В джаве тоже у людей не было попытки проткнуть, однако же, вечно грабли то тут то там. И ничего, пишут люди.
Грабли могут быть в лучшем случае такие, что мощности системы типов не хватает для выражения каких-то концепций и приходится что-то делать вручную или сводить к рантайм проверкам. Иными словами, система типов не очень мощная, но цельная, без дыр.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[10]: Поругайте TypeScript/node.js
От: Ночной Смотрящий Россия  
Дата: 29.06.22 09:02
Оценка:
Здравствуйте, ·, Вы писали:

·>А для go это совсем другая ниша, тулзы.


Мощно. Но да, тот же кубер, при очень большом желании можно обозвать тулзой.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[6]: Поругайте TypeScript/node.js
От: Sinclair Россия https://github.com/evilguest/
Дата: 29.06.22 09:03
Оценка:
Здравствуйте, scf, Вы писали:
scf>При старте приложения движок должен выполнить три операции:
scf>- инициализация самого движка (и нода, и джава делают это быстро)
scf>- загрузка кода приложения в память: здесь нода позади, т.к. ей необходимо парсить и валидировать исходники из огромного кол-ва файлов, тогда как jvm грузит зипованный байткод из пары десятков архивов
scf>- инициализация загруженного приложения: здесь нода тоже позади, т.к. работает она медленней JVM
Но в вашем тесте JVM отстала от node в полтора раза.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[19]: Поругайте TypeScript/node.js
От: Ночной Смотрящий Россия  
Дата: 29.06.22 09:10
Оценка:
Здравствуйте, Pauel, Вы писали:

P>Нисколько не ошибся Все это это есть везде, встречается с разной частотой.


Так покажи тогда на примере дотнетных коллекций.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[11]: Поругайте TypeScript/node.js
От: · Великобритания  
Дата: 29.06.22 09:19
Оценка: :)
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>·>А для go это совсем другая ниша, тулзы.

НС>Мощно. Но да, тот же кубер, при очень большом желании можно обозвать тулзой.
Ну да, инфраструктурная тулза, где go как замена bash/python/perl/ruby. Ниша, где джавы никогда не было и не надо.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[28]: Поругайте TypeScript/node.js
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 29.06.22 10:12
Оценка:
Здравствуйте, ·, Вы писали:

P>>Именно. Типизация в тайпскрипте вообще изначально обходилась легко и просто. И никто не обещал такие же фичи, как в джаве.

P>>Более того — было явно сказано, что никто и не будет этого предоставлять.
·>Неясно тогда в чём заключается статическая типизация.

В твоём понимании статическая типизация это про анальное огораживание Про это я в курсе. Читай себя же чуть ниже

P>>·>Так ты можешь использовать другой подход именно потому что неправильный код анально огораживается.

P>>Не надо никакого анального огораживания. Я на тс уже без малого 10 лет, и всё хорошо. Ты, похоже, статью почитал и теперь покровы срываешь.
·>А до этого люди на пхп и жс десятилетиями сидели, и всё хорошо.

И на джаве тож сидели и сидят много лет, несмотря на то, что коллекции в джаве, г-но, даже если не считать дыры в типизации. и что?

P>>Да не гони. Ты вот в джаве плюёшься от лямбд, которые добавили уже давненько, а то вдруг тебя начали заботить фичи тс.

·>Я не плююсь от лямбд.

Может и так, но с твоих слов получается обратное впечатление, т.к. новые фичи языка у тебя "свистелки". Вещи, которые отлично закрываются лямбдой, ты мастыришь из классов, интерфейсов и dependency injection

P>>>>Идея в ТС совсем не в том, что бы писать код который устойчив к попыткам проткнуть систему типов. Такой цели не ставилось. ЯП которые пошли по этому пути, слились.

P>>·>Проблема в том, что у меня не было попытки проткнуть, дыра уже есть — несовместимые типы молча приводятся.
P>>В джаве тоже у людей не было попытки проткнуть, однако же, вечно грабли то тут то там. И ничего, пишут люди.
·>Грабли могут быть в лучшем случае такие, что мощности системы типов не хватает для выражения каких-то концепций и приходится что-то делать вручную или сводить к рантайм проверкам. Иными словами, система типов не очень мощная, но цельная, без дыр.

Что вобщем ровно то же — всё, что ты мастыришь руками = дырявое. Рантайм проверки = дыры в проде. То есть, рано или поздно ты натыкаешься или на слабую фичу компилятора, или на её отсутствие.
Re[22]: Поругайте TypeScript/node.js
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 29.06.22 10:16
Оценка:
Здравствуйте, ·, Вы писали:

P>>Ты привел пример явного хака. В твоей джаве, шарпе всё протыкается безо всяких unsafe. Ты разницу то понимаешь?

·>Протыкается явными операциями протыкания. А не как typescript — втихушку теряется инфа.

То есть, с хаскелем ты привел невалидный пример. В тайпскрипте readonly это единственное место, где теряется инфа. И судя по гитхабу, это мало кого волнует.

P>>unsafe в хаскеле предназначен для нарушения гарантий компилятора, его изначально добавляли с такой целью.

·>Все явные касты для этого и предназначены. Ибо какая бы навороченная система типов ни была, в реальности у человеков может быть больше инфы, чем может знать компилятор.

Именно. То есть, твой пример про хаскель невалидный.

P>>Уже привел. Смотри внимательно.

·>Я тебе уже несколько раз объяснил, что твой пример несостоятельный. Ты это тупо скипаешь.

Потому, что тебе это не нравится? Я в джава коде регулярно встречаю и такое, и всевозможные касты, и что угодно. Т.е. это фактическое положение дел.
Re[7]: Поругайте TypeScript/node.js
От: scf  
Дата: 29.06.22 10:22
Оценка: :)
Здравствуйте, Sinclair, Вы писали:

S>Но в вашем тесте JVM отстала от node в полтора раза.


Можно сказать — в полтора раза, а можно сказать — на 20 миллисекунд. Для юзабилити это совершенно несущественно.
Re[29]: Поругайте TypeScript/node.js
От: · Великобритания  
Дата: 29.06.22 11:23
Оценка:
Здравствуйте, Pauel, Вы писали:

P>>>·>Так ты можешь использовать другой подход именно потому что неправильный код анально огораживается.

P>>>Не надо никакого анального огораживания. Я на тс уже без малого 10 лет, и всё хорошо. Ты, похоже, статью почитал и теперь покровы срываешь.
P>·>А до этого люди на пхп и жс десятилетиями сидели, и всё хорошо.
P>И на джаве тож сидели и сидят много лет, несмотря на то, что коллекции в джаве, г-но, даже если не считать дыры в типизации. и что?
Эти дыры только в твоей голове, как и говёность коллекций джавы.

P>>>Да не гони. Ты вот в джаве плюёшься от лямбд, которые добавили уже давненько, а то вдруг тебя начали заботить фичи тс.

P>·>Я не плююсь от лямбд.
P>Может и так, но с твоих слов получается обратное впечатление, т.к. новые фичи языка у тебя "свистелки". Вещи, которые отлично закрываются лямбдой, ты мастыришь из классов, интерфейсов и dependency injection
То что ты что-то там у себя закрываешь лямбдой не делает их плохими для меня.

P>>>·>Проблема в том, что у меня не было попытки проткнуть, дыра уже есть — несовместимые типы молча приводятся.

P>>>В джаве тоже у людей не было попытки проткнуть, однако же, вечно грабли то тут то там. И ничего, пишут люди.
P>·>Грабли могут быть в лучшем случае такие, что мощности системы типов не хватает для выражения каких-то концепций и приходится что-то делать вручную или сводить к рантайм проверкам. Иными словами, система типов не очень мощная, но цельная, без дыр.
P>Что вобщем ровно то же — всё, что ты мастыришь руками = дырявое.
Не суди других по себе.

P> Рантайм проверки = дыры в проде. То есть, рано или поздно ты натыкаешься или на слабую фичу компилятора, или на её отсутствие.

Не дыры, а чуть больше ручной работы. Если компилятор не справляется и говорит "сдаюсь", приходится помогать вручную. Это не значит, что там дыры. Дыра — это если компилятор просто молчит, мол "всё хорошо, прекрасная маркиза"...
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[23]: Поругайте TypeScript/node.js
От: · Великобритания  
Дата: 29.06.22 11:40
Оценка:
Здравствуйте, Pauel, Вы писали:

P>>>Ты привел пример явного хака. В твоей джаве, шарпе всё протыкается безо всяких unsafe. Ты разницу то понимаешь?

P>·>Протыкается явными операциями протыкания. А не как typescript — втихушку теряется инфа.
P>То есть, с хаскелем ты привел невалидный пример.
Это пример возможности явного протыкания системы типов.

P>В тайпскрипте readonly это единственное место, где теряется инфа. И судя по гитхабу, это мало кого волнует.

С коллекциями тоже проблема была, но, слава богу, пофиксили недавно.
Плюс null checks вроде сделано, но, по моему опыту, никто не использует, т.к. неюзабельно. Ты вот используешь?

P>>>Уже привел. Смотри внимательно.

P>·>Я тебе уже несколько раз объяснил, что твой пример несостоятельный. Ты это тупо скипаешь.
P>Потому, что тебе это не нравится?
Потому, что компилятор тебе явно говорит, что типы не проверяются. Компилятору не нравится, причём тут я?

P>Я в джава коде регулярно встречаю и такое, и всевозможные касты, и что угодно. Т.е. это фактическое положение дел.

Это не дыры в системе типов явы, а баги в конкретном коде. Ещё ни один яп не смог заставить писать безбажый код.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Отредактировано 29.06.2022 12:22 · . Предыдущая версия .
Re[8]: Поругайте TypeScript/node.js
От: Sinclair Россия https://github.com/evilguest/
Дата: 29.06.22 11:49
Оценка:
Здравствуйте, scf, Вы писали:
scf>Можно сказать — в полтора раза, а можно сказать — на 20 миллисекунд. Для юзабилити это совершенно несущественно.
Эмм, в вашем же посте описаны затраты времени, которые зависят от размера приложения. 20 миллисекунд — это hello world. Сколько будет стартовать реальное приложение, на пару метров исходного кода?
Если разница по-прежнему будет 20мс, то всё ок, а если в полтора раза — то может оказаться раздражающей.
Меня вот, к примеру, время стартапа джавы бесит неимоверно. И это при том, что я сам на ней не работаю — студенты показывают свои приложения на спринге.
Вот он ко мне подходит, стартует приложение, и успевает всё про это приложение рассказать, пока эта хрень взлетит.
Дотнетовое приложение за это время успевает пройти тесты и результат в coveralls.io опубликовать.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.