La evolucion

Páginas: 13 (3082 palabras) Publicado: 2 de abril de 2013
5.1  Librería Estándar de Plantillas (STL)
FUENTE: http://www.zator.com/Cpp/E5_1.htm
§1  Sinopsis
La librería estándar de plantillas, o STL ("Standar Template Library"), siglas por las que se la conoce, es un gran conjunto de estructuras de datos y algoritmos que conforman una parte sustancial de la Librería Estándar C++.
A pesar de que la definición anterior es irreprochablemente correcta,y que el lector puede encontrar una introducción sobre el significado de los términos "estructuras de datos" y "algoritmos" en el capítulo correspondiente de esta obra ( 1.8). Al estudiante que se asoma por primera vez, una definición como la anterior posiblemente lo deje más frió que caliente. Digamos entonces que la STL es en realidad un banco de trabajo construido casi exclusivamente sobre doselementos ya existentes en el lenguaje:  los tipos abstractos (clases) y las plantillas ("Templates"). Con estos elementos, su creador y colaboradores (ver nota histórica a continuación ) han creado un extraordinario conjunto de utilidades que comprende estructuras de datos y algoritmos (muy genéricos) para su manejo.
Los criterios de diseño de la STL pueden resumirse en dos palabras: generalidady eficiencia.  En palabras de su creador [6]:  "STL no es un intento de imponer otro estándar a la sufrida humanidad.  Tampoco fue diseñada 'para' ni 'por' un comité. Es el resultado de 15 años de investigación en programación genérica que he realizado en diversos sitios, con diferentes colaboradores, y en diferentes lenguajes de programación. Realicé este trabajo con un objetivo concreto enmente:  encontrar un modo de escribir algoritmos de la forma más general, pero de forma que su grado de abstracción no impusiera ninguna penalización en el rendimiento".
En esta librería existen dos aspectos interesantes (apuntados antes) que no son compartidos por muchos otros componentes de la Librería Estándar.  El primero es que la STL es un conjunto de algoritmos escritos en C++;  es decir: utilizando recursos que ya existen en el lenguaje. El otro aspecto es su alto nivel de abstracción.
Nota:  En realidad la STL está constituida casi exclusivamente de plantillas, al extremo que el propio presidente del comité de estandarización definió a esta librería como "Plantillas con esteroides" [7]. Más de 9000 líneas de código altamente refinado que puede producir código tanto o más eficaz queel que podamos construir nosotros manualmente.
Respecto al segundo punto, su inventor explica [5]: "Una agradable característica de la STL es que el único sitio en que se hace referencia a tipos relacionados con la máquina (algo que hace referencia a punteros o referencias a ellos) se reduce a 16 líneas de código. Todo lo demás, todos los contenedores y algoritmos, se han construido sobre tiposabstractos sin mencionar nada que tenga relación con la máquina".



Alexander  Stepanov comenzó a trabajar en la idea germinal de lo que luego sería la STL a finales de la década de 1970, cuando trabajaba en el centro de investigación de General Electric en Schenectady NY junto con Deepak Kapur y David R. Musser. Incluso desarrollaron un lenguaje denominado Tecton que soportara lo que ellosllamaban estructuras genéricas. Stepanov trabajó después en los laboratorios AT&T, donde coincidió con Bjarne Stroustrup y Andrew Koenig. Posteriormente recaló en los laboratorios de Hewlett-Packard de Palo Alto en California, donde en 1992 comenzó a desarrollar la librería de plantillas dentro del proyecto de programación genérica de HP, en el que dirigía a un grupo decolaboradores.  Posteriormente se uniría al grupo Meng Lee (Stepanov ha llegado a decir:  "After all, STL stands for Stepanov and Lee").
Desde sus inicios Stepanov había intentado plasmar sus ideas en los distintos lenguajes de programación disponibles en el momento.  Principalmente Ada, que dispone de algunos conceptos apropiados.  Stepanov y Musser publicaron incluso una librería Ada que contenía el resultado de sus...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Evolucion
  • Evolucion
  • Evolucion
  • Evolución
  • Evolucion
  • Evolucion
  • Qué Es y Qué No Es La Evolución
  • Evolucion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS