Programación
Programacion en C++
Reseña histórica
Desde un punto de vista histórico, el C es anterior al C++, aunque el estándar C++ fuera publicado antes que el de C [2], de modo, que paradójicamente el hijo influyó en el estándar del padre. Así pues, la propuesta de ANSI C recogió algunas de las normas del C++. Ambos nacieron en los prestigiosos laboratorios Bell de la AT&T (American Telephone and Telegraph) en Murray Hill (New Jersey USA) [3]. El primero de la mano de Brian W. Kernighan y Dennis M. Ritchie (la "K" y la "R" de K&R, siglas con las que se les conoce), el segundo es de Bjarne Stroustrup.
La primera edición del libro: "El lenguaje de programación C" de K&R es de 1978. Por su parte la primera edición de: "El lenguaje de programación C++" de Stroustrup es de 1986. El propio Stroustrup reconoce que comenzó a trabajar en su diseño en 1979; justo un año después de la publicación del clásico de K&R. Las primeras versiones en uso del lenguaje (bajo el nombre de "C con clases"

en el entorno de los departamentos de investigación de la AT&T se
remontan a 1980. La primera utilización del lenguaje fuera del entorno
de investigación data de Agosto de 1983. La designación actual C++ fue
acuñada en el verano de 1.983 por Rick Mascitti. El primer compilador
comercial fue lanzado en Octubre de 1985.
Como todos los lenguajes (naturales y de programación), el C++ es un resultado de la evolución; de forma que recoge influencia de sus ancestros, algunos de los cuales ya se han señalado ( 0.1). Además es en sí mismo un producto en evolución. Las últimas aportaciones datan de los 80, y se refieren principalmente al mecanismo de excepciones y a las plantillas ("Templates"

.
Sin duda la mejor fuente de información sobre la historia y evolución de este lenguaje es su propio inventor, de modo que remitimos al lector a sus propias palabras D&EC++.
§3 Estudiar C++
"C++ should not be for beginners, as it is better to learn the principles from a clearer language than be confused by what all the syntactic knobs and dials, and superfluous constructs do in C++. As for courses, C++ has proven so difficult to learn that you need lots of courses". Ian Joyner "C++??" ( [Joyner-96]).
Para tener una perspectiva histórica parece natural estudiar primero C y después C++, con lo que se empiezan a ver las diferencias y salvedades entre uno y otro. Este es el enfoque de algunos libros; de hecho el ya comentado manual de ayuda "C++ Builder Languaje Guide" sigue más o menos esta pauta. Dedica muchos comentarios a las diferencias entre C y C++, y al final dedica un capítulo a los asuntos que son exclusivos de este último. Algunos de estos libros incluso hacen comentarios curiosos, que ya solo tienen sentido desde un punto de vista histórico. Por ejemplo, citan que los ficheros fuente de los programas C deben tener nombres con terminación ".c" y los de C++ terminaciones ".cc" o ".cpp", lo que es superfluo para los compiladores actuales. Por ejemplo, Borland C++Builder puede compilar perfectamente fuentes .c como C o como C++ con un simple indicador (-P) en la orden de llamada.
Bjarne Stroustrup, creator of C++
Nota: Otros, como los compiladores GNU C/C++, permiten utilizar ambos criterios. Además de poder utilizar una directiva explícita, pueden distinguir el tipo de compilación por la terminación de los fuentes. Por ejemplo, las terminaciones .c son tratadas y compiladas como fuentes C, mientras que los sufijos .C; .Cpp; .C++; .cc son compilados como C++. Otros compiladores C++ Unix como Solaris de SUN o HP-UX pueden compilar fuentes con terminaciones .C, .c, .cc, .cpp o .cxx.
C++ no nació como un lenguaje orientado a objetos puro. Más bien se trataba de añadirle "objetos" al clásico C de K&R, ya que el nuevo paradigma de programación "con objetos", se mostraba como un paso adelante en el arte de la programación. De hecho, aunque C++ introduce nuevas palabras clave y operadores para manejo de clases, algunas de sus extensiones tienen aplicación fuera del contexto de programación con objetos (fuera del ámbito de las clases). Esta es también la causa de que C++, junto con las magníficas cualidades del C, arrastre algunas de sus deficiencias. Sigue siendo permisivo (aunque menos) "intentando hacer algo razonable con lo que se haya escrito", solo que a veces, sin que nos demos cuenta, se pasa de listo. Por supuesto, con ambos lenguajes resulta cierto el viejo aforismo informático: "Un programa no hace lo que queremos que haga, sino lo que le hemos dicho que haga". En el caso del C++ quizás tendríamos que añadir: "Mas lo que él decide por su cuenta"... :-)
Cuando se trata de programas sencillos, que no requieren necesariamente de las características "++" de la POO, surge inmediatamente la cuestión si será mejor hacerlo en C o en C++, Cual es mas rápido? Cual proporciona un código más compacto? Según dicen los expertos, con los actuales compiladores el resultado está en tablas. Las diferencias se mantienen en un margen de ± 5% y por lo general los resultados se encuentran a la par. Sin embargo, en cuanto se trata de escribir programas algo más complicados que mostrar el consabido "Hola mundo", las diferencias de productividad son notables, con una indiscutible ventaja a favor del C++.
Nota: En cierta forma esta discusión, usar C++ o C, es un poco bizantina, dado que a efectos prácticos el segundo es un subconjunto del primero (de hecho, los compiladores GNU C y C++ están integrados en un solo producto). Más bien cabría discutir si, utilizando C++, merece o no la pena usar los recursos de la POO.
Dicho esto queda una cuestión: Aunque estudiar C++ a partir de C proporciona una perspectiva histórica, una visión del desarrollo del lenguaje, de como fueron sucediendo las cosas. En mi opinión, hacerlo de esta forma no solo es innecesario sino quizás contraproducente para el estudiante normal. No digo que esté de más, solo que es un camino innecesariamente farragoso. Me parece que se trata de una situación parecida a la de alguien que quisiera aprender español empezando por aprender latín. Por supuesto no estaría de más si tiene tiempo y gana, si se es un lingüista. Se tendrá un mayor conocimiento del lenguaje y su evolución; se comprenderá mejor el porqué de ciertas cosas. Pero para el extranjero que simplemente necesita entenderse en español, es evidentemente innecesario. Digo esto, porque al ser la POO un paso superior de abstracción respecto de los primeros sistemas de "traslación de fórmulas". Un paso en la evolución de los lenguajes de programación, con un cuerpo de doctrina ya suficientemente consolidado y coherente, las cosas pueden explicarse partiendo directamente del estudio de C++ y aprovechando todas sus posibilidades desde el principio. Incluso diría que intentando "olvidarse" del viejo C que aún pervive en su interior. Es perfectamente factible introducir el concepto general de clase y objeto, para decir después que las estructuras son una "clase" especial que tiene estas y las otras propiedades (todas sus propiedades son públicas), sin necesidad de introducir el concepto tradicional de "estructura" C, para luego decir que en C++ son un tipo especial de clase... Esto tendrá la ventaja adicional de permitir al neófito empezar a pensar "en objetos" con más rapidez.
Bibliografia:
El libro está orientado a enseñar al lector las ventajas que ofrece C++, a descubrir las técnicas de programación clave y a ir mucho más allá del punto donde sólo se aprende el código copiando ejemplos y emulando estilos de programas de otros lenguajes. El objetivo es ayudar al lector a conseguir los conocimientos adecuados para llegar a ser mejor programador y diseñador.Esta es la nueva edición del libro de Programación en C++ escrito por el creador de este lenguaje. Este libro es best-seller en su área, de forma que se han vendido de todas las ediciones del mismo más de 750,000 ejemplares, lo que le coloca como el libro más leído de C++. Esta edición especial, respecto a ediciones anteriores, enfatiza los aspectos didácticos, también se han aumentado los detalles técnicos y la precisión. Se ha hecho un libro con profundidad suficiente para llegar a más programadores, incorporando a su vez anotaciones que lo hacen más comprensible. Como resultado del uso generalizado de C++ y de una mayor experiencia de la obra, esta edición especial presenta técnicas de aplicación más directa de lo que antes era posible. Por otra parte, ofrece una biblioteca estándar que coloca al programador en un nivel mucho más elevado.
Contenido:
1. Observaciones para el lector.
2. Un recorrido por C++.
3. Un recorrido por la biblioteca estándar.
Parte I. Características básicas.
4. Tipos y declaraciones.
5. Punteros, arrays y estructuras.
6. Expresiones y sentencias.
7. Funciones.
8. Espacios de nombres y excepciones.
9. Archivos fuente y programas. Parte
II. Mecanismos de abstracción.
10. Clases.
11. Sobrecarga de operadores.
12. Clases derivadas.
13. Plantillas.
14. Control de excepciones.
15. Jerarquías de clases.
Parte III. La biblioteca estándar.
16. Contenedores y organización de la biblioteca.
17. Contenedores estándar.
18. Algoritmos y objetos función.
19. Iteradores y asignadores.
20. Cadenas.
21. Flujos.
22. Aspectos numéricos.
Parte IV. Diseño con C++.
23. Desarrollo y diseño.
24. Diseño y programación.
Descarga: MEGAUPLOAD
Compilado de Manuales de variados lenguages
Aprenda C++ Como si Estuviera en Primero
Aprenda Java Como si Estuviera en Primero
Aprenda Lenguaje Ansi C Como si Estuviera en Primero
Aprenda Servlets de Java Como si Estuviera en Segundo
Aprenda Visual Basic 6.0 Como si Estuviera en Primero
Apuntes en C++
Borland Object Pascal Language Guide (Inglés)
Cruso de PHP
Curso Básico de Pascal
Curso de C++
Curso de CGI
Curso de DHTML
Curso de iniciación a la programación en VB .NET
Curso de Javascript
Curso Visual Basic 6.0
El lenguaje de programación C#
El Lenguaje de Programación C++
El Lenguaje HTML
Estructuras de Datos
Guía Para Escribir Documentos HTML
HTML Dinámico
Introducción a Active Server Pages (ASP)
Java Desde Cero
Javascript Bible Gold Edition (Inglés)
La Cara Oculta de C++ Builder
Lenguaje C
Los Threads en Java
Manual Básico de C++
Manual de Asp
Manual de Php
Manual Práctico Javascript
Metodología de la Programación en Pascal
Metodología de la Programación Pascal
Programación Avanzada en Java
Programación C
Programación con Frontpage
Programación en C y C++ (Manual FV)
Programación en C++
Programación en Perl
Programación en Visual Basic .NET
Programación Gráfica en C
Programación OOP con C++
Programación Win API con C++
Teach Yourself Borland C++ Builder in 14 Days (Inglés)
Visual Basic
Aca el link:
http://rapidshare.com/files/198687921/Lenguajes_de_Programacion.rar
Copyright (c)2009 RinconNerd.com.ar
