Веб-сайт ISO/IEC и Взимающий за C и Стандарты C++

Стандарт ISO C (ISO/IEC 9899) и Стандарт C++ ISO (ISO/IEC 14882) не публикуется онлайн; вместо этого, нужно купить PDF для каждого из тех стандартов. Я задаюсь вопросом, что объяснение находится позади этого... это не вредный и для C и для языков программирования на C++, что авторитетная спецификация для этих языков не сделана в свободном доступе и доступной для поиска онлайн? Разве это не поощряет использование возможно неточных, неавторитетных источников для получения информации относительно этих языков?

В то время как я понимаю так много времени, и усилие вошло в разработку C и стандартов C++, я все еще несколько озадачен выбором взимать за спецификацию. Спецификация Основы OpenGroup, например, доступна бесплатно онлайн; они делают деньги путем взимания за сертификацию. Кто-либо знает, почему комитеты по стандартам ISO не делают свой доход в сертификации соответствия стандартов, вместо того, чтобы взимать за эти документы? Кроме того, кто-либо знает, сделан ли ужасно смотрящий веб-сайт комитета по стандартам ISO намеренно посмотреть тот путь? Это - как будто они не хотят людей, посещающих и покупающих спецификацию.

Одна последняя вещь... C и стандарты C++ обычно описываются как "открытые стандарты"..., в то время как я понимаю, что это означает, что кому-либо разрешают реализовать стандарт, должен то определение "открытых" быть пересмотренным? Взимание за стандарт вместо того, чтобы делать его открыто доступным кажется вопреки духу открытости.

P.S. У меня действительно есть копия ISO/IEC 9899:1999 и ISO/IEC 14882:2003, поэтому никакие комментарии о том, чтобы быть дешевым или что-либо..., хотя, если Вы испытываете желание сказать такие вещи, Вы могли бы хотеть рассмотреть среднюю школу, студента и аспирантов, у которых не могло бы быть всех так больших дополнительных наличных денег. Кроме того, Вы могли бы хотеть рассмотреть то, что веб-сайт ISO является действительно поверхностным, и они даже не говорят Вам стоимость, пока Вы не продолжаете двигаться к контролю... действительно не поощряет идти и получать копию, теперь он?

Редактирование / Комментарий
Мне что приходит в голову, если бы комитеты по стандартам ISO должны были сделать свои доходы от сертификации, что это стимулировало бы меньшие но более частые изменения в стандартных, а не очень больших изменениях очень нечасто. Это также простимулировало бы создание реализуемого стандарта (я сомневаюсь, что комитет C++ ISO представил бы "экспорт" во-первых, если они получили свои доходы от сертификации).

Я нашел решение одного из раздражений из-за не наличия PDF онлайн.... Я загрузил свою копию стандартов в мой Google Docs, так, чтобы я мог все еще получить доступ к нему от любого компьютера, не неся его вокруг.

41
задан Michael Aaron Safyan 29 April 2010 в 18:07
поделиться

7 ответов

Как бы то ни было, Херб Саттер написал статью, касающуюся этого вопроса, и в комментариях есть немало обсуждений:

Как он упоминает, «open» делает не обязательно означает «бесплатно». Что касается студентов или других лиц с ограниченными финансовыми средствами, которым могут потребоваться бесплатные версии ваших документов, обратите внимание, что:

  1. многие ссылки, которые студенты могут захотеть (или даже должны получить доступ), являются платными
  2. для большинства работ, стандарты просто не являются обязательными - существует множество свободно доступной документации, которой более чем достаточно для большей части работы, которую почти каждый может захотеть проделать с C или C ++
  3. , черновики документов во многих случаях можно бесплатно загрузить; хотя они не являются стандартом , окончательные черновые версии очень близки и могут быть достаточно хороши для множества применений.

Если вы серьезно относитесь к программированию на C или C ++, я бы посоветовал вам иметь копию стандартов (хотя я бы не сказал, что это требование). Я также полагаю, что не следует ожидать, что они будут бесплатными, так же как для любого занятия или занятия «инструменты торговли», как правило, не бесплатны - независимо от того, являются ли эти инструменты физическими объектами, такими как молотки, или информацией. например, руководства или спецификации.

На самом деле, я бы сказал, что хороший набор ссылок был бы предпочтительнее набора стандартов, если бы у вас мог быть только один или другой, или вы только начинаете (вы, вероятно, захотите пару разных для C ++, в то время как Harbison & Steele - это все, что нужно для C).

Не поймите меня неправильно - я не против, чтобы они были доступны бесплатно (и я рад, что в настоящее время они довольно недорогие), но я не думаю, что есть основания ожидать, что они будут бесплатными. .

Ответы на вопрос SO «Где мне найти текущие стандартные документы C или C ++?» содержат указатели на дешевые версии и бесплатные черновые версии. Также обратите внимание, что текущий стандарт C99 (со встроенными TC1 и TC2) доступен для бесплатной загрузки:

Есть примечание, что N1124 «является рабочим документом WG14, но он отражает консолидированный стандарт на момент публикации».

18
ответ дан 27 November 2019 в 00:52
поделиться

Кто-нибудь знает, почему комитеты по стандартам ISO не получают доход от сертификации соответствия стандартам вместо взимания платы за эти документы?

На этот вопрос я могу ответить: там нет денег, чтобы заработать. За исключением EDG, компилятора C ++, соответствующего стандартам, никогда не существовало. И даже если они будут взимать плату за попытки поставщиков (а поставщики достаточно глупы, чтобы оценить свои явно несовместимые компиляторы), помимо GCC (кто будет за это платить?) Будет очень мало поставщиков, на которых можно зарабатывать деньги.

Что касается платы: по крайней мере, в какой-то момент лучшим вариантом было купить стандарт C ++ 03 в виде книги.

7
ответ дан 27 November 2019 в 00:52
поделиться

К сожалению, но я можно понять, почему это так.

Органы по стандартизации должны быть самофинансируемыми - идея взимания платы за стандарты заключается в том, что те, кто получает выгоду от стандарта, затем платят за его производство. Поскольку эти органы по стандартизации являются межправительственными организациями (не зарегистрированными компаниями, такими как The Open Group), у них нет устава, чтобы заниматься предоставлением сертификации, поэтому они не могут финансировать это таким образом.

8
ответ дан 27 November 2019 в 00:52
поделиться

Не потворствовать пиратству и не считать себя образцом для подражания, достаточно легко получить копию.

Простой поиск в Google "iso 14882 pdf" надежно создаст ссылку. На данный момент результаты искажаются копиями C ++ 0x FCD. Но последние несколько раз, когда мне была нужна копия, я нашел бесплатную, размещенную на google.com .

Что касается студентов, я помню, как выполнял задания в компьютерных лабораториях, где у меня не было под рукой файлов. Нажмите Google, и я получу ссылку в течение минуты.

Я не знаю, куда вообще идет эта плата, которая так сильно варьируется от поставщика к поставщику. Комитет по стандартам хорошо оплачивается своими работодателями. Сумма в долларах слишком случайна, чтобы быть налогом.

Я однажды купил стандартную (ну, мой работодатель купил ее): IEEE 1275 Open Firmware. Это было что-то около 200 долларов от Global Engineering Documents после того, как я присмотрелся. Это была дешевая фотокопия на обычной бумаге для копировальных аппаратов. Я не думаю, что он был даже упакован в термоусадочную пленку, и уж точно без обложки. Постоянные сокращения бумаги. Я добавил папку с тремя кольцами и поклялся никогда больше этого не делать. (Да, и стандарт был отозван и заменен плохой ерундой Intel.)

Теперь, глядя на сайт GED, они берут 30 долларов за юридический PDF-файл C ++ 03 и 373–567 долларов (!) За несвязанные ксерокопии различных якобы идентичные издания.

5
ответ дан 27 November 2019 в 00:52
поделиться

Хотя я понимаю, что много времени и усилий было потрачено на разработку стандартов C и C ++, я все еще несколько озадачен выбором платы за спецификацию. Базовая спецификация OpenGroup, например, доступна бесплатно в Интернете; они зарабатывают деньги, взимая плату за сертификацию. Кто-нибудь знает, почему комитеты по стандартам ISO не получают доход от сертификации соответствия стандартам, вместо того, чтобы взимать плату за эти документы?

Я не могу говорить о точной мотивации, но имейте в виду, что ISO - это огромная организация. Они не только стандартизируют языки программирования, но также определяют размеры контейнеров, разъемы питания, размеры дисплеев и многое другое. Кроме того, они гораздо больше, чем более специализированные организации по стандартизации, очень сосредоточены на стабильности, даже за счет большой бюрократии и очень медленных рабочих процессов.

Я предполагаю, что есть пара причин, по которым они взимают плату за документ:

  • он финансирует часть работы организации, и
  • они не видят в этом проблемы. ISO в целом на самом деле не имеет большого отношения к стандартам, которые должны использоваться отдельными лицами. Большинство их стандартов предназначены для работы крупных компаний с другими крупными компаниями. Для тех, кто заплатит несколько долларов, это ничего , и даже может рассматриваться как доказательство качества.
  • организация довольно старая. Они не всегда могли просто распространить PDF-документ. Скорее всего, правило взимать плату за документы возникло в те дни, когда их нужно было распечатать и отправить вам.
  • вы покупаете документ не у самой ISO, а у конкретных национальных органов, таких как ANSI. Это должно дать вам некоторое представление о том, насколько велика ISO и насколько велика сеть, которую он должен финансировать. Фактически, цена на стандарт широко варьируется в зависимости от страны, поэтому я полагаю, что цена устанавливается отдельными национальными органами, а не централизованно ISO.
  • стандарт ISO довольно тяжелый. Это орган по стандартизации , и если что-то стандартизировано ISO, вы можете в целом быть достаточно уверенными, что это проработано, рассмотрено со всех сторон и на самом деле работает на практике. Такой послужной список есть у немногих организаций. Посмотрите на обломки поезда, которые являются "стандартом" каждого W3C. Посмотрите на огромное количество ужасно недооцененных RFC, составляющих Интернет.
  • взимание платы за сертификацию компиляторов C ++ вряд ли будет очень прибыльным делом. Вокруг не так много совместимых компиляторов, и некоторые из существующих компиляторов написаны бесплатно как проекты с открытым исходным кодом. Им может существенно помешать уплата тысяч долларов за сертификацию (и тысячи долларов должны были бы компенсировать потерянный доход от тысяч пользователей, скачивающих стандарт).Готовы ли вы вытеснить новые компиляторы из бизнеса только для того, чтобы сэкономить 20 долларов или сколько они там взимают? Стал бы G ++ когда-нибудь начать работу, если бы у них был такой барьер для входа? Будет ли компилятор LLVM Clang? Черт возьми, захочет ли Microsoft платить эту плату год за годом, когда они могли просто сосредоточиться на .NET?

И последнее ... стандарты C и C ++ обычно описываются как «открытые» стандарты "... хотя я понимаю, что это означает, что всем разрешено внедрять стандарт, следует ли пересмотреть это определение" открытого "? Взимание платы за стандарт вместо того, чтобы сделать его общедоступным, кажется противоречащим духу открытости.

Нет, они используют правильное определение. Они не взимают плату за стандартный . Вы можете реализовать компилятор C ++ бесплатно , без уплаты лицензионных отчислений или затрат на лицензирование. Стандарт доступен в открытом доступе . Это просто не свободно доступно. Но обязательно открыто. Любой желающий может получить к нему доступ. Вам не обязательно быть связанным с ISO или работать в конкретной компании (или вообще в какой-либо компании). Вам не обязательно быть гражданином определенной страны, работать в правительстве или иметь дядю, который работал в комитете по стандартам. Он открыто доступен для любого , кто готов отдать несколько долларов, меньше, чем стоит хороший учебник C ++.

Это документ , за который они взимают плату. Не стандарт. Стандарт бесплатный и открытый. Документ не бесплатный.

Действительно, ничего нового в этом быть не должно.Как вы думаете, почему движение за открытый исходный код проводит такое большое различие между «бесплатно, как в пиве» и «бесплатно, как в свободе»? Поскольку открытый исходный код не обязательно подразумевает бесплатно . Часто программное обеспечение с открытым исходным кодом является бесплатным, но это не обязательно, и так бывает не всегда.

Вы также думаете, что следует изменить название «открытый исходный код»?

У нас уже есть слово, которое означает «бесплатный». Это бесплатно". Стандарт, который распространяется бесплатно, можно было бы назвать «бесплатным». «открытый» означает другое.Почему вы хотите изменить значение слова «открытый» на то же, что и «бесплатный»?

6
ответ дан 27 November 2019 в 00:52
поделиться

«Открытый» имеет несколько значений.

В этом случае вы можете получить столько копий стандартов, сколько захотите, независимо от того, кто вы. Вы можете реализовать их свободно, без каких-либо дополнительных трудностей. Вы можете, если хотите, присоединиться к Комитету, работать над ним самостоятельно и влиять на него таким образом. Во всех этих отношениях он открыт.

Теперь вам понадобятся деньги, чтобы получить копии стандарта. Я не знаю, как заседать в комитете, но для практических целей посещение заседаний будет как минимум затратным.

Лично я не думаю, что есть смысл настаивать на том, что «открытый» также означает «бесплатный». Здесь есть четкое различие между открытым и закрытым (при котором у вас могут возникнуть проблемы с получением копии, или у вас не будет возможности свободно использовать ее или повлиять на ее разработку), и путаница с тем, стоит ли это денег, запутает вещи.

Также существует проблема, заключающаяся в том, что процесс стандартизации стоит денег, которые должны исходить от кого-то, даже с учетом огромного объема волонтерской работы. Должен ли это происходить из налогов? Вот как мне кажется альтернатива: налоги или сборы от людей и организаций, использующих стандарты.

Наконец, я не вижу в этом реальной проблемы. Стандарты на самом деле бесполезны для большинства людей. Они бесполезны, если читатель еще не знает язык, и они даже не очень хороши в качестве общих ссылок. Они не для случайного читателя. Люди, которым они действительно нужны, вероятно, захотят потратить на них несколько долларов, и это пойдет на поддержку процесса разработки стандартов.

2
ответ дан 27 November 2019 в 00:52
поделиться

Я работаю с ISO с 2004 года, и это то, чему я научился до сих пор. ISO не является коммерческой организацией и поэтому не имеет платных членов. Другие органы по стандартизации, такие как OMG, финансируются за счет сборов, которые организации платят в обмен на членство (и использование своих рычагов). ИСО так не работает: она состоит из национальных органов, которые являются представителями своих стран. Таким образом, взимание платы за стандарты - единственный способ финансировать свою работу.

Кроме того, а также из-за того, что ISO не является коммерческим, ISO не проводит сертификацию. Бизнес по сертификации (который является большим бизнесом) используется частными компаниями в рамках своих услуг по стандартам ISO, но не самим ISO.

Наконец, стандарты ISO не предназначены для покупки частными лицами. Они предназначены для организаций и имеют соответствующую цену.

Надеюсь, это поможет.

3
ответ дан 27 November 2019 в 00:52
поделиться