Вы находитесь на странице: 1из 7

MASS PRODUCED SOFTWARE COMPONENTS, BY M.D.

MCILROY
(componentes de software producidos en masa)

Resumen

Los componentes de software (rutinas), para ser ampliamente aplicable a diferentes mquinas y usuarios,
debe estar disponible en familias dispuestas de acuerdo a la precisin, robustez, la generalidad y el
rendimiento tiempo-espacio. Las fuentes existentes de componentes - fabricantes, empresas de software,
grupos de usuarios y colecciones de algoritmos - carecen de la amplitud de los intereses o la coherencia
del propsito de reunir ms de una o dos de produccin de software, sin embargo, sera enormemente
ayudado por el disponibilidad de espectros de rutinas de alta calidad, como el diseo mecnico es
fomentado por la existencia de familias de formas estructurales, tornillos o resistencias. La charla ser
examinar los tipos de variabilidad necesaria en componentes de software, los modos de produccin de los
inventarios tiles, tipos de componentes que estn maduros para esa normalizacin y los mtodos de la
institucin de la produccin piloto.

La industria del software no est industrializada.

Sin duda, producimos software mediante tcnicas atrasadas. Sin duda, obtenemos el extremo corto de la
vara en enfrentamientos con la gente de hardware, ya que son los industriales y nosotros los pequeos
agricultores. La produccin de software hoy en da aparece en la escala de la industrializacin en algn
lugar debajo de lo ms atrasado de la industria de la construccin .
Creo que su lugar apropiado es considerablemente mayor, y me gustara investigar las posibilidades de las
tcnicas de produccin en masa en el software.

En la frase "las tcnicas de produccin en masa," mi nfasis est en tcnicas y no en la llanura de
produccin en masa. Por supuesto, la produccin en masa, en el sentido de la replicacin ilimitado de un
prototipo, es trivial para el software. Sin embargo, ciertas ideas de la tcnica industrial reivindico son
relevantes. La idea de los subconjuntos se traslada directamente y es bien explotada.

La idea de partes intercambiables corresponde aproximadamente a nuestro trmino "modular", y se
respeta de manera irregular.

La idea de la mquina-herramienta tiene un anlogo en los programas de montaje y compiladores. Sin
embargo, esta frgil analoga es desmentida cuando buscamos para los anlogos de otros smbolos
tangibles de la produccin en masa. No existen fabricantes de piezas estndar, y mucho menos los
catlogos de piezas estndar. Uno no puede pedir piezas a las especificaciones individuales de tamao,
robustez, velocidad, capacidad, precisin o conjunto de caracteres.

La cumbre de software son los sistemas sistemas excluyendo a casi todos los dems aspectos.
Componentes dignificados como un campo de hardware, no se conoce como una rama legtima de
software. Cuando nos comprometemos a escribir un compilador, comenzamos diciendo "Qu
mecanismo tabla vamos a construir? 'No,' Qu mecanismo vamos a utilizar? sino 'Qu mecanismo
debemos construir? Yo reclamo que hemos hecho lo suficiente de esto para empezar a tomar este tipo de
cosas fuera de la plataforma.

Componentes Software

Mi tesis es que la industria del software est dbilmente fundada, y que uno de los aspectos de esta
debilidad es la ausencia de una sub industria de componentes de software. Tenemos experiencia suficiente
para percibir el entorno de una sub industria. Tengo la intencin de elaborar este esquema, pero sospecho
que el nombre de "componentes de software" muy probablemente haya conjurado para usted una idea de
cmo la industria puede operar. Argumentar tambin que una industria de componentes podra ser
inmensamente til, y sugerir por qu no se ha materializado. Finalmente voy a plantear la cuestin de la
puesta en marcha de una "planta piloto" para los componentes de software.

La caracterstica ms importante de una industria de componentes de software es que va a ofrecer a las
familias de las rutinas para cualquier trabajo dado. Ningn usuario de un miembro particular de una
familia debe pagar una multa, en la generalidad no deseado, por el hecho de que l est empleando una
rutina modelo estndar. En otras palabras, el comprador de un componente de una familia elegir uno
adaptado a sus necesidades exactas. Se consultar a un catlogo que ofrece rutinas en diversos grados de
precisin, robustez, rendimiento espacio-tiempo, y la generalidad. l ser la confianza de que cada rutina
de la familia es de alta calidad - fiable y eficiente. Se esperar que la rutina sea inteligible, sin duda,
expresado en un lenguaje de alto nivel adecuado a la finalidad del componente, aunque no necesariamente
de forma instantnea compilable en cualquier procesador. Se esperar que las familias de las rutinas que
se construirn en los principios racionales para que las familias encajen como bloques de construccin.
En resumen, l debe ser capaz de considerar los componentes como cajas negras.

As, el constructor de un ensamblador ser capaz de decir 'voy a utilizar una tabla de smbolos Cadena
Associates A4, tamao 500x8', y con la misma considerar que se haga. Como un bonus, que ms tarde
puede experimentar con alternativas a esta eleccin, sin incurrir en costos extremos.

Un Ejemplo Familiar
Considere una rutina humilde. Cunto debera ofrecer un catlogo estndar? A primera vista uno piensa
en varias dimensiones en las que queremos tener la variabilidad:

Precisin, por lo que tal vez diez funciones diferentes se aproximan y podran ser suficientes

Floating-vs-fixed computation

Argument ranges 0-/2, 0-2, also -/2 to /2, - to , -big to +big

Robustness ranging from no argument validation through signaling of complete loss of
significance, to signaling of specified range violations

Tenemos aqu 10 precisiones, 2 escalamientos, 5 cocinas y 3 robustnesses. La ltima opcin de gama y la
ltima opcin robustez son en realidad parmetros arbitrarios pueden especificar por el usuario. Esto nos
da un inventario bsico de 300 rutinas de seno. Adems se podra esperar de un completo catlogo para
incluir una rutina sine medicin estndar, la cual brinda (a un precio) que resulten de la precisin
especificada en tiempo de ejecucin.
Otra dimensin de variabilidad, que es tal vez difcil de implementar, ya que atiende a necesidades muy
detallados es
Tiempo-espacio compensacin por la tabla de consulta, ajustable en varias sub dimensiones '':
(a) Tamao de la tabla
(b) La cuantificacin de las entradas (e.g., las entradas son conocidas por ser nmeros enteros
de grados)
Otra posibilidad es
(c) Aprovechando las propiedades conocidas de secuencias de entrada que se espera, por
ejemplo, se benefician de la presencia de las sucesivas llamadas de seno y coseno del mismo
argumento.
Una compaa de salir a escribir 300 rutinas seno de una a la vez y con la esperanza de recuperar el
volumen de ventas, sin duda, ir a la quiebra. No me puedo imaginar a algunos de sus artculos del
catlogo siempre ordenado. Afortunadamente, el costo de ofrecer un "inventario" tal no tiene que ser casi
300 veces el costo de mantener una rutina. Existen tcnicas automatizadas para generar aproximaciones
de diferentes grados de precisin. Varios edicin y tcnicas de unin son posibles para insertar o eliminar
el cdigo pertinente para cada grado de robustez. Tal vez slo la dicotoma flotante-vs-fijo en realidad
requerir fundamentalmente diferentes rutinas. As, parece que el inventario bsico no sera difcil de
crear.

El ejemplo de la rutina seno re-enfatiza un hecho interesante acerca de este negocio. Es seguro afirmar
que casi todos los senos se calculan en coma flotante en estos das, sin embargo, que no justificaran
descartando la opcin de punto fijo, para que puedan as deshacerse de una gran parte del negocio en las
rutinas de medida distintos para miradas de pequeos ProcessControl y otras aplicaciones en tiempo real
en todo tipo de hardware diferente. 'La produccin en masa "de software significa multiplicidad de lo que
la industria manufacturera llamara' modelos 'o' tamao 'en lugar de la multiplicidad de rplicas de cada
uno.

Familias parametrizadas de Componentes

Una frase contiene gran parte del secreto de hacer familias de componentes de software: "tiempo de
unin." Esta es una frase 'in' de este ao, pero es ms popular en la teora que en el campo. Casi las
nicas aplicaciones de multiples tiempo de unin que se me ocurre son generadores de clasificacin y los
llamados Sysgen tipos de aplicacin: llenar los parmetros en el momento rutinas son compilados para
controlar el tamao de la tabla, y en cierta medida para controlar eleccin entre varios cuerpos de cdigo.
El ms conocido de estos, IBMs OS/360 Sysgen es de hecho elaborado casas de software se han
erigido como expertos en este trabajo. Sysgen difiere, sin embargo, en un par de maneras de lo que tengo
en mente como la forma en que una industria de componentes de software podra funcionar.

Primero, Sysgen crea sistemas no para la construccin, sino ms bien por escisin, a partir de un modelo
internacional. Los tipos de ajustes en Sysgen son bastante limitados. Por ejemplo, puede asignar
diferentes cantidades de espacio para un compilador, pero no se puede ajustar el ancho de campos de lista
de enlace en proporcin al tamao del espacio de lista. Una industria de componentes por otro lado, la
produccin de componentes no es para la aplicacin a un sistema especfico, tendra que ser flexible en
ms dimensiones, y tendra que proporcionar rutinas cuyos nichos en un sistema fueran menos claramente
delineados.

En segundo lugar, Sysgen no est diseado para reducir el cdigo objeto o tiempo de ejecucin.
Tpicamente Sysgen establece el preajuste de los defaults, tales como si los listados de cdigo objeto son
o no la salida estndar de un compilador. Volviendo a la rutina de seno, esto es algo as como la
construccin de una rutina de baja precisin mediante el clculo de alta precisin y luego tirar con
cuidado para sacarla de los bits menos significativos.

Despus de haber demostrado que sysgen no es el patrn exacto para una industria de componentes, me
apresuro a aadir que en espritu es casi la nica forma en que una industria de componentes exitosos
podra operar. Para purvey un espectro racional de los componentes de alta calidad de un fabricante
tendra que sistematizar su produccin. Uno no podra abastecerse 300 rutinas de seno a menos que
estuvieran todas en algunos casos el sentido de slo unos pocos modelos, altamente parametrizados, en la
que casi todos los parmetros estaban destinados a cumplir de forma permanente antes de tiempo de
ejecucin. Uno podra llamar a estos parmetros los parmetros-en tiempo de compilacin Hora de
Venta.
Muchos de los parmetros de un componente de software bsico ser cualitativamente diferente de los
parmetros de las rutinas que conocemos hoy en da. Habr por lo menos

Eleccin de precisin. Tomado en un sentido generalizado de precisin incluye cosas como el ancho de
los caracteres, y el tamao de los campos de direccin o puntero.

Eleccin de robustez. El equilibrio exacto entre la fiabilidad y la compacidad en el espacio y el tiempo
puede afectar fuertemente el rendimiento de un sistema. Este aspecto de parametrizacin y el prximo
probablemente se situar en primer lugar en importancia para los clientes.

Eleccin de generalidad. El grado en el que los parmetros se dejan ajustar en tiempo de ejecucin.

Eleccin de comportamiento espacio-tiempo.

Eleccin de algoritmo. En rutinas numricas, como se ejemplifica por aquellos en el CACM, esta
eleccin es bien entendida por todos. Para rutinas no numricas, sin embargo, esta eleccin por lo general
debe ser decidida sobre la base del folclore. Como algunos algoritmos no numricos son a menudo
espectacularmente inadecuados para hardware en particular, una gran opcin es quizs an ms
imperativa para ellos.

Eleccin de Interfaces. Las rutinas que utilizan varias entradas y producen varios resultados deben venir
en una variedad de estilos de interfaz. Por ejemplo, estos diferentes estilos de comunicacin de las salidas
de error deben estar disponibles:
a. Retornos alternativos
b. Cdigo de error
c. Llamar a un manejador de errores
d. Seal (en el sentido de PL/1)
Otro ejemplo de la variabilidad interfaz es que las dimensiones de parmetros de la matriz deben cobrar
formas caractersticas de varios lenguajes principales de programacin.

Eleccin del mtodo de Acceso. Diferentes formas de acceso al almacenamiento deben ser apoyadas, por
lo que un cliente poda elegir el que mejor se ajuste a sus necesidades en velocidad y espacio, las
capacidades de direccionamiento de su hardware o su gusto por el estilo de programacin.

Eleccin de las estructuras de datos. Este delicado asunto requiere una planificacin cuidadosa para que
los algoritmos sean tan insensibles a los cambios de estructura de datos como sea posible. Cuando
radicalmente diferentes estructuras son tiles para problemas similares (por ejemplo, la matriz de
incidencia y la lista de representaciones de grficos), se pueden requerir varios algoritmos.

reas de aplicacin

Tenemos que empezar a pensar en pequeo. A pesar de los anuncios en el sentido de que los
compiladores enteros estn disponibles en una "base prcticamente fuera de la plataforma-, no creo que
estemos listos para hacer subassemblles software de ese tamao en una base de produccin. Componentes
ms prometedores para empezar son los siguientes:

Rutinas de aproximacin numrica. Estos son muy bien entendidos, y las dimensiones de la
variabilidad de estas rutinas son tambin bastante clara. Algunos otros procesos numricos no son tan
buenos candidatos; buscadores de races y rutinas de ecuaciones diferenciales, por ejemplo, siguen siendo
motivo de investigacin, no produccin en masa. Sin embargo, otros procesos "numricos"), como rutinas
de inversin de la matriz, son simplemente patrones lgicos para la secuenciacin que son casi
desprovisto de variabilidad. Estos pueden ser vendidos por una industria de componentes para la
integridad en aras ', pero pueden ser igual de bien tomados del CACM.

Conversin de entrada-salida. Las piezas bsicas aqu son rutinas de conversin de bases, algunas
rutinas de anlisis triviales, y galletas de formato. De una coleccin bien diseada de las familias debe ser
posible fabricar cualquier cosa, desde un simple paquete octal on-line para un pequeo equipo de
laboratorio para un paquete de conversin Fortran IV. La variabilidad aqu, especialmente en materia de
precisin y robustez es sustancial. Planificacin considerable a proyectos evidentemente ser necesaria
para obtener una flexibilidad suficiente sin tener demasiadas rutinas bsicamente diferentes.

Dos y tres dimensiones geomtricas. Aplicaciones de esta de clasificacin estn en marcha una amplia
clase de mquinas, y en la actualidad se guardan generalmente propietaria. Uno puede enumerar
fcilmente unas pocas docenas de rutinas fundamentales de la geometra. La dimensin adhesiva de la
variabilidad aqu es en estructuras de datos. Dependiendo de qu aspecto de las figuras geomtricas se
considera fundamental puntos, superficies, topologa, etc. se requerir diferentes rutinas. Una lnea
completa debe atender a diferentes estructuras abstractas, y tambin ser insensible a estructuras concretas.

Procesamiento de textos. Nadie usa nadie ms analizadores generales o escneres de hoy, en parte
debido a una rutina suficiente para cumplir con todos los deseos individuales particulares en general,
probablemente tiene mucho generalidad como para ser ineficiente. El principio de los tiempos vinculantes
variables podra ser muy fructfera explotado aqu. Entre el conjunto de rutinas en esta rea sera
constructores Diccionario y rutinas de bsqueda, escneres y sintetizadores de salida, todos ellos capaces
de trabajar en secuencias continuas, en los registros de la unidad, y varios formatos de lista enlazada, y en
los modos de acceso adecuados para una variedad de hardware.

Gestin de almacenamiento. Asignacin de almacenamiento dinmico es un tema popular para la
publicacin, de la que todava no existe un conocimiento real no es suficiente. Antes de la construccin de
una lnea de productos para esta aplicacin, uno debe hacer una considerable comparacin de esquemas
conocidos que trabajan en entornos prcticos. No obstante gestin de almacenamiento es tan importante,
especialmente para la manipulacin de texto, que debera ser un candidato temprano.

El Mercado

Viniendo de uno de los usuarios ms grandes de sofisticadas mquinas, tengo una gran oportunidad para
ver la trgica prdida de las tcnicas de escritura de software actuales. En Bell Telephone Laboratorios
tenemos cerca de 100 mquinas de propsito general de una docena de fabricantes. A pesar de que
muchos se dedican a aplicaciones especiales, una enorme cantidad de software similar se debe escribir
para cada uno. Todos necesitan de conversin de entrada-salida, caracteres alfabticos veces slo
individuales y nmeros octales, un poco de estilo Fortran en toda regla I / O. Todos necesitan montadores
y podra utilizar los microprocesadores, aunque no necesariamente la compilacin en el mismo hardware.
Muchos necesitan rutinas numricas bsicas o generadores de secuencias. La mayora quiere la velocidad
a toda costa, pocos quieren considerable robustez.

No hace falta decir mucho de esta programacin de apoyo se hace subptima y con una penalizacin
cientfica grave de desvo de los propietarios de la mquina de sus investigaciones centrales. Para la
construccin de estos sistemas de clase alta componentry tendramos que rodean cada uno de unas 50
mquinas con un crculo permanente de especialistas en software. Si fuera posible con rapidez y
confianza para valernos de lo mejor que hay en los algoritmos de apoyo, un equipo de consultores de
software sera capaz de guiar a los cientficos hacia soluciones rpidas y mejores a los problemas de
soporte ms mundanos de sus sistemas personales.

En la descripcin de la forma en los Laboratorios Bell podra utilizar componentes de software, tengo la
intencin de se describe el mercado en un microcosmos. Laboratorios Bell no es tpico de los usuarios de
computadoras. Como centro de investigacin y desarrollo, debe forzosamente gastar ms de su tiempo de
afilar sus herramientas, y menos uso de ellos que hace una tienda de informtica de la produccin. Pero es
exactamente un mercado orientado a los sistemas hacia la que una industria de componentes se dirigira.

El mercado estara integrado por especialistas en la construccin del sistema, que sera capaz de usar las
piezas probadas para todas las partes ms comunes de sus sistemas. Los principales clientes de todo seran
los fabricantes. (no sera un signo seguro de que los productos ofrecidos no eran lo suficientemente
buenos.) El consumidor final de los sistemas basados en componentes debe ver mejorado
considerablemente la fiabilidad y el rendimiento, ya que sera posible gastar proporcionalmente ms
esfuerzo crtico partes de los sistemas, y tambin para evitar las fallas ahora prevalentes de las partes ms
mundanas de los sistemas, que han sido especificados por los expertos, y luego han sido.

Da Presente Proveedores

Usted puede preguntar, as que no tenemos exactamente lo que he estado llamando desde hace ya en
varios lugares? Qu pasa con los algoritmos recogidos MCCA? Qu pasa con los grupos de usuarios?
Qu pasa con las casas de software? Y qu pasa con enormes paquetes de software de los fabricantes?

Ninguna de estas fuentes abastece exactamente con el propsito que tengo en mente, ni creo que sea
probable que alguno de ellos realmente evolucionar para cubrir la necesidad.

Los algoritmos del MCCA, en un mbito limitado, tal vez vienen ms cerca de ser un producto fuera de la
plataforma en general disponible que hacer los productos comerciales, pero sufren algunas deficiencias
fuertes. Los primeros son un crisol de las contribuciones personales, a menudo estilsticamente variado.
Encajan en ningn plan, para el editor slo puede publicar lo que los autores voluntarios. En segundo
lugar, al ser efectivamente ligado a un solo lenguaje compilable, logran refereeability pero deben
forzosamente evitar completamente los algoritmos para el que Algol es inadecuada o bien utilizar
circunloquios tan abominable que el producto slo puede ser considerado como un juguete. En tercer
lugar, como un complemento de una sociedad cientfica, la seccin de los algoritmos del MCCA no puede
hacer frente en un gran nmero de variantes de un mismo algoritmo; la variabilidad slo puede ser
proporcionada por los parmetros de tiempo de ejecucin caros.

Grupos de usuario que creo pueden ser despedidos sumariamente y yo ahorrar una arenga a sus
deficiencias.

Casas de software generalmente no tienen los recursos para desarrollar sus propias lneas de productos; su
trabajo debe ser financiado, y gran financiacin puede slo suele obtenerse de grandes productos. As que
vemos las casas de software de sistemas o programas muy grandes, como los compiladores de Fortran,
paquetes de programacin lineal o flowcharters purveying. No espero ver ninguna casa de software la
publicidad de una familia de funciones de Bessel o rutinas de smbolos presentacin en el futuro
previsible.

Los fabricantes producen cantidades increbles de software. En general, ya que este es el material que se
usa ms fuertemente todo es bastante confiable, un buen gris conservador, que no incluye la mejor rutina
para cualquier cosa, pero eso es mejor que el programador medio es probable que haga. Como hemos
escuchado ayer los fabricantes tienden a ser bastante pragmticos en su eleccin de los mtodos. Golpean
saldos en gran medida razonables entre la generalidad y la especificidad y no suelen utilizar enfoques
absolutamente inadecuados en cualquiera de los componentes de software individuales. Pero el afn de
lucro de donde brota estas virtudes tambin engendra su mejor momento de colgar - sistemas ahora. El
sistema es lo primero; componentes son meramente incidentales molestos. Fuera de estas cintas no espero
para ver aparecer los componentes de alta clase de utilidad general.

Una fbrica de components

Despus de haber demostrado que es poco probable que nacer entre los proveedores tradicionales de
software Paso ahora a la cuestin de hasta qu punto puede ser que consiga comenzado una industria de
componentes.

Hay una cierta masa crtica a la que la industria debe alcanzar antes de que sea til. Nuestro proveedor de
300 rutinas de seno probablemente ira a la quiebra a la espera de los clientes, si eso es todo lo que se
ofreci, al igual que una empresa de electrnica mdulos de circuito de venta para un solo propsito
tendra problemas en el mercado.

Tomar algn tiempo para desarrollar un inventario til, y durante ese tiempo se necesitaba dinero y
talento. La primera fuente de apoyo que viene a la mente es gubernamental, tal vez canalizada a travs de
las empresas de investigacin semi-independientes.

Parece que el hecho de que el gobierno es el mayor usuario y el propietario de las mquinas debe ser un
incentivo suficiente para tal empresa que tiene promesa para hacer una mejora generalizada de la pensin
en el desarrollo de sistemas.

Incluso antes de la fundacin de una planta piloto, uno sera prudente han demostrado las tcnicas para la
creacin de una familia con parmetros de rutinas para un par de propsitos familiares, dicen que una
rutina de seno y un mdulo de Fortran I / O. Estas rutinas se deben mostrar para ser utilizable como
reemplazos en una serie de ambientes radicalmente diferentes. Esta demostracin podra ser realizado por
una agencia gubernamental, un contratista de la investigacin, o por un usuario grande, pero ciertamente
sin esperar recompensa inmediata.

La orientacin industrial de una planta piloto hay que tener siempre en cuenta. Creo que todo el proyecto
es uno improbable para la investigacin universitaria. Talento Investigacin calibre ser necesaria para
hacer el trabajo con la economa y la fiabilidad satisfactoria, pero el espritu gua de la empresa debe estar
orientada la produccin. La capacidad de producir miembros de una familia no es suficiente. Distribucin,
catalogacin, y la planificacin racional de la mezcla de las familias de productos estarn a la larga ser
ms importante para el xito de la empresa que ser el logro puramente tcnico.

El personal de una planta piloto debe ser similar al personal en muchos proyectos de software grandes,
con las masas de codificadores eliminados. Se necesitarn Muy buena planificacin, y con fuerza de
control de productos de mente. Habr quiz ms sabor investigacin incluy lo que podra ser en un
proyecto de software comn, ya que el nivel de la programacin aqu ser ms abstracto: Gran parte del
trabajo ser en la creacin de generadores de rutinas en lugar de en la toma de las propias rutinas.

Pruebas tendr que ser hecho de varias maneras. Cada miembro de una familia, sin duda, a prueba contra
algn modelo muy general para asegurar que la unin causas sin degradacin en el tiempo de ejecucin
vinculante venta-tiempo. Prueba del producto implicar transcribir las rutinas para caber en hardware
representativo. Mediante el control de la facilidad con que las personas con justicia subalternos hacen
prueba de producto, los gerentes podran estimar la claridad del producto, lo cual es importante en la
prediccin de la aceptacin del cliente.

Distribucin ser un problema delicado. Entrega rpida tambin puede ser ms valioso estimulante de
ventas de un proveedor de componentes. Uno piensa inmediatamente en la distribucin por enlace de
comunicacin. Entonces incluso componentes muy pequeos podran ser rentable su comercializacin. El
catlogo ser igualmente importante. Un documento exhaustivo y fsicamente condensada como el
catlogo de Sears Roebuck-es lo que me gustara tener mi propio yo estbamos comprando componentes.

Una vez que un corpus de lneas de productos se estableci y demostr el potencial de ganancias, yo
esperara que las casas de software para hacerse cargo de la industria. De hecho, eran el apoyo externo
necesario desde haca tiempo, yo dira que la empresa no haba podido (y tratar de olvidar que yo haba
propuesto l).

Tocar sobre Estndares

No creo que una industria de componentes se puede estandarizar a la existencia. Como es habitual en las
normas, sera temerario normalizar antes de que tengamos los modelos. Normas del idioma, siempre que
sean lo suficientemente floja como para no impedir modos tiles de computacin, por supuesto sern
tiles. Muy pronto se podra esperar una industria de componentes para converger en unos pocos tipos
estndar de interfaz. La experiencia, sin duda, revelan otras normas para ser til, por ejemplo, tamaos de
texto ms comunes y conjuntos de caracteres, pero de nuevo a menos que las normas abarcan la mayor
parte de los sistemas de software (a diferencia de los usuarios), la industria de componentes se mueren
por falta de mercado.

Resumen

Me gustara ver que los componentes se convierten en una rama digna de ingeniera de software. Me
gustara ver los catlogos estndar de rutinas, clasificados por la precisin, robustez, rendimiento espacio-
tiempo, los lmites de tamao y tiempo de fijacin de parmetros. Me gustara aplicar rutinas en el
catlogo con una cualquiera de una gran clase de frecuencia bastante diferentes mquinas, sin demasiado
dolor. No insisto en que yo sea capaz de compilar una rutina particular directamente, pero yo insisto en
que la transcripcin sea esencialmente directa. No quiero que la rutina sea inherentemente ineficiente
debido a ser expresada en trminos de mquinas independientes. Quiero tener confianza en la calidad de
las rutinas. Quiero que los diferentes tipos de rutina en el catlogo que son similares en propsito a ser
diseado de manera uniforme, de modo que dos rutinas similares deben estar disponibles con opciones
similares y dos opciones de la misma rutina deben ser intercambiables en situaciones indiferentes a esa
opcin.

Lo que acabo de pedido no es ms que el industrialismo, con trminos de programacin sustituidos por
algunos de los trminos ms orientada mecnicamente apropiadas para la produccin en masa. Creo que
hay reas considerables de software listo, si no vencida, por este enfoque.

Вам также может понравиться