Похоже, что этот вопрос вызвал дискуссию о том, является ли правильный ответ тем, что определено стандартом, или тем, что фактически делается в большинстве, если не во всех реализациях.Вместо того, чтобы продолжать читать комментарии, позвольте мне дать длинный ответ.
Простая аналогия: предположим, что вы пытались научить кого-то начинающему географии.В какой-то момент студент спрашивает: «Франция в Европе?»Что бы вы посчитали правильным ответом на такой вопрос?
(а) Нет. Французская конституция не определяет границы страны.Поэтому невозможно сказать, где находится Франция.
(b) Нет. Возможно, что когда-нибудь в будущем Земля будет разрушена, и французские беженцы сядут на другой планете и восстановят там свою нацию.Или могут быть альтернативные вселенные, в которых Франция находится в другом месте.Поэтому мы не можем сказать, где находится Франция.
(c) Да.Франция в Европе.
(d) В основном да.Центральное правительство и основная часть населения Франции находятся в Европе, хотя они контролируют территории в других местах, например Французскую Гвиану в Южной Америке и Остров Реюньон в Индийском океане.
Я бы ответил (с), есливопрос задавался общим способом или начинающим учеником, или (d) если контекст указывал, что требовался более точный ответ.Видимо, некоторые из плакатов здесь настаивают на том, что правильный ответ (а) или (б).Они говорят, что буквально НЕПРАВИЛЬНО смотреть на мир таким, какой он есть на самом деле, и что единственный правильный ответ на вопрос - искать какой-то документ, описывающий мир так, как утверждают некоторые авторитеты.
Если вы считаете, что эта аналогия натянута, и вы хотите более чисто ИТ-обсуждения, позвольте мне предложить более близкую аналогию.Предположим, вы читаете урок по веб-дизайну, и студент спрашивает: «Как я могу выразить сложные математические формулы на веб-странице?»
Можно ли сказать, что правильный ответ: «Используйте тег и связанные с ним теги, такие как ABOVE и BELOW, ROOT и ARRAY, как определено в стандарте HTML 3.2. "
Такой ответ был бы абсолютно верным в том смысле, что стандарт HTML 3.2 действительно включает такие теги.К сожалению, ни один крупный браузер не реализует эти теги.Тот факт, что он входит в стандарт, не имеет большого практического применения.
Я мог бы сказать то же самое о многих функциях ИТ-продуктов.«Как мне ограничить количество строк вывода из SQL-запроса?»Реальный ответ зависит от того, какой движок базы данных вы используете.Я не знаю, что говорит стандарт SQL, предоставляет ли он какие-либо средства, и мне все равно, потому что это не имеет значения.В реальной жизни я не использую стандарт ANSI SQL на своем сервере баз данных, я использую Postgres, Oracle, MySQL или какой-либо другой продукт.
Я не говорю, что стандарты вообще не имеют значения.Конечно, у нас должны быть хорошие стандарты, и продукты должны соответствовать им в максимально возможной степени.Но в реальном мире, в конечном итоге, важна реализация.
Настаивать на том, что не имеет значения, как компьютер НАСТОЯЩИМ работает в реальной жизни, но что мы можем ТОЛЬКО рассмотреть, как кто-то сказал, что он считает, что это должно работать,бесполезно для тех, кто пытается писать программы, работающие на реальных компьютерах.
(Да, есть практический пример для написания программ, которые будут работать с любым совместимым со стандартами компилятором, если вам интереснов кросс-платформенной совместимости и восходящей совместимости. Мы, безусловно, могли бы обсудить целесообразность использования трюков, которые зависят от конкретной реализации: когда производительность или удобство кодирования перевешиваются хрупкостью нестандартной реализации?)
Честно говоря, я думаю, что такой ответ - педантизм, который просто смущает начинающего ученика.Когда начинающий студент спрашивает, на каком континенте находится Франция, он не хочет или не нуждается в длинном ряду гипотетических, теоретических и особых случаев.Ему нужен простой и прямой ответ.То же самое, когда он спрашивает: «Переменные моей функции хранятся в стеке?»или "Моя программа загружена в ОЗУ во время выполнения?"