Автор Тема: Часто замечаю за собой  (Прочитано 30746 раз)

DIzer

  • Гость
Re: Часто замечаю за собой
« Ответ #75 : Февраль 25, 2012, 07:10:37 pm »
Вводить в языке, ориентированном на 100% прозрачность в отображении на машину, какую-либо другую инициализацию структур, нежели нулями... Такого маразма не стоит  ожидать и от авторов языка, и от авторов реализаций.
Илья,  :) бросьте впадать в крайности, мы просто обсуждаем тему... формируем целостную картину...

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Часто замечаю за собой
« Ответ #76 : Февраль 25, 2012, 07:35:01 pm »
Вводить в языке, ориентированном на 100% прозрачность в отображении на машину, какую-либо другую инициализацию структур, нежели нулями... Такого маразма не стоит  ожидать и от авторов языка, и от авторов реализаций.
Ну, таки например float-числа логичней инициализировать не нулем (zero) а NaN. То есть это должно быть значение по умолчанию. По сути тут NaN играет ту же роль, что и NIL для указателей/ссылок. Нуль же для float'a эквивалентен инициализации указателя не нулем, а адресом некого дефолтного валидного объекта.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Часто замечаю за собой
« Ответ #77 : Февраль 26, 2012, 02:11:02 am »
Ну, таки например float-числа логичней инициализировать не нулем (zero) а NaN. То есть это должно быть значение по умолчанию. По сути тут NaN играет ту же роль, что и NIL для указателей/ссылок. Нуль же для float'a эквивалентен инициализации указателя не нулем, а адресом некого дефолтного валидного объекта.

Может и логичнее, но исторически не оправдано. В смысле это будет "не так как везде", а ситуаций на практике где таки удобнее 0, ИМХО, будет все равно больше.

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Часто замечаю за собой
« Ответ #78 : Февраль 26, 2012, 04:38:19 am »
Ну, таки например float-числа логичней инициализировать не нулем (zero) а NaN. То есть это должно быть значение по умолчанию. По сути тут NaN играет ту же роль, что и NIL для указателей/ссылок. Нуль же для float'a эквивалентен инициализации указателя не нулем, а адресом некого дефолтного валидного объекта.

Может и логичнее, но исторически не оправдано. В смысле это будет "не так как везде", а ситуаций на практике где таки удобнее 0, ИМХО, будет все равно больше.
Везде - это где? В D default для float это NaN, в ActionScript'е тоже.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

DIzer

  • Гость
Re: Часто замечаю за собой
« Ответ #79 : Февраль 26, 2012, 07:30:27 am »
Везде - это где? В D default для float это NaN, в ActionScript'е тоже.
Если рассматривать элементы базовых типов как простые обьекты, то логично инициализировать их нейтральными элементами (нулями) относительно некоторых наиболее часто базовых операций  (сложение, конкатенация).

DIzer

  • Гость
Re: Часто замечаю за собой
« Ответ #80 : Февраль 26, 2012, 07:46:13 am »
Но по мимо логики есть еще и человеческий фактор, например, в СИ базовые операции  +,-,*, / над элементами целочисленных типов никогда не приведут к выходу за пределы этих типов, что несомненно логично. Человек же ждет от  1/2 не 0, а 0.5