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

Собственно, вопрос в заголовке. Очень много об этом говорят в контексте обсуждения новых ЯП. Я понимаю, что такое типобезопасность (type safety), но почему, например, у Rust «хорошая система типов», а у Go «плохая», хотя оба, формально, type safe?
  • Вопрос задан
  • 2372 просмотра
Пригласить эксперта
Ответы на вопрос 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 говорить ничего не буду, не знаю
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы