Libros de idiomas / Tutoriales para idiomas populares

249

No hace mucho tiempo que era un programador principiante, tratando de encontrar buenos libros / tutoriales sobre los idiomas que quería aprender. Aún así, hay veces que necesito aprender un idioma relativamente rápido para un nuevo proyecto en el que estoy trabajando. El objetivo de esta publicación es documentar algunos de los mejores tutoriales y libros para estos idiomas. Comenzaré la lista con lo mejor que pueda encontrar, pero espero que ustedes puedan ayudar con mejores sugerencias / nuevos idiomas. Aquí está lo que encontré:

Como esto ahora es editable en wiki, estoy dando el control a la comunidad. Si tiene una sugerencia, por favor póngala en esta sección. Decidí también agregar una sección para ser un mejor programador de libros y referencias en línea. Una vez más, todas las recomendaciones son bienvenidas.

Programacion general

Tutoriales en línea
Fundamentos de programación Por Karl Seguin: de Codebetter, está basado en C # pero las ideas suenan verdaderas en todos los ámbitos, no puedo creer que nadie haya publicado esto todavía.
Cómo escribir código que no se puede mantener : un anti manual que le enseña a escribir código de la manera más inimaginable posible. Sería divertido si muchas de estas sugerencias no sonaran tan ciertas.
La Sección de Programación de Wiki Books - sugerida por Jim Robert por tener una gran cantidad de libros / tutoriales en varios idiomas en varias etapas de finalización.
Solo lo básico Para tener una idea de un idioma.


Código de libros completo : este libro no hace falta decir que es verdaderamente brillante en muchas formas de mencionar.
El programador pragmático : lo mejor para trabajar con un codificador maestro y enseñarle todo lo que saben
Dominar las expresiones regulares: las expresiones regulares son una herramienta esencial en la caja de herramientas de cada programador. Este libro, recomendado por Patrick Lozzi, es una excelente manera de aprender de lo que son capaces.
Algoritmos en C , C ++ y Java : una excelente manera de aprender todos los algoritmos clásicos si encuentra los libros de Knuth demasiado profundos.

C

Tutoriales en línea
Este tutorial parece bastante consistente y minucioso, revisó el material y parece ser bastante bueno. Sin embargo, no estoy seguro de cuán amigable sería para los nuevos programadores.
Libros
K&R C : un clásico seguro. Se podría argumentar que todos los programadores deberían leerlo.
C Primer Plus : sugerido por Imran como el mejor libro de C para programadores principiantes.
C: Un manual de referencia : una gran referencia recomendada por Patrick Lozzi.

C ++

Tutoriales en línea
El tutorial en cplusplus.com parece ser el más completo. Encontré otro tutorial aquí, pero no incluye temas como el polimorfismo, que creo que es esencial. Si viene de C, este tutorial puede ser el mejor para usted.

Otro tutorial útil, C ++ Annotation . En la familia Ubuntu, puede obtener el libro electrónico en formato múltiple (pdf, txt, Postscript y LaTex) instalando el c++-annotationpaquete de Synaptic (puede encontrar el paquete instalado en /usr/share/doc/c++-annotation/.

Libros
El lenguaje de programación C ++ : crucial para cualquier programador de C ++.
C ++ Primer Plus : agregado originalmente como un error tipográfico, pero las revisiones de Amazon son tan buenas que las mantendré aquí hasta que alguien diga que es un fracaso.
C ++ eficaz : formas de mejorar sus programas en C ++.
C ++ más eficaz : continuación de C ++ más eficaz.
STL eficaz : formas de mejorar su uso del STL.
Pensando en C ++ - Gran libro, ambos volúmenes. Escrito por Bruce Eckel y Chuck Ellison.
Programación: Principios y práctica usando C ++ - Introducción de Stroustrup a C ++.
C ++ acelerado - Andy Koenig y Barbara Moo: una excelente introducción a C ++ que no trata a C ++ como "C con bits extra atornillados", de hecho, te sumerges directamente y comienzas a usar STL desde el principio.

Adelante

Libros
FORTH, un texto y referencia. Mahlon G. Kelly y Nicholas Spies. ISBN 0-13-326349-5 / ISBN 0-13-326331-2. 1986 Prentice-Hall. Los libros de Leo Brodie son buenos, pero este libro es aún mejor. Por ejemplo, cubre palabras definitorias y el intérprete en profundidad.

Java

Tutoriales en línea Tutoriales
Java de Sun : un tutorial oficial que parece exhaustivo, pero no soy un experto en Java. ¿Ustedes saben de alguna mejor?
Books
Head First Java - Recomendado como un gran texto introductorio por Patrick Lozzi.
Java efectivo : recomendado por pek como un gran texto intermedio.
Core Java Volume 1 y Core Java Volume 2 : sugerido por FreeMemory como algunas de las mejores referencias de Java disponibles.
Concurrencia de Java en la práctica : recomendado por MDC como gran recurso para la programación concurrente en Java.

El lenguaje de programación Java

Pitón

Tutoriales en línea
Python.org : la documentación en línea para este lenguaje es bastante buena. Si conoces algo mejor, házmelo saber.
Sumérgete en Python - Sugerido por Nickola. Parece ser un libro de python en línea.

Perl

Tutoriales en línea
perldoc perl : así es como comencé personalmente con el idioma, y ​​no creo que pueda superarlo.
Books
Learning Perl : una excelente manera de presentarte al idioma.
Programación de Perl : muy conocida como la Biblia de Perl. Referencia esencial para cualquier programador perl serio.
Perl Cookbook : un gran libro que tiene soluciones a muchos problemas comunes.
Programación moderna de Perl : recientemente lanzada, contiene la sabiduría más reciente sobre técnicas y herramientas modernas, incluidos Moose y DBIx :: Class.

Rubí

Tutoriales en línea
Adam Mika sugirió la guía de Why (conmovedora) de Ruby, pero después de echarle un vistazo, no sé si es para todos. Encontré este sitio que parece ofrecer varios tutoriales para Ruby on Rails.
Libros
Programación Ruby : sugerido como una gran referencia para todas las cosas ruby.

Visual Basic

Tutoriales en línea
Encontré este sitio que parece dedicarse a tutoriales básicos visuales. Sin embargo, no estoy seguro de lo buenos que son.

PHP

Tutoriales en línea
El sitio PHP principal : un tutorial simple que permite comentarios de los usuarios para cada página, lo que realmente me gusta. Tutoriales PHPFreaks - Varios tutoriales de diferentes longitudes de dificultad.
Tutoriales de Quakenet / PHP: tutorial de PHP que lo guiará desde cero.

JavaScript

Tutoriales en línea
Encontramos un tutorial decente aquí dirigido a los no programadores. Encontré otro más avanzado aquí . Nickolay sugirió una reintroducción a JavaScript como una buena lectura aquí.

Books
Head first JavaScript
JavaScript: The Good Parts (con un video de Google Tech Talk del autor)

C#

Tutoriales en línea Tutorial de
C # Station - Parece ser un tutorial decente que desenterré, pero no soy un chico de C #.
Especificación de lenguaje C # - Sugerido por tamberg. No es realmente un tutorial, pero es una gran referencia sobre todos los elementos de C #
Books
C # hasta el punto , sugerido por tamberg como un texto breve que explica el lenguaje con una profundidad asombrosa

ocaml

Libros
nlucaroni sugirió lo siguiente:
OCaml para científicos Introducción a ocaml
Usando Comprender y desentrañando ocaml: práctica a la teoría y viceversa
Desarrollando aplicaciones usando Ocaml - O'Reilly
El sistema Objective Caml - Manua oficial

Haskell

Tutoriales en línea
nlucaroni sugirió lo siguiente:
Explore la programación funcional con Haskell
Books
Real World Haskell
Total Functional Programming

LISP / Esquema

Libros
wfarr sugirió lo siguiente:
The Little Schemer - Introducción a Scheme y programación funcional en general
The Seasoned Schemer - Seguimiento a Little Schemer.
Estructura e interpretación de programas informáticos : el libro definitivo sobre Lisp (también disponible en línea ).
Lisp común práctico : una buena introducción a Lisp con varios ejemplos de uso práctico.
En Lisp - Temas avanzados en Lisp
Cómo diseñar programas - Una introducción a la computación y programación de
paradigmas de programación de inteligencia artificial: estudios de caso en Lisp común - un enfoque para la programación de Lisp de alta calidad

¿Y ustedes chicos? ¿Estoy totalmente fuera de allí? ¿Dejé tu idioma favorito? Tomaré los mejores comentarios y modificaré la pregunta con las sugerencias.

Craig H
fuente

Respuestas:

33

Sé que esto parecerá anticuado, pero no pienso mucho en usar tutoriales en línea para aprender lenguajes de programación o plataformas. Estos generalmente no le dan más que una pequeña muestra del idioma. Para aprender realmente un idioma, necesita el equivalente de un "libro", y en muchos casos, esto significa un verdadero libro de árbol muerto.

Si quieres aprender C, lee K&R. Si quieres aprender C ++, lee Stroustrup. Si quieres aprender Lisp / Scheme, lee SICP. Etc.

Si no está dispuesto a gastar más de $ 30 y unas pocas horas para aprender un idioma, probablemente no lo va a aprender.

Kristopher Johnson
fuente
Estoy de acuerdo en que si realmente quieres aprender un idioma profundamente, un libro es generalmente el camino a seguir. Sin embargo, creo que el libro de Stroustrup es bastante pobre desde un punto de vista pedagógico. Diría la misma crítica (incluso más enfáticamente) al libro de GoF.
Dónal
Realmente no me gusta el libro de Stroustrup, mi preferencia es Thinking in C ++ de Bruce Eckel. Y prefiero los libros electrónicos, porque puedo Ctrl + F. Me salvó la vida cuando hice Algoritmos I clase (con el libro Introducción a los algoritmos)
Tian Bo
99
No tengo nada en contra de los libros electrónicos. El punto es que debe ser un "libro" real, escrito por un experto y revisado por expertos, y no un tutorial gratuito de 5,000 palabras que haya encontrado en alguna parte de la web, escrito por alguien que no sepa mucho más que usted hacer.
Kristopher Johnson
20

Todos estos son realmente buenos, escritos por la academia y (algunos) son libros (un libro de oreilly inédito, traducido del francés, pero no he encontrado ningún problema), por ejemplo). He * 'mis favoritas que más me ayudaron.

ocaml:

  1. * Introducción a ocaml
  2. Usando Entender y desentrañando ocaml: práctica a la teoría y viceversa
  3. * Desarrollo de aplicaciones usando Ocaml - O'Reilly
  4. El sistema Objective Caml - Manual oficial
  5. Una introducción concisa al objetivo Caml
  6. Ocaml práctico

Haskell

  1. Explore la programación funcional con Haskell
  2. * Mundo real Haskell
  3. * Programación funcional total
revs nlucaroni
fuente
8

Para C ++, sugiero C ++ acelerado de Koenig y Moo como texto inicial, aunque no sé cómo sería para un novato absoluto. Se centra en usar el STL de inmediato, lo que hace que hacer las cosas sea mucho más fácil.

Mark Krenitsky
fuente
Pero creo que Accelerated C ++ no es para principiantes completos, creo que C ++ Primer Plus (5a edición) es para principiantes completos.
Ibn Saeed
7

Haskell :

Libro de O'Reilly:

  1. Real World Haskell , un gran libro orientado a tutoriales sobre Haskell, disponible en línea e impreso.

Mis tutoriales en línea favoritos, menos académicos en línea:

  1. El wikibook de Haskell que contiene todo el excelente Tutorial de Yet Another Haskell. (Este tutorial ayuda con los detalles de la configuración de una distribución de Haskell y la ejecución de programas de ejemplo, por ejemplo).
  2. Aprende un Haskell para el gran bien , en el espíritu de Why's Poignant Guide to Ruby pero más al grano.
  3. Escríbete un esquema en 48 horas . Ensucia tus manos aprendiendo Haskell con un proyecto real.

Libros sobre programación funcional con Haskell:

  1. Cálculo lambda, combinadores, más teóricos, pero de una manera muy realista: Introducción de Davie a los sistemas de programación funcional con Haskell
  2. La pereza y la corrección del programa, pensando funcionalmente: Introducción de Bird a la programación funcional con Haskell
Jared Updike
fuente
5

Efectivo Java es imprescindible, pero recomiendo sentirse cómodo con Java primero para comprender completamente los ejemplos.

pek
fuente
4

Añadiría los libros de programación de Bruce Eckel:

En general, su página de "Libros" ( http://mindview.net/Books/ ) es un buen recurso. Los libros disponibles gratuitamente también se pueden encontrar en http://www.ibiblio.org/pub/docs/books/eckel/

JJarava
fuente
3

Para Lisp y Scheme (diablos, programación funcional en general), hay pocas cosas que brinden una base más sólida que The Little Schemer y The Seasoned Schemer . Ambos proporcionan una introducción muy simple e intuitiva tanto a Scheme como a la programación funcional que resulta mucho más simple para los nuevos estudiantes o aficionados que cualquiera de los volúmenes típicos que se difunden como una versión de no ficción de War & Peace .

Una vez que se han movido más allá de la serie Schemer, SICP y On Lisp son dos opciones fantásticas.

wfarr
fuente
3

echa un vistazo a la sección de programación de wikilibros

Muchos de ellos están completamente formados, y algunos tienen secciones más avanzadas (que se encuentran en diferentes estados de finalización) sobre funcionalidades específicas.

Además, W3 Schools tiene un gran tutorial de PHP y una sección de referencia

sus secciones html y css también son buenas para referencia.

Jiaaro
fuente
3
  • C - El lenguaje de programación C - Obviamente yo tenía para hacer referencia K & R, uno de los mejores libros de programación por ahí parada completa.
  • C ++ - C ++ acelerado - Esta introducción clara y bien escrita a C ++ va directamente al uso de STL y ofrece ejemplos agradables, claros y prácticos. Hace honor a su nombre.
  • C # - Pro C # 2008 y la plataforma .NET 3.5 - Un poco bocado pero maravillosamente escrito y gran profundidad.
  • F # - Experto F # - Diseñado para llevar a programadores experimentados de cero a expertos en F #. Muy bien escrito, uno de los autores inventó F # para que no te equivoques.
  • Scheme - The Little Schemer - Enfoque realmente único para enseñar un lenguaje de programación hecho realmente bien.
  • Ruby - Programación Ruby - Conocido cariñosamente como el libro 'pick axe', esta es LA introducción de facto a Ruby. Muy bien escrito, claro y detallado.
ljs
fuente
3

Para Javascript:

Para PHP:

Para el diseño y programación OO, patrones:

Para refactorizar:

Para SQL / MySQL:

Ced-le-pingouin
fuente
2

C Primer Plus, 5ª edición : el libro C que debes obtener si estás aprendiendo C sin ninguna experiencia previa en programación. Es mi favorito personal, ya que aprendí a programar de este libro. Tiene todas las cualidades que debe tener un libro amigable para principiantes:

  • No asume ninguna exposición previa a la programación.
  • Agradable de leer (sin volverse molesto como For Dummies /
  • No simplifica demasiado
Imran
fuente
2

No olvidemos Head First Java , que podría considerarse el primer paso esencial en este lenguaje o tal vez el paso después de los tutoriales en línea de Sun. Es genial con el propósito de comprender el idioma de manera concisa, al tiempo que agrega un poco de diversión, sirve como un trampolín para los libros más detallados que ya se mencionaron.

Sedgewick ofrece excelentes series sobre algoritmos que son imprescindibles si encuentra que los libros de Knuth son demasiado profundos. Dejando a un lado a Knuth, Sedgewick aporta un enfoque sólido al campo y ofrece sus libros en C , C ++ y Java . Los libros de C ++ podrían usarse al revés en C ya que no hace una distinción muy grande entre los dos lenguajes en su presentación.

Cada vez que estoy trabajando en C, C: un manual de referencia, de Harbison y Steele , me acompaña a todas partes. Es conciso y eficiente a la vez que es extremadamente minucioso, por lo que no tiene precio (para mí de todos modos).

Dejando a un lado los idiomas, y si este hilo se va a convertir en referencias recurrentes en las que creo que se dirige de esa manera debido a la cantidad de contribuciones sólidas, incluya Dominio de expresiones regulares , por razones que creo que la mayoría de nosotros conocemos ... Algunos también dirían que la expresión regular puede considerarse un lenguaje por derecho propio. Además, su utilidad en una amplia gama de idiomas lo hace invaluable.

Patrick Loz
fuente
2

Para el objetivo C:

Programación de cacao para Mac OSX - Tercera edición Aaron Hillegass Publicado por Addison Wesley

Programación en el Objetivo C, Stephen G Kochan,

stevechol
fuente
2

Head First Javascript es una buena introducción a JS para los programadores principiantes: explica de manera creativa los conceptos básicos de programación utilizando la sintaxis JS. La serie Head First se basa en técnicas investigadas para ayudarlo a aprender y recordar nueva información. Te hacen hacer muchos ejercicios y acertijos que pueden parecer juveniles, pero que realmente ayudan a consolidar el conocimiento en tu cerebro.

Un ejercicio que realmente me gustó fue después de que explicaron los tipos de datos, muestran una imagen de una calle de la ciudad y dicen "etiqueta todos los tipos de datos que puedes encontrar en esta imagen". Entonces, la luz intermitente en un automóvil es booleana, el letrero en la tienda es una cadena y la dirección es un número. Eso me ayudó a tener la idea de cómo traducir información real en un programa.

Basándome solo en este libro, diría que la serie Head First es una excelente manera de aprender algo la primera vez , pero el formato similar a la historia que tienen los haría difíciles de usar como referencias.

Nathan Long
fuente
1

Secundo la recomendación de Kristopher de K&R para C.

El libro "Essential Actionscript 2.0" me pareció bastante útil para la codificación AS (creo que hay una versión AS3 disponible).

Descubrí que tener libros reales para hojear es más útil que una referencia en línea en algunos casos. Aunque no estoy seguro de por qué.

Herms
fuente
1

hmm, no sé si diría que los materiales en línea son inútiles, pero sí estoy de acuerdo en que hay algo sobre los libros. Tal vez estén mejor escritos, o tal vez sea el acto de gastar más de $ 50 lo que lo hace más propenso a estudiar el material.

De cualquier manera, estoy de acuerdo en que los libros deberían ser parte de esta pregunta. Si alguien tiene alguna sugerencia de libros para idiomas, editaré la publicación con las mejores sugerencias.

Craig H
fuente
1

La referencia que ha enumerado para Ruby es para Ruby on Rails. Si bien todavía es rubí en el fondo, definitivamente no es un lugar para comenzar para las personas que desean aprender Ruby.

Para los tutoriales de Ruby, sugeriría la Guía de por qué (conmovedora) de Ruby como un excelente punto de partida para cualquier persona interesada en el idioma.

Si desea obtener más detalles, le recomendaría el libro Programming Ruby , que se ha convertido en el estándar para todas las cosas de Ruby. La tercera edición se está escribiendo actualmente, destacando las características de Ruby 1.9, por lo que esperaría un momento si alguien está considerando comprar este libro.

Adam Mika
fuente
El libro de Why es bueno, pero las pequeñas historias son demasiado tontas. Me molestaron, no me ayudaron.
Rayne
1

Para Java, me altamente recomiendo Core Java . Es un tomo grande (o dos tomos grandes), pero he encontrado que es una de las mejores referencias en Java que he leído.

Memoria libre
fuente
1

Sé que esta es una publicación cruzada desde aquí ... pero, creo que uno de los mejores libros de Java es Java Concurrency in Practice de Brian Goetz. Un libro bastante avanzado, pero se usará bien en su código concurrente y el desarrollo de Java en general.

Matt Cummings
fuente
1

El estándar de facto para aprender Grails es el excelente Introducción a Grails por Jason Rudolph. Puede debatir si es un tutorial en línea o un libro, ya que se puede comprar pero está disponible como descarga gratuita. Se están publicando más libros "reales" y recomiendo Beginning Groovy and Grails.

EDT
fuente
1

C#

C # al punto por Hanspeter Mössenböck. En solo 200 páginas, explica C # con una profundidad asombrosa, centrándose en conceptos subyacentes y ejemplos concisos en lugar de agitar las manos y capturas de pantalla de Visual Studio.

Para obtener información adicional sobre características específicas del lenguaje, consulte la especificación del lenguaje C # ECMA-334 .

Framework Design Guidelines , un libro de Krzysztof Cwalina y Brad Abrams de Microsoft, proporciona más información sobre las principales decisiones de diseño detrás de la biblioteca .NET.

Tamberg
fuente