Что такое хорошая и плохая система типов в ЯП?

Собственно, вопрос в заголовке. Очень много об этом говорят в контексте обсуждения новых ЯП. Я понимаю, что такое типобезопасность (type safety), но почему, например, у Rust «хорошая система типов», а у Go «плохая», хотя оба, формально, type safe?
  • Вопрос задан
  • 2380 просмотров
Пригласить эксперта
Ответы на вопрос 4
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Нет такого понятия. Есть субъективное мнение большинства что Rust реализовали систему типов очень красиво и элегантно. Так же существует распространенное мнение что Go - плохо спроектированный язык и вообще он уродлив, приводя довольно неплохие доводы, но иногда странные. Кто-то жалуется что в go нет дженериков, кто-то сетует на синтаксис.... словом... субъективизмы.
Ответ написан
Stroy71
@Stroy71
Век живи-век учись.
Чем строже описание типа(пример С++ -строгая типизация и JavaScript- не строгая), тем лучше для отладки программы и тем сложнее разработчику.
Ответ написан
opium
@opium
Просто люблю качественно работать
А что вам мешает просто зайти в языки и посмотреть?
Ответ написан
Комментировать
index0h
@index0h
PHP, Golang. https://github.com/index0h
Человеки обычно отвергают то, что реализовано не так как они считают должно быть))
На JS с их прототипным ооп куча наездов, чаще всего с фразами в стиле "вот как там сделать protected что-нить?" - ответ "там это не нужно".

На счет типов у Go - они реально мощевые, да там нету общепринятого наследования типов, классов нету, но вместо этого есть на порядки более удобный механизм встраивания/агрегирования. Интерфейсы (с моей личной точки зрения) - вообще имеют лучшую реализацию, по сравнению с кучей других языков.
Конкретно по безопасности типов - в чем проблема то? Не нравится interface{} - используй жесткое указание типа, все будут счастливы.

Про Rust говорить ничего не буду, не знаю
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы