2010-04-12 9 views
5

he estado programando por un tiempo, pero nunca he tenido una educación formal en ciencias de la computación. Me gustaría saber si hay un recurso que revise los conceptos clave de programación como constructo, polimorfismo, etc., que sería aplicable a diferentes idiomas. también sería muy útil si el recurso dara ejemplos.conceptos de programación de teclas y terminología en una variedad de idiomas

+0

Reemplacé las etiquetas "java" y "C#" con "lenguajes de programación" y "oop", ya que la pregunta se relaciona con los lenguajes de programación en general. – markusk

Respuesta

4

Concepts, Techniques, and Models of Computer Programming (by Peter Van Roy and Seif Haridi): el título lo dice todo. (Del mismo autor y basada en el libro viene this cool poster with ~30 of the most important programming paradigms.) [Nota: este libro que coloquialmente se conoce como marca comunitaria, es posible toparse con esa sigla de vez en cuando.]

Structure and Intepretation of Computer Programs (by Harold Abelson and Gerald Jay Sussman). El SICP, como se lo conoce coloquialmente, probablemente sea el libro sobre programación. Período. No se olvide de the 1986 video lectures by the authors themselves o one del othercourses según el libro. La principal diferencia entre SICP y CTM es el enfoque: CTM enseña conceptos de programación dando ejemplos en un lenguaje de programación muy poderoso (Distributed Oz) que ya los implementa, mientras que SICP enseña conceptos de programación implementándolos en un lenguaje (Scheme , o mejor dicho, un pequeño subconjunto de ella) que aún no los tiene. IOW: CTM enseñaría OO a mostrar programas escritos en un lenguaje OO, SICP implementando un sistema OO en Scheme.

Design Concepts in Programming Languages (by Franklyn A. Turbak and David K. Gifford with Mark A. Sheldon) es más acerca de la programación de la teoría del lenguaje que la programación. Todavía es bastante interesante, a pesar de que no aborda directamente su pregunta sobre los conceptos de programación. Pero después de todo: ¿cómo programarías sin un lenguaje de programación?

Concepts of Programming Languages (by Robert W. Sebesta) explica, así, los conceptos de lenguajes de programación, comenzando con Plankalkül de Konrad Zuse, continuando con los primeros verdadera lenguajes de programación como Fortran, Lisp, Cobol, Algol, BASIC y luego a C, C++, Java y Ada. [Nuevamente, más de un libro de Lenguaje de Programación que Programación.]

3

Programming Language Pragmatics es una visión general bastante accesible pero en profundidad de los conceptos del lenguaje de programación. Hace un buen trabajo al explicar los fundamentos del lenguaje de programación sin ser excesivamente académico o teórico.

3

Realmente disfruté leyendo Concepts in Programming Languages por John C. Mitchell.

El libro cubre un poco de todo. Incluye una introducción a los fundamentos matemáticos, como la teoría de la computabilidad y el cálculo lambda, pero me pareció bastante legible (en el momento en que lo estaba leyendo, que fue temprano durante mis estudios de pregrado). También incluye un poco sobre la semántica de los lenguajes de programación (es decir, cómo describir el significado formalmente).

Luego habla sobre muchos lenguajes de programación y conceptos que provienen de ellos y son interesantes, incluyendo LISP (que es una base para Clojure), ML (una base para F # de Microsoft) pero también Simula y Smalltalk (dos lenguajes fundamentales de OO) y C++ con Java (lenguajes OO prácticos con un enfoque bastante diferente). También hay algunas notas sobre diferentes enfoques de concurrencia (¡bastante importante hoy en día!)

No entra en muchos detalles y cubre una amplia gama de temas, lo que considero un beneficio si quiere leerlo para obtener una visión general amplia de la teoría del lenguaje de programación. El libro realmente motivó mi interés actual en los lenguajes de programación :-).

Noté que el libro tiene algunas críticas negativas en Amazon, pero parece que la mayoría son de personas que tuvieron que tomar el curso de Mitchell basado en el libro y no les gustó el curso.

+1

Me encanta que el título del libro sea literalmente la pregunta :-) –

Cuestiones relacionadas