Frage

Der ISO-C-Standard (ISO / IEC 9899) und die ISO C ++ Standard (ISO / IEC 14882) werden nicht im Internet veröffentlicht; stattdessen muss man die PDF für jede dieser Normen kaufen. Ich frage mich, was der Grund dafür ist, ... ist es nicht schädlich sowohl für die C- und C ++ Programmiersprachen, dass die maßgebliche Spezifikation für diese Sprachen nicht frei zur Verfügung gestellt wird und online durchsuchbar? Ist dies nicht fördert die Verwendung von möglicherweise ungenau, nicht-autoritativen Quellen für Informationen zu diesen Sprachen?

Während ich so viel Zeit und Mühe verstehen, hat sich in der Entwicklung der C- und C ++ Standards gegangen, ich bin immer noch verwirrt ein wenig durch die Wahl für die Spezifikation zu laden. Die Opengroup Base Specification zum Beispiel ist kostenlos Online verfügbar; sie machen Geld durch die für die Zertifizierung auflädt. Weiß jemand, warum die Ausschüsse ISO-Normen nicht ihre Einnahmen Compliance bei der Zertifizierung Standards machen, anstatt für diese Dokumente des Ladens? Auch dann, wenn jemand wissen, ob der ISO-Normenausschuss atrociously aussehende Website absichtlich gemacht auf diese Weise suchen? Es ist, als wenn sie nicht wollen, Menschen zu besuchen und den Kauf der spec.

Eine letzte Sache ... die C und C ++ Standards werden im Allgemeinen als „offene Standards“ beschrieben ... während ich erkennen, dass dies bedeutet, dass jemand berechtigt ist, den Standard zu implementieren, sollte diese Definition von „open“ überarbeitet werden? für die Standard-Lade anstatten Gegenteil, es offen zugänglich zu machen scheint den Geist der Offenheit.

P. S. Ich habe eine Kopie des ISO / IEC 9899: 1999 und ISO / IEC 14882: 2003, bitte also keine Bemerkungen über sein billig oder etwas ... obwohl, wenn Sie versucht sind, solche Dinge zu sagen, Sie könnten die hohe berücksichtigen wollen Schule, Student, und Studenten, die nicht so viel mehr Geld haben könnten. Außerdem sollten Sie die Tatsache zu berücksichtigen, dass die ISO-Website wirklich lückenhaft ist und sie nicht einmal sagen, die Kosten, bis Sie zur Kasse gehen ... nicht wirklich ein ermutigen zu gehen und eine Kopie zu bekommen, jetzt tut es?

Bearbeiten / Kommentar
Es fällt mir, dass, wenn die ISO-Normenausschüsse waren, ihre Einnahmen aus Zertifizierung, dass es kleinere, aber häufigere Änderungen der Standard eher sehr selten als sehr große Revisionen incentivize würde. Es wäre incentivize auch einen umsetzbaren Standard zu schaffen (ich bezweifle, dass die Ausschuss ++ ISO C „Export“ in erster Linie eingeführt hätte, wenn sie ihre Einnahmen aus-Bescheinigung).

Ich habe eine Lösung für eines der Belästigungen der nicht mit der PDF online gefunden .... Ich habe meine Kopie der Standards in meinem Google Docs hochgeladen, so dass ich es immer noch von jedem Computer aus zugreifen kann es sich um ohne zu Tragen .

War es hilfreich?

Lösung

Es lohnt sich, was, Herb Sutter schrieb zu diesem Thema einen Artikel zu berühren, und es gibt ein gutes Stück der Diskussion in den Kommentaren:

Wie erwähnt er, „offen“ bedeutet nicht unbedingt, „no-cost“. Soweit Studenten oder andere mit begrenzten finanziellen Mitteln, die freien Versionen von dir Dokumenten wünschen könnte, beachten Sie, dass:

  1. viele Hinweise, dass die Schüler möchten (oder sogar für den Zugriff erforderlich) sind nicht frei
  2. für die meisten Arbeiten, die Standards sind einfach keine Voraussetzung - es gibt genügend frei verfügbare Unterlagen, die für einen Großteil der Arbeit mehr als ausreichend ist, dass fast jeder kann mit C oder C ++ tun möchten
  3. sind die Entwürfe der Dokumente frei herunterladbare in vielen Fällen; während sie nicht sind Standard, sind die endgültigen Entwürfe sehr nahe und könnte für viele Anwendungen gut genug sein.

Wenn Sie sich ernsthaft mit C oder C ++ Programmierung, ich würde vorschlagen, dass Sie eine Kopie der Standards haben sollten (obwohl ich würde nicht sagen, es ist eine Anforderung). Ich würde auch vorschlagen, dass es nicht die Erwartung, dass sie frei sein würden, genauso wie für jeden Beruf oder avocation der ‚Werkzeuge des Handels‘ sind in der Regel nicht frei - ob diese Werkzeuge sind physische Objekte wie Hämmer, oder Informationen wie Handbücher oder Spezifikationen.

In der Tat, würde ich argumentieren, dass ein guter Satz von Verweisen auf eine Reihe von Standards vorzuziehen wäre, wenn Sie nur eine haben könnte oder die andere oder Sie beginnen heraus (Sie wahrscheinlich würde ein paar andere wollen diejenigen für C ++, während Harbison & Steele ist alles, was für C) benötigt wird.

Verstehen Sie mich nicht falsch - ich bin nicht dagegen frei zur Verfügung gestellt werden (und ich bin glücklich, dass sie derzeit eher billig sind), aber ich glaube nicht, dass es kein Grund, sie zu frei erwarten .

Die Antworten auf die Frage SO, „Wo finde ich die aktuelle C oder C ++ Standard-Dokumente?“ , haben Zeiger auf billige Versionen und freie Entwürfe. Beachten Sie auch, dass der aktuelle C99-Standard (mit TC1 und TC2 aufgenommen) zum kostenlosen Download zur Verfügung:

Es gibt einen Hinweis, dass N1124 „ist ein WG14 Papier zu arbeiten, aber es spiegelt den konsolidierten Standard zum Zeitpunkt der Ausgabe“.

Andere Tipps

Es ist bedauerlich, aber ich kann sehen, warum es die Art und Weise ist, dass es ist.

Die Normungsgremien erforderlich sind Eigenfinanzierung zu sein - die Idee hinter den Standards Aufladen ist, dass diejenigen, die von der Norm profitieren dann für die Produktion bezahlen. Da diese Normungsgremien sind zwischenstaatliche Organisationen (nicht einbezogenen Unternehmen wie The Open Group), sie haben nicht eine Charta im Geschäft sein Zertifizierung der Bereitstellung, so dass sie es auf diese Weise nicht finanzieren können.

Wer weiß, warum die Ausschüsse ISO-Normen machen nicht ihre Einnahmen Compliance bei der Zertifizierung Normen, sondern für diese Dokumente des Ladens?

Dies ich beantworten kann: Es gibt kein Geld, um es zu machen. Mit Ausnahme von EDG, es gab nie einen Standard-konformen C ++ Compiler. Und selbst wenn sie für die Anbieter geladen versuchen (und Anbieter dumm genug ist, um ihre offensichtlich nicht konformen Compilern ausgewertet), neben GCC (wer dafür bezahlen würde?) Gibt es nur sehr wenige Anbieter, um Geld von zu machen.

Im Hinblick auf den Kosten: Mindestens an einem Punkt der beste Deal war die C zu kaufen ++ 03-Standard als Buch gebunden.

Während ich so viel Zeit und Mühe verstehen, hat sich in der Entwicklung der C- und C ++ Standards gegangen, ich bin immer noch verwirrt ein wenig durch die Wahl für die Spezifikation zu laden. Die Opengroup Base Specification zum Beispiel ist kostenlos Online verfügbar; sie machen Geld durch die für die Zertifizierung auflädt. Weiß jemand, warum die Ausschüsse ISO-Normen nicht ihre Einnahmen Compliance bei der Zertifizierung Standards machen, anstatt für diese Dokumente des Ladens?

Ich kann nicht sprechen für die genaue Motivation, aber bedenken Sie, dass ISO ist eine große Organisation. Sie standardisieren nicht nur Programmiersprachen, sondern auch Behälterabmessungen, Netzstecker, zeigen Größen und eine Million andere Dinge. Sie sind auch, viel mehr als die mehr spezialisierte Normungsorganisationen, sehr konzentriert auf Stabilität, auch auf Kosten einer viel Bürokratie und sehr langsam Arbeitsprozesse.

Ich könnte mir vorstellen, es gibt ein paar Gründe, warum sie für das Dokument laden:

  • Sie finanziert einen Teil der Arbeit der Organisation und
  • Sie sehen es nicht als ein Problem. ISO im Allgemeinen befaßt sich nicht wirklich viel mit Standards, die von Personen verwendet werden. Die meisten ihrer Standards für große Unternehmen an der Arbeit mit anderen großen Unternehmen bestimmt ist. Für diejenigen, die Zahlung ein paar Dollar Mittel nichts und kann sogar als Beweis für Qualität gesehen werden.
  • ist die Organisation ziemlich alt. Sie waren nicht immer in der Lage, nur ein PDF-Dokument zu verteilen. Höchstwahrscheinlich auf der Regel eine Gebühr für die Unterlagen in den nächsten Tagen entstanden, wenn sie gedruckt werden mußten und an Sie versandt.
  • Sie kaufen das Dokument nicht von ISO selbst, sondern von bestimmten nationalen Stellen, wie ANSI. Dies sollte Ihnen eine Vorstellung davon, wie groß ISO ist, und wie groß ein Netzwerk, es zu finanzieren hat. Tatsächlich variiert der Preis für die Standard-weit zwischen den einzelnen Ländern, mich zu der Annahme, dass der Preis von den einzelnen nationalen Stellen festgelegt ist, anstatt zentral von ISO.
  • ein ISO-Standard ist ziemlich schwergewichtige. Es ist die Standards Körper, und wenn sie etwas von der ISO standardisiert, können Sie im Allgemeinen seine ziemlich sicher, dass es durchgearbeitet ist, betrachtet aus allen Winkeln und eigentlich Werke in der Praxis. Nur wenige Unternehmen haben diese Erfolgsbilanz. Schauen Sie sich die trainwreck, dass jeder einzelne W3C „Standard“ ist. Schauen Sie sich die überwiegende Zahl der horrend underspecified RFC ist das Make-up im Internet.
  • Erhebung von Gebühren für die Zertifizierung von C ++ Compiler ist nicht wahrscheinlich ein sehr profitables Unternehmen sein. Es gibt nicht viele kompatible Compiler um, und einige der Compiler, die kostenlos sind geschrieben existieren, als Open-Source-Projekte. Sie konnten deutlich um bezahlen zu müssen Tausende von Dollar in Zertifizierungsgebühren behindert werden (und es würde haben Tausende von Dollar werden für das verlorene Einkommen machen von Tausenden von Benutzern das Herunterladen der Standard). Sind Sie bereit, neue Compiler aus dem Geschäft fahren nur so können Sie 20 $ sparen können oder was auch immer sie verlangen? Würde G ++ jemals aus dem Boden bekommen, wenn sie diese Art von Hindernis für den Zugang gehabt hätte? Würde LLVM des Clang-Compiler? Hölle, würde Microsoft bereit sein, diese Gebühr Jahr für Jahr zu zahlen, wenn sie könnte nur auf .NET konzentriert werden?

Eine letzte Sache ... die C und C ++ Standards werden im Allgemeinen als „offene Standards“ beschrieben ... während ich erkennen, dass dies bedeutet, dass jemand berechtigt ist, den Standard zu implementieren, sollte diese Definition von „open“ überarbeitet werden? für die Standard-Lade anstatten Gegenteil, es offen zugänglich zu machen scheint den Geist der Offenheit.

Nein, verwenden sie die richtige Definition. Sie sind nicht geladen für den Standard . Sie können einen C ++ Compiler kostenlos implementieren , ohne Lizenzgebühren oder Lizenzkosten. Der Standard ist offen zur Verfügung. Es ist einfach nicht frei zur Verfügung. Aber auf jeden Fall offenly. Jeder kann darauf zugreifen. Sie haben nicht mit ISO, oder Arbeit für ein bestimmtes Unternehmen (oder ein Unternehmen überhaupt) in Verbindung gebracht werden. Sie müssen kein Bürger eines bestimmten Landes oder Arbeit in der Regierung sein oder einen Onkel haben, der auf dem Normenausschuss gearbeitet. Es ist offen zugänglich zu jemand , die Hand über ein paar Dollar bereit ist, weniger als das, was ein guter C ++ Lehrbuch Kosten.

Es ist das Dokument sie verlangen für. Nicht der Standard. Der Standard ist frei und offen. Das Dokument ist nicht frei.

Wirklich, sollte es nichts Neues in dieser sein. Warum denken Sie, die Open-Source-Bewegung, eine so große Auszeichnung „frei wie in Bier“ macht und „frei wie in Freiheit“? Da open Quelle notwendigerweise bedeutet nicht, kostenlos . Oft Open-Source-Software ist kostenlos, aber es muss nicht sein, und es ist nicht immer.

Haben Sie dann denken, auch die "Open Source" Name geändert werden soll?

Wir haben schon ein Wort, das Mittel „frei“. Es ist kostenlos". Ein Standard, der „frei“ bezeichnet werden wird kostenlos verteilt könnte. „Offen“ bedeutet etwas anderes. Warum wollen Sie die Bedeutung von „offen“ ändern, um die gleiche Sache wie „frei“ zu bedeuten?

Nicht zu dulden Piraterie oder hält mich als Vorbild, ist es einfach genug, um eine Kopie zu erhalten.

Einfach googeln „iso 14882 pdf“ zuverlässig eine Verbindung herzustellen. Vorerst werden die Ergebnisse durch Kopien des C ++ 0x FCD schlammig. Aber die letzten paar Male, die ich eine Kopie benötigt, fand ich ein freier gehosteten bei google.com .

Wie für College-Studenten, ich erinnere tun Zuweisungen in zufälligen Computerlabors, wo ich nicht meine Dateien zur Hand habe. Hit Google und ich habe die Referenz innerhalb einer Minute.

Ich weiß nicht, wo diese Gebühr, die von Anbieter zu Anbieter so viel ändert, geht sogar. Der Normenausschuss wird von ihren Arbeitgebern gut kompensiert. Der Dollar-Betrag ist zu zufällig eine Steuer zu sein.

Ich habe eine Standard einmal kaufen (na ja, mein Arbeitgeber es gekauft): IEEE 1275 Open Firmware. Es war so etwas wie $ 200 von Global Engineering Documents, nachdem ich abgegrast. Es war eine billige Fotokopie auf normalem Kopierpapier. Ich glaube nicht, es war sogar schrumpfverpackt, und es hat schon gar nicht mit jeder Art von Abdeckung kommen. Constant Papierschnitte. Ich habe einen Drei-Ring-Binder und schwor, nie wieder zu tun. (Oh, und der Standard wurde zurückgezogen und ersetzt durch minderwertigen Intelen Mist.)

Mit Blick auf GED Website jetzt verlangen sie $ 30 für einen Rechts PDF von C ++ 03 und 373- 567 $ $ (!) Für ungebundene kopierte Kopien verschiedener angeblich identischen Ausgaben.

Ich bin seit 2004 mit ISO beteiligt, und das ist, was ich bisher gelernt haben. ISO ist keine kommerzielle Organisation, und hat daher keine zahlende Mitglieder. Andere Normierungsgremien wie OMG werden durch die Gebühren finanziert, die Organisationen im Austausch zahlen für die Mitgliedschaft (und Ausüben ihrer Hebelwirkung). ISO nicht funktioniert wie folgt aus: es von nationalen Stellen zusammen, die Vertreter ihrer jeweiligen Länder. Daher ist für die Standards Lade ist der einzige Weg, müssen sie ihre eigene Arbeit finanzieren.

Darüber hinaus und auch aufgrund der Tatsache, dass die ISO nicht kommerziell ist, ist ISO-Zertifizierung nicht tun. Das Geschäft mit der Zertifizierung (das ist eine groß business) von privaten Unternehmen als Teil ihrer Dienstleistungen rund um die ISO-Normen ausgenutzt wird, aber nicht ISO selbst.

Schließlich werden ISO-Normen nicht von Personen gekauft werden soll. Sie werden zu den Organisationen gezielt und preislich entsprechend.

Hope, das hilft.

"Open" hat mehrere Bedeutungen.

In diesem Fall können Sie so viele Kopien der Standards erhalten, wie Sie möchten, egal, wer Sie sind. Sie können sie frei implementieren, ohne weitere Schwierigkeiten. Sie können, wenn Sie möchten, nehmen Sie den Ausschuss und die Arbeit an ihm selbst, und beeinflussen sie auf diese Weise. In allen diesen Punkten ist es offen.

Nun, Sie brauchen Geld, um Kopien des Standard zu erhalten. Ich weiß nicht, auf dem Ausschuss zu sitzen, aber für praktische Zwecke zumindest Kosten werden zu den Treffen gehen.

Ich persönlich glaube nicht, es ist alles, was nützlich, darauf zu bestehen, dass „offen“ bedeutet auch „frei“. Es gibt eine klare Unterscheidung hier zwischen offenen und geschlossenen (in dem Sie Schwierigkeiten haben, eine Kopie haben könnte, oder nicht in der Lage sein, sich frei, es zu benutzen, oder seine Entwicklung zu beeinflussen) und muddling dies mit, ob es kostet wird Geld, um Dinge zu verwirren.

Es gibt auch das Problem, dass der Normungsprozess kostet Geld, das hat kommt von jemandem, sogar die enormen Menge an Freiwilligenarbeit unter Berücksichtigung. Sollte es kommt aus Steuern? Das ist, was die Alternative aussieht wie ich, entweder Steuern oder Gebühren von Personen und Organisationen, die Standards.

Schließlich, ich sehe es nicht als ein echtes Problem. Die Standards sind nicht wirklich nützlich für die meisten Menschen. Sie sind wertlos, wenn der Leser die Sprache bereits kennt, und sie sind nicht einmal sehr gut als allgemeine Hinweise. Sie sind nicht für den flüchtigen Leser. Die Leute, die haben tatsächlich eine Verwendung für sie wahrscheinlich ein paar Dollar für sie ausgeben bereit sein, und das wird die Standards Entscheidungsprozess gehen zu unterstützen.

Es ist offen, wie in „ohne Einschränkungen, wer teilnehmen kann.“ Jedermann kann das C ++ Komitee beizutreten. Es ist ein offener Prozess.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top