c++ - descargar - iso iec 14882
Sitio web y carga de ISO/IEC para estándares C y C++ (8)
El estándar ISO C (ISO / IEC 9899) y el estándar ISO C ++ (ISO / IEC 14882) no se publican en línea; en su lugar, uno debe comprar el PDF para cada uno de esos estándares. Me pregunto cuál es la razón detrás de esto ... ¿no es perjudicial para los lenguajes de programación C y C ++ que las especificaciones autorizadas para estos idiomas no estén disponibles de forma gratuita y no se puedan buscar en línea? ¿No fomenta esto el uso de fuentes posiblemente inexactas y no autorizadas para obtener información sobre estos idiomas?
Si bien entiendo que se ha invertido mucho tiempo y esfuerzo en el desarrollo de los estándares C y C ++, todavía estoy un tanto desconcertado por la opción de cobrar por la especificación. La especificación de OpenGroup Base , por ejemplo, está disponible de forma gratuita en línea; ganan dinero cobrando por la certificación. ¿Alguien sabe por qué los comités de normas ISO no obtienen ingresos al certificar el cumplimiento de las normas, en lugar de cobrar por estos documentos? Además, ¿alguien sabe si el sitio web con apariencia atroz del comité de normas de ISO está hecho intencionalmente para que se vea de esa manera? Es como si no quisieran que la gente visitara y comprara las especificaciones.
Una última cosa ... los estándares C y C ++ generalmente se describen como "estándares abiertos" ... mientras que me doy cuenta de que esto significa que cualquiera puede aplicar el estándar, ¿debería revisarse esa definición de "abierto"? Cobrar por el estándar en lugar de hacerlo abiertamente disponible parece contrario al espíritu de apertura.
PD: sí tengo una copia de ISO / IEC 9899: 1999 e ISO / IEC 14882: 2003, así que no haga comentarios sobre ser barata o algo así ... aunque si tiene la tentación de decir tales cosas, es posible que desee considerar el estudiantes de secundaria, pregrado y posgrado que quizás no tengan tanto dinero extra. Además, es posible que desee considerar el hecho de que el sitio web de la ISO es realmente incompleto y ni siquiera le dicen el costo hasta que proceda al pago ... realmente no alienta a uno a ir y obtener una copia, ahora lo hace ¿eso?
Editar comentario
Se me ocurre que si los comités de normas ISO obtuvieran sus ingresos de la certificación, esto incentivaría cambios más pequeños pero más frecuentes a las revisiones estándar en lugar de revisiones muy grandes con muy poca frecuencia. También incentivaría la creación de un estándar implementable (dudo que el comité ISO C ++ hubiera introducido la "exportación" en primer lugar si obtienen sus ingresos de la certificación).
Encontré una solución a una de las molestias de no tener el PDF en línea ... He cargado mi copia de los estándares en mis documentos de Google, de modo que todavía puedo acceder a ella desde cualquier computadora sin necesidad de cargarla.
¿Alguien sabe por qué los comités de normas ISO no obtienen ingresos al certificar el cumplimiento de las normas, en lugar de cobrar por estos documentos?
Éste puedo responder: no hay dinero para hacer allí. Excepto por EDG, nunca hubo un compilador de C ++ conforme al estándar. E incluso si cobran a los proveedores que lo intentan (y los vendedores son lo suficientemente estúpidos como para que se evalúen sus compiladores obviamente no conformes), además de GCC (¿quién pagaría por ello?), Hay muy pocos vendedores de quienes obtener dinero.
En cuanto a la tarifa: Al menos en un punto, el mejor trato fue comprar la norma C ++ 03 vinculada como un libro.
Si bien entiendo que se ha invertido mucho tiempo y esfuerzo en el desarrollo de los estándares C y C ++, todavía estoy un tanto desconcertado por la opción de cobrar por la especificación. La especificación de OpenGroup Base, por ejemplo, está disponible de forma gratuita en línea; ganan dinero cobrando por la certificación. ¿Alguien sabe por qué los comités de normas ISO no obtienen ingresos al certificar el cumplimiento de las normas, en lugar de cobrar por estos documentos?
No puedo hablar sobre la motivación exacta, pero tenga en cuenta que ISO es una gran organización. No solo estandarizan los lenguajes de programación, sino también las dimensiones del contenedor, los enchufes de alimentación, los tamaños de espectáculo y un millón de otras cosas. También son mucho más que las organizaciones de estandarización más especializadas, muy centradas en la estabilidad, incluso a costa de una gran burocracia, y procesos de trabajo muy lentos.
Me imagino que hay un par de razones por las que cobran por el documento:
- financia parte del trabajo de la organización, y
- ellos no lo ven como un problema. En general , ISO no trata mucho con los estándares que deben usar los individuos. La mayoría de sus estándares están destinados a que las grandes empresas trabajen con otras grandes compañías. Para aquellos, pagar unos pocos dólares no significa nada , e incluso puede verse como una prueba de calidad.
- la organización es bastante vieja No siempre fueron capaces de simplemente distribuir un documento PDF. Lo más probable es que la norma para cobrar una tarifa por los documentos se origine en los días en que tuvieron que imprimirse y enviarse a usted.
- no está comprando el documento de ISO en sí, sino de organismos nacionales específicos, como ANSI. Esto debería darle una idea de cuán grande es el ISO y qué tan grande es la red que debe financiar. De hecho, el precio del estándar varía ampliamente entre países, lo que me lleva a pensar que el precio lo fijan los organismos nacionales individuales, en lugar de hacerlo de forma centralizada por ISO.
- un estándar ISO es bastante pesado. Es el cuerpo de estándares, y si algo está estandarizado por ISO, generalmente puede estar bastante seguro de que se ha trabajado, considerado desde todos los ángulos y realmente funciona en la práctica. Pocas organizaciones tienen esta trayectoria. Mira el tren de guerra que es cada uno de los "estándares" del W3C. Mire la gran cantidad de RFC horriblemente inespecíficos que componen Internet.
- cobrar por la certificación de compiladores de C ++ no es probable que sea una empresa muy rentable. No hay muchos compiladores compatibles, y varios de los compiladores que existen están escritos de forma gratuita, como proyectos de código abierto. Podrían verse significativamente obstaculizados por tener que pagar miles de dólares en honorarios de certificación (y tendría que ser miles de dólares para compensar el ingreso perdido de miles de usuarios que descargaron el estándar). ¿Estás dispuesto a sacar del mercado los nuevos compiladores solo para que puedas ahorrar $ 20 o lo que cobren? ¿Alguna vez G ++ hubiera despegado si hubieran tenido ese tipo de barrera de entrada? ¿El compilador Clang de LLVM? Demonios, ¿Microsoft estaría dispuesto a pagar esta tarifa año tras año, cuando solo podrían centrarse en .NET?
Una última cosa ... los estándares C y C ++ generalmente se describen como "estándares abiertos" ... mientras que me doy cuenta de que esto significa que cualquiera puede aplicar el estándar, ¿debería revisarse esa definición de "abierto"? Cobrar por el estándar en lugar de hacerlo abiertamente disponible parece contrario al espíritu de apertura.
No, usan la definición correcta. No están cobrando por el estándar . Puede implementar un compilador de C ++ de forma gratuita , sin pagar regalías ni costos de licencia. El estándar está abiertamente disponible. Simplemente no está disponible gratuitamente . Pero ciertamente abiertamente. Cualquiera puede obtener acceso a ella. No tiene que estar asociado con ISO, o trabajar para una compañía específica (o cualquier compañía). No tiene que ser ciudadano de un país específico o trabajar en el gobierno o tener un tío que trabajó en el comité de normas. Está abiertamente disponible para cualquiera que esté dispuesto a entregar unos pocos dólares, menos de lo que cuesta un buen libro de texto en C ++.
Es el documento por el que cobran. No es el estándar. El estándar es gratis y abierto. El documento no es gratis.
Realmente, no debería haber nada nuevo en esto. ¿Por qué crees que el movimiento de Código Abierto hace una distinción tan grande de "libre como en la cerveza" y "libre como en libertad"? Porque el código abierto no implica necesariamente de forma gratuita . A menudo, el software de código abierto es gratuito, pero no tiene que serlo, y no siempre es así.
¿Entonces también crees que se debe cambiar el nombre de "código abierto"?
Ya tenemos una palabra que significa "gratis". Es gratis". Un estándar que se distribuye de forma gratuita podría llamarse "gratuito". "abrir" significa algo más. ¿Por qué quiere cambiar el significado de "abrir" para que signifique lo mismo que "libre"?
"Abrir" tiene varios significados.
En este caso, puede obtener tantas copias de los estándares como desee, sin importar quién es usted. Puede implementarlos libremente, sin ninguna dificultad adicional. Si lo desea, puede unirse al Comité y trabajar en ello usted mismo, e influir de esa manera. En todos estos aspectos, está abierto.
Ahora, necesitará dinero para obtener copias del estándar. No sé si formar parte del comité, pero para fines prácticos, al menos habrá gastos para asistir a las reuniones.
Personalmente, no creo que sea tan útil insistir que "abrir" también signifique "gratis". Aquí hay una clara distinción entre abierta y cerrada (en la que puede tener problemas para obtener una copia, o no poder usarla libremente, o para influir en su desarrollo), y confundir esto con si cuesta dinero confundirá las cosas.
También existe el problema de que el proceso de estandarización cuesta dinero que debe provenir de alguien, incluso teniendo en cuenta la enorme cantidad de trabajo voluntario. ¿Debería provenir de los impuestos? Esa es la alternativa que me parece, ya sea impuestos o tarifas de personas y organizaciones que usan los estándares.
Finalmente, no lo veo como un problema real. Los estándares no son realmente útiles para la mayoría de las personas. Son inútiles a menos que el lector ya conozca el idioma, y ni siquiera son muy buenos como referencias generales. No son para el lector casual. La gente que realmente los usa probablemente esté dispuesta a gastar unos dólares en ellos, y eso servirá para respaldar el proceso de elaboración de normas.
Es desafortunado, pero puedo ver por qué es así.
Se requiere que los organismos de normalización se autofinancian; la idea de cobrar los estándares es que quienes se benefician del estándar están pagando por su producción. Como estos organismos de normalización son organizaciones intergubernamentales (no compañías incorporadas como The Open Group), no tienen un estatuto para estar en el negocio de proporcionar certificación, por lo que no pueden financiarlo de esa manera.
Está abierto como en "sin restricciones en cuanto a quién puede participar". Cualquiera puede unirse al comité de C ++. Es un proceso abierto.
Estoy involucrado con ISO desde 2004 y esto es lo que he aprendido hasta ahora. ISO no es una organización comercial, y por lo tanto no tiene miembros que pagan. Otros organismos de normalización como OMG se financian a través de los honorarios que las organizaciones pagan a cambio de ser miembros (y ejercer su influencia). ISO no funciona así: está compuesto por organismos nacionales, que son representantes de sus respectivos países. Por lo tanto, cobrar por los estándares es la única forma en que tienen que financiar su propio trabajo.
Además, y también debido al hecho de que ISO no es comercial, ISO no hace la certificación. El negocio de la certificación (que es un gran negocio) es explotado por empresas privadas como parte de sus servicios en torno a las normas ISO, pero no a la propia ISO.
Por último, los estándares ISO no están destinados a ser comprados por particulares. Están dirigidos a organizaciones y tienen un precio acorde.
Espero que esto ayude.
Para no tolerar la piratería o mantenerme como un modelo a seguir, es bastante fácil obtener una copia.
Simplemente googlear "iso 14882 pdf" producirá de manera confiable un enlace. Por ahora, los resultados están siendo enturbiados por copias de C ++ 0x FCD. Pero las últimas veces que necesité una copia, encontré una gratuita alojada en google.com .
En cuanto a los estudiantes universitarios, recuerdo haber realizado tareas en laboratorios de computación aleatorios donde no tenía mis archivos a mano. Acceda a Google y tengo la referencia en un minuto.
No sé dónde va esa tarifa, que varía tanto de un proveedor a otro. El comité de normas está bien remunerado por sus empleadores. El monto en dólares es demasiado aleatorio para ser un impuesto.
Compré un estándar una vez (bueno, mi empleador lo compró): IEEE 1275 Open Firmware. Fue algo así como $ 200 de Global Engineering Documents después de que compre. Llegó como una fotocopia barata en papel de copiadora normal. No creo que estuviera ni siquiera envuelto, y ciertamente no viene con ningún tipo de cobertura. Cortes de papel constante. Agregué una carpeta de tres anillos y juré nunca volver a hacer eso. (Ah, y el estándar fue retirado y suplantado por una mierda inferior de Intel).
Ahora, al visitar el sitio de GED, cobran $ 30 por un PDF legal de C ++ 03 y $ 373- $ 567 (!) Por copias Xeroxed independientes de varias ediciones aparentemente idénticas.
Por lo que vale, Herb Sutter escribió un artículo tocante a este tema, y hay un poco de discusión en los comentarios:
Como él menciona, "abrir" no necesariamente significa "sin costo". En cuanto a los estudiantes u otras personas con recursos financieros limitados que quieran versiones gratuitas de los documentos, tenga en cuenta que:
- muchas referencias que los estudiantes pueden desear (o incluso que se les solicite que accedan) no son gratuitas
- para la mayoría del trabajo, los estándares simplemente no son un requisito: hay mucha documentación disponible libremente que es más que adecuada para gran parte del trabajo que casi cualquier persona podría querer hacer con C o C ++.
- los borradores de documentos se pueden descargar libremente en muchos casos; si bien no son el estándar, las versiones finales del borrador son muy similares y podrían ser lo suficientemente buenas para muchos usos.
Si te tomas en serio la programación C o C ++, te sugiero que tengas una copia de los estándares (aunque no diría que es un requisito). También sugiero que no se espere que sean libres, al igual que para cualquier ocupación o vocación, las ''herramientas del oficio'' generalmente no son gratuitas, ya sean herramientas físicas como martillos o información. tales como manuales o especificaciones.
De hecho, yo diría que un buen conjunto de referencias sería preferible a un conjunto de estándares, si solo pudieras tener uno o el otro o estás empezando (probablemente querrías un par diferente para C ++ , mientras que Harbison & Steele es todo lo que se necesita para C).
No me malinterpreten: no me opongo a que se pongan a disposición de todos (y estoy feliz de que actualmente sean bastante baratos), pero no creo que haya ninguna razón para esperar que sean gratuitos.
Las respuestas a la pregunta SO: "¿Dónde encuentro los documentos estándar actuales de C o C ++?" , tiene sugerencias para versiones baratas y versiones de borrador gratuitas. También tenga en cuenta que el estándar actual C99 (con TC1 y TC2 incorporado) está disponible para su descarga gratuita:
Hay una nota que N1124 "es un documento de trabajo WG14, pero refleja el estándar consolidado en el momento de la emisión".