Информация об изменениях

Сообщение Re[19]: Поругайте TypeScript/node.js от 27.06.2022 15:32

Изменено 27.06.2022 16:05 ·

Re[19]: Поругайте TypeScript/node.js
Здравствуйте, Pauel, Вы писали:

S>>>IList не является ковариативным, но IEnumerable является.

P>·>Ок, значит тоже умеет. Значит Pauel ошибся, заявив "Аналогичный фокус есть и в дотнете".
P>Нисколько не ошибся Все это это есть везде, встречается с разной частотой. Вот, скажем, на Тайпскрипте это с начала времён, и как то я ни разу не напоролся на это, ни в своём коде, ни в чужом. Вот же незадача
Потому что система типов дырявая с начала времён. В языке с продуманной системой типов из кода можно точно знать что произойдёт, а что произойти не может. В ts же может произойти что угодно, и ты типам ts не доверяешь изначально. Ты понимаешь, что никаких гарантий нет, и что бы ни было написано в коде, в итоге оно работать может как угодно. Вот и дебажишь. Но это не норма.
Ясен пень, что в любой системе всё можно поломать и отключить проверку типизации, но это должны исключения, имеющие явный грязный подход, типа "дёрнуть приватный метод через рефлексию", а не "ой, случайно поменяли readonly значение".
Re[19]: Поругайте TypeScript/node.js
Здравствуйте, Pauel, Вы писали:

S>>>IList не является ковариативным, но IEnumerable является.

P>·>Ок, значит тоже умеет. Значит Pauel ошибся, заявив "Аналогичный фокус есть и в дотнете".
P>Нисколько не ошибся Все это это есть везде, встречается с разной частотой. Вот, скажем, на Тайпскрипте это с начала времён, и как то я ни разу не напоролся на это, ни в своём коде, ни в чужом. Вот же незадача
Потому что система типов дырявая с начала времён. В языке с продуманной системой типов из кода можно точно знать что произойдёт, а что произойти не может. В ts же может произойти что угодно, и ты типам ts не доверяешь изначально. Ты понимаешь, что никаких гарантий нет, и что бы ни было написано в коде, в итоге оно работать может как угодно. Вот и дебажишь. Но это не норма для обещанной статической типизации.
Ясен пень, что в любой системе всё можно поломать и отключить проверку типизации, но это должны исключения, имеющие явный грязный подход, типа "дёрнуть приватный метод через рефлексию", а не "ой, случайно поменяли readonly значение".