Система строгих типов Scala против системы типов C ++ - PullRequest
4 голосов
/ 05 апреля 2011

Для поклонников системы строгого типа * Scala , но поклонников C ++ :

  • Можно ли заставить себя запрограммировать С ++ с такой же строгостью ?(не использует void*, не разыгрывает много, упаковывает простой тип значения, например struct Month {int value;};).
  • Или по умолчанию для C ++ еще строже , чем Scala (если вы не стараетесьс кастами)?Несмотря на «типизацию» утилит C ++ - он все равно не позволит вам скомпилировать, если он не подходит, верно?
  • Имеет ли C ++ 0x (по сравнению с C ++ 03)добавить что-нибудь для кого-то, кто готов подчинить себя совершенно безопасному программированию?

Ответы [ 2 ]

6 голосов
/ 05 апреля 2011

Краткий ответ: да, вы можете достичь того же уровня безопасности типов, но это будет обременительным для программиста. Это не просто вопрос обеспечения той же безопасности, система типов также должна быть мощной и достаточно гибкой, чтобы упростить программирование, обеспечивающее безопасность типов, и в этом отношении система типов Scalas превосходит C ++.

C ++ 0x добавит лямбда-выражения, которые облегчат использование HOF, таких как map, filter, flatMap и т. Д.

0 голосов
/ 05 апреля 2011

Система типов C ++ более строгая, чем в Scala.

  1. Нет стирания типов (даже в шаблонном коде).
  2. В идеале в C ++ нет приведения типов (если выиспользуйте прямое приведение типа dynamic_cast, static_cast, приведение стиля C, вы будете обвинены в плохом дизайне. Это считается последним средством низкого уровня.).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...