Стандарт 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, так, чтобы я мог все еще получить доступ к нему от любого компьютера, не неся его вокруг.
Как бы то ни было, Херб Саттер написал статью, касающуюся этого вопроса, и в комментариях есть немало обсуждений:
Как он упоминает, «open» делает не обязательно означает «бесплатно». Что касается студентов или других лиц с ограниченными финансовыми средствами, которым могут потребоваться бесплатные версии ваших документов, обратите внимание, что:
Если вы серьезно относитесь к программированию на C или C ++, я бы посоветовал вам иметь копию стандартов (хотя я бы не сказал, что это требование). Я также полагаю, что не следует ожидать, что они будут бесплатными, так же как для любого занятия или занятия «инструменты торговли», как правило, не бесплатны - независимо от того, являются ли эти инструменты физическими объектами, такими как молотки, или информацией. например, руководства или спецификации.
На самом деле, я бы сказал, что хороший набор ссылок был бы предпочтительнее набора стандартов, если бы у вас мог быть только один или другой, или вы только начинаете (вы, вероятно, захотите пару разных для C ++, в то время как Harbison & Steele - это все, что нужно для C).
Не поймите меня неправильно - я не против, чтобы они были доступны бесплатно (и я рад, что в настоящее время они довольно недорогие), но я не думаю, что есть основания ожидать, что они будут бесплатными. .
Ответы на вопрос SO «Где мне найти текущие стандартные документы C или C ++?» содержат указатели на дешевые версии и бесплатные черновые версии. Также обратите внимание, что текущий стандарт C99 (со встроенными TC1 и TC2) доступен для бесплатной загрузки:
Есть примечание, что N1124 «является рабочим документом WG14, но он отражает консолидированный стандарт на момент публикации».
Кто-нибудь знает, почему комитеты по стандартам ISO не получают доход от сертификации соответствия стандартам вместо взимания платы за эти документы?
На этот вопрос я могу ответить: там нет денег, чтобы заработать. За исключением EDG, компилятора C ++, соответствующего стандартам, никогда не существовало. И даже если они будут взимать плату за попытки поставщиков (а поставщики достаточно глупы, чтобы оценить свои явно несовместимые компиляторы), помимо GCC (кто будет за это платить?) Будет очень мало поставщиков, на которых можно зарабатывать деньги.
Что касается платы: по крайней мере, в какой-то момент лучшим вариантом было купить стандарт C ++ 03 в виде книги.
К сожалению, но я можно понять, почему это так.
Органы по стандартизации должны быть самофинансируемыми - идея взимания платы за стандарты заключается в том, что те, кто получает выгоду от стандарта, затем платят за его производство. Поскольку эти органы по стандартизации являются межправительственными организациями (не зарегистрированными компаниями, такими как The Open Group), у них нет устава, чтобы заниматься предоставлением сертификации, поэтому они не могут финансировать это таким образом.
Не потворствовать пиратству и не считать себя образцом для подражания, достаточно легко получить копию.
Простой поиск в 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 долларов (!) За несвязанные ксерокопии различных якобы идентичные издания.
Хотя я понимаю, что много времени и усилий было потрачено на разработку стандартов C и C ++, я все еще несколько озадачен выбором платы за спецификацию. Базовая спецификация OpenGroup, например, доступна бесплатно в Интернете; они зарабатывают деньги, взимая плату за сертификацию. Кто-нибудь знает, почему комитеты по стандартам ISO не получают доход от сертификации соответствия стандартам, вместо того, чтобы взимать плату за эти документы?
Я не могу говорить о точной мотивации, но имейте в виду, что ISO - это огромная организация. Они не только стандартизируют языки программирования, но также определяют размеры контейнеров, разъемы питания, размеры дисплеев и многое другое. Кроме того, они гораздо больше, чем более специализированные организации по стандартизации, очень сосредоточены на стабильности, даже за счет большой бюрократии и очень медленных рабочих процессов.
Я предполагаю, что есть пара причин, по которым они взимают плату за документ:
И последнее ... стандарты C и C ++ обычно описываются как «открытые» стандарты "... хотя я понимаю, что это означает, что всем разрешено внедрять стандарт, следует ли пересмотреть это определение" открытого "? Взимание платы за стандарт вместо того, чтобы сделать его общедоступным, кажется противоречащим духу открытости.
Нет, они используют правильное определение. Они не взимают плату за стандартный . Вы можете реализовать компилятор C ++ бесплатно , без уплаты лицензионных отчислений или затрат на лицензирование. Стандарт доступен в открытом доступе . Это просто не свободно доступно. Но обязательно открыто. Любой желающий может получить к нему доступ. Вам не обязательно быть связанным с ISO или работать в конкретной компании (или вообще в какой-либо компании). Вам не обязательно быть гражданином определенной страны, работать в правительстве или иметь дядю, который работал в комитете по стандартам. Он открыто доступен для любого , кто готов отдать несколько долларов, меньше, чем стоит хороший учебник C ++.
Это документ , за который они взимают плату. Не стандарт. Стандарт бесплатный и открытый. Документ не бесплатный.
Действительно, ничего нового в этом быть не должно.Как вы думаете, почему движение за открытый исходный код проводит такое большое различие между «бесплатно, как в пиве» и «бесплатно, как в свободе»? Поскольку открытый исходный код не обязательно подразумевает бесплатно . Часто программное обеспечение с открытым исходным кодом является бесплатным, но это не обязательно, и так бывает не всегда.
Вы также думаете, что следует изменить название «открытый исходный код»?
У нас уже есть слово, которое означает «бесплатный». Это бесплатно". Стандарт, который распространяется бесплатно, можно было бы назвать «бесплатным». «открытый» означает другое.Почему вы хотите изменить значение слова «открытый» на то же, что и «бесплатный»?
«Открытый» имеет несколько значений.
В этом случае вы можете получить столько копий стандартов, сколько захотите, независимо от того, кто вы. Вы можете реализовать их свободно, без каких-либо дополнительных трудностей. Вы можете, если хотите, присоединиться к Комитету, работать над ним самостоятельно и влиять на него таким образом. Во всех этих отношениях он открыт.
Теперь вам понадобятся деньги, чтобы получить копии стандарта. Я не знаю, как заседать в комитете, но для практических целей посещение заседаний будет как минимум затратным.
Лично я не думаю, что есть смысл настаивать на том, что «открытый» также означает «бесплатный». Здесь есть четкое различие между открытым и закрытым (при котором у вас могут возникнуть проблемы с получением копии, или у вас не будет возможности свободно использовать ее или повлиять на ее разработку), и путаница с тем, стоит ли это денег, запутает вещи.
Также существует проблема, заключающаяся в том, что процесс стандартизации стоит денег, которые должны исходить от кого-то, даже с учетом огромного объема волонтерской работы. Должен ли это происходить из налогов? Вот как мне кажется альтернатива: налоги или сборы от людей и организаций, использующих стандарты.
Наконец, я не вижу в этом реальной проблемы. Стандарты на самом деле бесполезны для большинства людей. Они бесполезны, если читатель еще не знает язык, и они даже не очень хороши в качестве общих ссылок. Они не для случайного читателя. Люди, которым они действительно нужны, вероятно, захотят потратить на них несколько долларов, и это пойдет на поддержку процесса разработки стандартов.
Я работаю с ISO с 2004 года, и это то, чему я научился до сих пор. ISO не является коммерческой организацией и поэтому не имеет платных членов. Другие органы по стандартизации, такие как OMG, финансируются за счет сборов, которые организации платят в обмен на членство (и использование своих рычагов). ИСО так не работает: она состоит из национальных органов, которые являются представителями своих стран. Таким образом, взимание платы за стандарты - единственный способ финансировать свою работу.
Кроме того, а также из-за того, что ISO не является коммерческим, ISO не проводит сертификацию. Бизнес по сертификации (который является большим бизнесом) используется частными компаниями в рамках своих услуг по стандартам ISO, но не самим ISO.
Наконец, стандарты ISO не предназначены для покупки частными лицами. Они предназначены для организаций и имеют соответствующую цену.
Надеюсь, это поможет.