Libros de idiomas / Tutoriales para idiomas populares

No hace mucho tiempo que era un codificador 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 objective de esta publicación es documentar algunos de los mejores tutoriales y libros para estos idiomas. Empezaré la lista con lo mejor que pueda encontrar, pero espero que puedan ayudar con mejores sugerencias / nuevos idiomas. Esto es lo que encontré:

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

Progtwigción general

Tutoriales en línea
Fundamentos de la progtwigción Por Karl Seguin – De Codebetter, basado en C #, pero las ideas son ciertas en todos los ámbitos, no puede creer que nadie haya publicado esto aún en realidad.
Cómo escribir código que no se puede mantener : un manual anti que te enseña a escribir código de la manera más inmaterial posible. Sería divertido si muchas de estas sugerencias no suena tan cierto.
La sección de progtwigción de Wiki Books – sugerida por Jim Robert como 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.

Libros
Código completo : este libro es evidente, es shiny en demasiadas formas como para mencionarlo.
El progtwigdor pragmático : la mejor alternativa para trabajar con un progtwigdor maestro, enseñándote todo lo que saben.
Dominio de expresiones regulares: las expresiones regulares son una herramienta esencial en la caja de herramientas de todos los progtwigdores. 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 forma de aprender todos los algoritmos clásicos si encuentra los libros de Knuth demasiado profundos.

do

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

C ++

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

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 c++-annotation paquete de c++-annotation de Synaptic (el paquete instalado se puede encontrar en /usr/share/doc/c++-annotation/ .

Libros
El lenguaje de progtwigción C ++ : crucial para cualquier progtwigdor de C ++.
C ++ Primer Plus : originalmente agregado como un error tipográfico, pero las reseñas de amazon son muy buenas, voy a mantenerlo aquí hasta que alguien diga que es un error.
C ++ efectivo : formas de mejorar sus progtwigs en C ++.
C ++ más efectivo – Continuación de C ++ efectivo.
STL efectivo : formas de mejorar el uso del STL.
Pensando en C ++ – Gran libro, ambos volúmenes. Escrito por Bruce Eckel y Chuck Ellison.
Progtwigción: Principios y práctica con 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 adicionales atornillados”, de hecho, te sumerges directamente y comienzas a utilizar 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 las palabras de definición y el intérprete en profundidad.

Java

Tutoriales en línea
Tutoriales de Java de Sun : un tutorial oficial que parece completo, pero no soy un experto en Java. Ustedes saben de algunos mejores?
Libros
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 un gran recurso para la progtwigción concurrente en Java.

El lenguaje de progtwigción Java

Pitón

Tutoriales en línea
Python.org – La documentación en línea para este idioma es bastante buena. Si sabes algo mejor, házmelo saber.
Inmersión en Python – Sugerido por Nickola. Parece ser un libro de python en línea.

Perl

Tutoriales en línea
perldoc perl – Así es como empecé personalmente con el lenguaje, y no creo que puedas vencerlo.
Libros
Learning Perl : una excelente forma de introducirse en el lenguaje.
Progtwigción de Perl , conocida como la Biblia Perl. Referencia esencial para cualquier progtwigdor serio de perl.
Perl Cookbook – Un gran libro que tiene soluciones para muchos problemas comunes.
La progtwigción moderna de Perl : recién lanzada, contiene la última sabiduría sobre técnicas y herramientas modernas, incluidas Moose y DBIx :: Class.

Rubí

Tutoriales en línea
Adam Mika sugirió Why’s (Poignant) Guide to 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
Progtwigción de Ruby : sugerida como una gran referencia para todo ruby.

Visual Basic

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

PHP

Tutoriales en línea
El sitio principal de PHP : un sencillo tutorial 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
Encontré un tutorial decente aquí orientado a los no progtwigdores. Encontré otro más avanzado aquí . Nickolay sugirió una reintroducción a javascript como una buena lectura aquí.

Libros
Cabeza primero JavaScript
JavaScript: The Good Parts (con un video de Google Tech Talk del autor)

DO#

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

ocaml

Libros
nlucaroni sugirió lo siguiente:
OCaml para científicos Introducción a ocaml
Usando Entender y desentrañar ocaml: practicar a la teoría y viceversa
Desarrollo de aplicaciones usando Ocaml – O’Reilly
El sistema Objective Caml – Official Manua

Haskell

Tutoriales en línea
nlucaroni sugirió lo siguiente:
Explore la progtwigción funcional con Haskell
Libros
Real World Haskell
Progtwigción funcional total

LISP / Esquema

Libros
wfarr sugirió lo siguiente:
The Little Schemer – Introducción al esquema y progtwigción funcional en general
The Seasoned Schemer – Seguimiento de Little Schemer.
Estructura e Interpretación de Progtwigs de Computadora – El libro definitivo sobre Lisp (también disponible en línea ).
Practico Common Lisp : una buena introducción a Lisp con varios ejemplos de uso práctico.
En Lisp : temas avanzados en Lisp
Cómo diseñar progtwigs : una introducción a la informática y la progtwigción
Paradigmas de progtwigción de inteligencia artificial: estudios de caso en Common Lisp : un enfoque para la progtwigción Lisp de alta calidad

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

Sé que esto parecerá anticuado, pero no me gusta usar tutoriales en línea para aprender lenguajes de progtwigción o plataformas. Por lo general, estos no le dan más que un pequeño sabor del idioma. Para realmente aprender un idioma, necesitas 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 quiere aprender Lisp / Scheme, lea 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.

Estos son todos muy buenos, escritos por la academia y (algunos) son libros (un libro oreilly inédito, traducido del francés, pero no he encontrado ningún problema), por ejemplo). He sido mis favoritos que más me han ayudado.

ocaml:

  1. * Introducción a ocaml
  2. Usando Entender y desentrañar ocaml: practicar 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 objective Caml
  6. Práctico Ocaml

Haskell:

  1. Explore la progtwigción funcional con Haskell
  2. * Real World Haskell
  3. * Progtwigción funcional total

Para C # :

  • CLR a través de C #

enter image description here

  • C # en profundidad

enter image description here

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

Haskell :

Libro O’Reilly:

  1. Real World Haskell , un gran libro orientado a tutoriales sobre Haskell, disponible en línea y en versión impresa.

Mis tutoriales en línea generales menos académicos preferidos:

  1. El wikibook de Haskell que contiene todos los excelentes tutoriales de Yet Another Haskell. (Este tutorial ayuda con detalles sobre cómo configurar una distribución de Haskell y ejecutar progtwigs de ejemplo, por ejemplo).
  2. Aprende Haskell for Great Good , en el espíritu de Why’s Poignant Guide to Ruby, pero más al grano.
  3. Escriba usted mismo un Esquema en 48 horas . Ensuciate las manos aprendiendo Haskell con un proyecto real.

Libros sobre progtwigción funcional con Haskell:

  1. Cálculo Lambda, combinators, más teórico, pero de una manera muy realista: Introducción de Davie a los sistemas de progtwigción funcional usando Haskell
  2. Pereza y corrección del progtwig, pensando funcionalmente: Introducción de Bird a la progtwigción funcional usando Haskell

La Java efectiva es imprescindible, pero recomiendo que te sientas cómodo con Java primero para comprender completamente los ejemplos.

Rubí

  • El curso en línea de Free Ruby on Rails de Sang Shin no es tan malo. También tiene una cantidad decente de enlaces de lectura adicionales sobre cada materia en el curso

Agregaría los libros de progtwigción de Bruce Eckel:

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

No puedo creer que nadie haya mencionado las mejores prácticas de Perl . También hay un feed de Twitter que ofrece un PBP por día.

Aprendí Perl del Tutorial de Robert Perl , que recomiendo, pero no se ha actualizado desde 1999. Un tutorial más nuevo recomendado es el Tutorial de Perl de Steve .

Para el desarrollo web con Perl, el claro ganador es Catalyst , y el wiki de Catalyst es el punto de partida para aprender.

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

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

echa un vistazo a la sección de progtwigción de wikibooks

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

Además, w3 schools tiene un gran tutorial php y una sección de referencia

sus secciones html y css también sirven como referencia.

C ++

  • Pensando en C ++ por Bruce Eckel
  • Normas de encoding C ++ por Herb Sutter y Andrei Alexandrescu

El primero es bueno para principiantes y el segundo requiere un nivel más avanzado en C ++.

  • C – El lenguaje de progtwigción C – Obviamente tuve que hacer referencia a K & R, uno de los mejores libros de progtwigción que hay por ahí.
  • C ++ – C ++ acelerado : esta introducción clara y bien escrita a C ++ va directamente al uso de STL y brinda ejemplos agradables, claros y prácticos. Hace honor a su nombre.
  • C # – Pro C # 2008 y la plataforma .NET 3.5 – Un bocado delicioso pero maravillosamente escrito y de gran profundidad.
  • F # – Expert F # – Diseñado para llevar a progtwigdores experimentados de cero a experto en F #. ¡Muy bien escrito, uno de los F’s inventados por el autor para que no te equivoques!
  • Scheme – The Little Schemer – Enfoque realmente único para enseñar un lenguaje de progtwigción muy bien hecho.
  • Ruby – Programming Ruby – Conocido cariñosamente como el libro ‘pick ax’, esta es LA introducción de hecho a Ruby. Muy bien escrito, claro y detallado.

Para Javascript:

  • Javascript: la guía definitiva
  • Técnicas Pro Javascript

Para PHP:

  • Objetos, patrones y práctica de PHP

Para diseño y progtwigción OO, patrones:

  • Construcción de software orientado a objetos (una biblia, tal vez el primer OO de Head sería bueno, no lo sé)
  • Patrones de diseño de Head First (me encanta este libro)
  • Patrones de diseño

Para refactorización:

  • Refactorización: mejorar el diseño del código existente
  • Trabajando Efectivamente con Legacy Code

Para SQL / MySQL:

  • Joe Celko: Árbol y jerarquías en SQL (solo en un tema específico, pero lo encontré interesante)
  • Pro MySQL

C Primer Plus, 5ª Edición – El libro C para obtener si estás aprendiendo C sin experiencia previa en progtwigción. Es mi favorito personal, ya que aprendí a progtwigr a partir de este libro. Tiene todas las cualidades que un libro para principiantes debería tener:

  • No asume ninguna exposición previa a la progtwigción
  • Agradable para leer (sin volverse molesto como para Dummies /
  • No simplifica demasiado

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 excelente para captar el lenguaje de forma concisa, al tiempo que agrega un poco de diversión, sirviendo de trampolín para los libros más detallados que ya se mencionaron.

Sedgewick ofrece grandes series de Algoritmos que son imprescindibles si considera que los libros de Knuth son demasiado detallados. Knuth aparte, Sedgewick aporta un enfoque sólido en el campo y ofrece sus libros en C , C ++ y Java . Los libros de C ++ se pueden usar hacia atrás en C ya que no hace una gran distinción entre los dos idiomas en su presentación.

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

Dejando a un lado los idiomas, y si este hilo se convierte en un tema recurrente para las referencias en las que creo que se dirige debido a la cantidad de contribuciones sólidas, incluya Mastering Regular Expressions , 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 en sí mismo. Además, su utilidad en una amplia gama de idiomas lo hace invaluable.

Common Lisp

Para una buena referencia de CL echa un vistazo a Common Lisp the Language, 2nd Edition

Para Objective C:

Progtwigción de Cocoa para Mac OSX – Tercera edición Aaron Hillegass Publicado por Addison Wesley

Progtwigción en Objective C, Stephen G Kochan,

Head First Javascript es una buena introducción a JS para los progtwigdores principiantes: explica creativamente los conceptos básicos de progtwigción utilizando la syntax 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 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 “etiquetar todos los tipos de datos que puedes encontrar en esta imagen”. Entonces, la luz intermitente de un automóvil es booleana, el letrero de 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 progtwig.

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

The Ruby Way por Hal Fulton

La portada de Ruby Way http://rubyhacker.com/trw2cover.gif

Python: http://diveintopython.net/

JS: una reintroducción a JavaScript es la introducción al lenguaje (no a los detalles del navegador) para los progtwigdores. No conozco un buen tutorial sobre JS en el navegador.

¡Gran idea por cierto!

Teniendo en cuenta los desarrollos recientes, creo que es importante incluir la reciente explosión de ofertas gratuitas de cursos en línea de universidades y empresas privadas. El nuevo boston es un sitio de tutorial que siempre he usado para numerosos idiomas durante años, excelente punto para principiantes.

http://www.udacity.com/

https://www.coursera.org/

http://www.coursehero.org/

http://www.codecademy.com/

http://mitx.mit.edu/

http://www.khanacademy.org/

http://thenewboston.org/

En segundo lugar, la recomendación de Kristopher de K & R para C.

He encontrado que el libro “Essential Actionscript 2.0” es bastante útil para la encoding AS (ahora creo que hay una versión AS3).

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

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

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

La referencia que ha enumerado para Ruby es para Ruby on Rails. Si bien sigue siendo Ruby en el fondo, definitivamente no es un lugar para comenzar para las personas que quieren aprender Ruby.

Para los tutoriales de Ruby, sugeriría Why’s (Poignant) Guide to Ruby como un excelente punto de partida para cualquier persona interesada en el idioma.

Si desea entrar en más detalles, 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 rato si alguien está considerando comprar este libro.

Para J2EE tienes un tutorial muy completo en: http://java.sun.com/javaee/5/docs/tutorial/doc/

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

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 funcionará bien en su código concurrente y en el desarrollo de Java en general.

El estándar de facto para aprender Grails es el excelente Getting Started with Grails de Jason Rudolph. Puede debatir si se trata de 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.

DO#

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

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

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