¿Cuál es el mejor libro para aprender codificación como autoestudio?

No tengo una manera de desaprender al programa, así que no puedo demostrar que este es un buen enfoque, pero puedo compartir cómo desearía haber podido aprender a programar. Con suerte, en realidad es un enfoque válido para un principiante.

En mi opinión, la lección más importante cuando se comienza es aprender algunos de los conceptos básicos de programación. No son conceptos básicos de algoritmos, matemáticas y patrones de diseño. Esos vendrán después. Incluso conceptos más fundamentales como cómo ejecutar su código, cómo ramificarse en una condición, cómo usar una variable para realizar un seguimiento de un valor o cómo repetir lo mismo muchas veces. Creo que la mejor manera de aprenderlos es simplemente hacerlos y crear un entorno en el que pueda experimentar y jugar con código para ver cómo funciona.
Creo que la mejor manera de hacerlo ahora es elegir un entorno con un REPL (un bucle de lectura, evaluación, impresión) que realmente solo significa una herramienta que le permite escribir una declaración y ver qué sucede cuando se ejecuta de inmediato. Eso le brinda una forma de jugar con el código sin preocuparse por la configuración de herramientas y otras tareas más complejas que podrían interferir en la exploración de lo que significa pensar como un programador. Habrá tiempo para todo eso si te entusiasmas con la práctica y quieres construir más cosas. Aún más importante, un RELP le brinda la recompensa rápida y fácil de ver que su trabajo realmente hace algo de inmediato. No debería tener que adivinar si lo que hizo funcionó y no debería tener que hacer mucho trabajo solo para descubrir que algo está mal. Pruebe algo nuevo, vea cómo falla, aprenda lo que necesita cambiar para que funcione, vea cómo funciona, ríe, repita.

Comenzaría con http://tryruby.org/levels/1/chal … se ejecuta directamente en su navegador, por lo que no hay nada que configurar y lo guía a través de la práctica de algunas de las partes más fundamentales de la programación en solo unos minutos.
Si eso es divertido y desea obtener más información, eche un vistazo a http: //ruby.learncodethehardway…. para un tipo similar de ejercicio que cubre más problemas y hace que el entorno se ejecute en su máquina local para que pueda guardar su trabajo y realmente comenzar a escribir programas que le indiquen a su computadora que haga el trabajo por usted.

Estoy recomendando las herramientas de Ruby porque me gusta el lenguaje, creo que le permite explorar muchos de los patrones comunes que verá en los lenguajes de programación, y se utiliza para hacer un gran trabajo real y valioso, por lo que hay una fuerte comunidad de desarrolladores que lo utilizan. para resolver problemas reales Hay muchas ideas que Ruby no le permitirá explorar fácilmente y a las que querrá exponerse a través de otros idiomas en algún momento de su educación en programación, pero aquí es donde desearía haber comenzado.

Comience con la codificación básica, para empezar, recomiendo Python.
Es fácil de aprender, muy poderoso y, sin embargo, amigable para principiantes.

No intente implementar estructuras y algoritmos de big data de inmediato. Llevarse bien con el idioma, probar cosas básicas, códigos pequeños, etc.

Una vez que tenga la confianza suficiente, comience a leer “Estructuras de datos y algoritmos de Andrew Tanunbaum”.
Recuerde, aclarar los conceptos es la parte importante en este punto. No intente analizar los algoritmos en este momento.
Esto llevará tiempo, pero es importante tener una base sólida.

Una vez que haya terminado con esto (después de mucho trabajo), es el momento de profundizar el conocimiento y comprender las complejidades de los algoritmos que ha implementado.
Para este propósito, recomiendo “Introducción a los algoritmos de Thomas Cormen”
También conocido como CLRS.
Este libro, en mi opinión, es el mejor libro que he leído sobre algoritmos.

Y el punto de bonificación es que el propio Thomas Cormen es un usuario activo en Quora.

En realidad, no es simple, no puedes simplemente obtener un libro sobre codificación y esperar ser veterano. Primero, creo que si eres nuevo en la codificación, debes comprender el concepto lógico de las matemáticas, que es muy necesario e importante para entender y tener la capacidad de codificar. Luego, puede navegar por libros en los que necesitaría comprender los conceptos básicos de un solo lenguaje de programación, como C (el lenguaje de programación más básico y fácil para un principiante), C #, etc. Y la mayoría de los lenguajes de programación tienen funciones y funciones diferentes. propósitos respectivamente. Estudiar programación puede ser emocionante, pero cuando intentas elegir un lenguaje de programación, debes elegir cuál, porque lleva mucho tiempo y paciencia dominar un lenguaje de programación. Por lo tanto, haga su elección con decisión y paciencia, si desea comenzar un idioma específico, hay cientos de tutoriales genuinos en línea.

Mi opinión es comenzar con Python

* ¿Por qué Python *

  1. Lenguaje muy simple para escribir código
  2. La legibilidad tiene más importancia
  3. Lenguaje interpretado
  4. Muy buen ecosistema
  5. Comunidad enorme

Aprender Python lo ayudará a comprender el funcionamiento de alto nivel del programa de computadora.

Después de aprender Python, uno puede crear aplicaciones de línea de comandos, hacer análisis de datos y pasar a experimentos científicos y web, etc.

Después de Python, uno puede aprender C, ya que es la madre de todos los lenguajes de programación.

El libro que recomendaré para iniciar Python es http://learnpythonthehardway.org/

Luego busque el libro de cocina de Python y luego aprenda otros idiomas que lo harán comprender la programación.

No olvide las estructuras de datos, el algoritmo juega un papel muy vital en la programación.

En primer lugar, me gustaría decir que el mejor libro para leer para aprender a codificar es uno que le enseñe cómo funcionan las computadoras en un nivel base.

El libro que leí se llamaba “CÓDIGO” y lo leí en el Kindle de mi madre hace unos años. Aquí hay un enlace a él en Barnes and Noble: https://m.barnesandnoble.com/w/code-charles-petzold/

De todos modos, este libro me enseñó sobre cómo funcionaba el binario, que ahora no es para uso práctico, pero es muy interesante, y me dio una idea de lo que estaba sucediendo en una computadora, que fue lo que me llevó a aprender al respecto. El primer lugar.

Si planea hacer algo de inmediato, o tiene una gran idea, le sugiero que busque un libro técnico sobre un lenguaje de programación relacionado y siga las preguntas que le dan. La mejor manera de aprender es practicando.

Si no quieres un libro, o si no estás seguro de por dónde empezar, y solo quieres codificar, mira algunas de mis otras respuestas sobre Python. Te ayudarán.

¡Buena suerte!

En lugar de comenzar con libros, comience con su computadora portátil con un compilador de CA y un bloc de notas y Google a su lado. Siempre prefiero c como el mejor lenguaje para que cualquiera aprenda a programar. En caso de que desee un libro, tome cualquier libro para principiantes del idioma y úselo solo como referencia de sintaxis y semántica de ese idioma. Comience con la lógica de sumar dos números y realice pequeños pasos hacia las operaciones sobre series de Fibonacci, matrices y todo. Una vez que haya terminado con lo básico, piense en crear un sistema en el que conectará todo el conocimiento que ha aprendido en partes. Simplemente un pequeño juego o un pequeño ecosistema.

Bingo estás en el juego. Ahora cambie al idioma que desee. La parte feliz al cambiar a un nuevo idioma será que solo está aprendiendo la nueva sintaxis y semántica y toda la lógica sigue siendo la misma.

No hay ningún libro en este mundo que pueda enseñarle “CÓMO CÓDIGO”

Repito que no hay ningún libro en este mundo que pueda convertirte en un codificador.

Aprender codificación es similar a aprender a leer y escribir un idioma.

La CODIFICACIÓN es un ARTE, es decir, siempre que codifique, seguirá siendo un codificador y cuando deje de codificar durante seis meses, su arte comenzará a desvanecerse.

Aquí hay una guía paso a paso para convertirse en un codificador.

  1. Aprenda la sintaxis, únase a una clase de codificación, o lea 10 libros para principiantes relacionados con un lenguaje de codificación, eso debería ser suficiente para ser bueno en la sintaxis. || Esto es similar a aprender el alfabeto de un idioma, ¡y algo de gramática básica para comenzar! Esto es lo que aprendes en el jardín de infantes. Empiezas a aprender las palabras clave y sus significados y aumentas tu vocabulario. La mejor parte de cualquier lenguaje de codificación es que, el vocabulario es extremadamente pequeño, es decir, no tendrá que aprender 10.000 palabras a menudo, las palabras clave son menos de cien, todas pueden caber en un solo papel en una fuente pequeña.
  2. Aprenda a leer, conviértase en consumidor: el siguiente paso es leer el código de otros programadores. Ir a github – abrir un pequeño proyecto – por pequeños proyectos me refiero a mirar LOC – líneas de código – Cada código de github es un libro de código – Leer ese libro – Leer al menos cien libros – Esto te convertirá en un programador que puede consumir ¿Quién puede entender el código? || ¿Recuerdas cuando tu profesor de inglés te pidió que leyeras muchas novelas? Este es el equivalente de codificación de eso! Al leer mucho codificador, no se convertirá en un código increíble, pero conocerá todas las bibliotecas utilizadas por otros codificadores y también se convertirá en un experto en todos los trucos y técnicas de programación, las mejores prácticas en el mercado. Hace unos años, las personas no tenían la capacidad de leer el código de los demás. Gracias al código abierto y a GITHUB, ahora se nos ofrece un adelanto de cómo se construyen realmente las cosas, ¡y así nos permiten aprender a su vez! ¿Imagínese si nadie, o la mayoría de las personas tiene permiso para leer libros? Puede pensar en esto como un escenario divertido. Pero, no será tan divertido cuando te doy un ejemplo en vivo. En India, durante siglos, solo una casta, BRAHMINS, tenía derecho a leer libros; todas las demás castas: KSHATRIYAS (guerreros), SUDRAS (clase trabajadora), VYSYAS (la clase de negocios) no tenían permitido preparar grandes obras en sánscrito. quiero que imagines ese escenario, que se llama código de propiedad, donde solo las personas con dinero pueden leer el código o usar IDE para codificar. Quiero que te sumerjas en ese concepto por un tiempo
  3. Aprenda a escribir, ahora puede comenzar escribiendo algunos scripts básicos y pequeños programas para realizar pequeñas tareas, pero lo triste es que nadie en el mercado está listo para darle una pequeña tarea diseñada para enseñarle cómo codificar . Nadie te va a pagar para que escribas un pequeño script que haga que el cursor del mouse salte diez pasos y regrese. Solo puedes convertirte en un mejor programador cuando enfrentas desafíos: desafíos cada vez más difíciles, es decir, una misión tras otra como en un videojuego. Bueno, el camino probado es convertirse en pasante en una empresa de TI, pero no todos tienen el privilegio de descifrar la entrevista. Así BOOTCAMP! Encuentre un campamento de entrenamiento: un hackathon de una semana que lo expondrá a desafíos. También codificando concursos, en múltiples sitios web, donde arrojan desafíos únicos a los codificadores. || Esto es similar a escribir para su revista local o escribir para pulp fiction e intentar vender sus cuentos. Probando las aguas
  4. Comience a producir obras literarias, es decir, novelas. Comience a trabajar en proyectos. Comience a identificar grandes problemas y comience a construir proyectos. Por lo general, la solución es encontrar empresarios, que buscan activamente codificadores. Resuelva sus problemas y, como subproducto, aprenderá AGILE, LEAN, SCRUM y otros métodos probados en el tiempo para romper un proyecto en pedazos y construir un producto. || Esto es similar a escribir un libro, un poema o una novela en su idioma, ahora está en modo experto o más cerca
  5. Comience a HABLAR – Sea extremadamente fluido y ahora puede predicar programación – Bueno, hablar un idioma no es lo mismo que leer o escribir el idioma – Ahora debemos entender cómo hacerse perceptible para la población en general, que es un arte en sí mismo. Puede comenzar a escribir libros de programación, en función de sus experiencias y también puede enseñar. Ahora estás en modo maestro || Este es el escenario donde aprendes a hablar en un escenario, aprendes a hablar el idioma, ¡viendo muchas películas de Hollywood o películas de cualquier otro idioma!

Cuando se trata de programación, creo que los conceptos básicos son más importantes que los lenguajes. Los idiomas van y vienen, pero la teoría permanece. Dicho esto, me enfocaría primero en aprender los conceptos básicos de computación, lógica y algoritmos.

Mi ‘biblia’ sobre el tema fue ‘El arte de la programación de computadoras’ de Donald Knuth. Aunque es masivo, cubre prácticamente cualquier cosa que uno necesite para convertirse en un buen programador.

En cuanto a los lenguajes, recomiendo C para comenzar, porque aprenderá la mayoría de los conceptos haciendo (punteros, implementando estructuras de datos, etc.). El libro de Dennis Ritchie es el mejor (‘El lenguaje de programación C’).

Para la programación orientada a objetos, recomiendo ‘El lenguaje de programación Java’ de Ken Arnold. Aunque está enfocado en Java, cubre bien todos los conceptos de OO.

Si planea trabajar con el desarrollo de software más adelante, le recomiendo leer ‘Coder to Developer’ de Mike Gunderloy.

“Estructuras de datos y algoritmos” es el tema favorito de las empresas entrevistadas.

Cuando su experiencia aumenta, más de 4 años, entonces el Diseño del sistema se vuelve importante.

Si buscas preparación para la entrevista. Puede comenzar con “ Resolución de problemas en estructuras de datos y algoritmos ” escrito en varios lenguajes como C, C ++, Java, C #, Python, Go, etc. Estos libros son fáciles de seguir y están escritos para el punto de vista de la entrevista . Además, estos libros tienen el último capítulo sobre Diseño de sistemas , que también se requiere en las entrevistas.

Los enlaces de los libros en Amazon están abajo:

1. Resolución de problemas en estructuras de datos y algoritmos utilizando C

2. Resolución de problemas en estructuras de datos y algoritmos usando C ++

3. Resolución de problemas en estructuras de datos y algoritmos utilizando Java

4. Resolución de problemas en estructuras de datos y algoritmos con C #

5. Resolución de problemas en estructuras de datos y algoritmos usando Python

6. Estructuras de datos y algoritmos en Go

Descargo de responsabilidad: soy autor de todos los libros anteriores.

Si alguien quiere aprender a escribir código desde cero, no sugiero leer un libro. Sugiero escribir código desde cero.

Como se ha mencionado con bastante frecuencia aquí en Quora, usar codecademy.com para aprender Javascript y HTML es una forma rápida, gratuita y divertida de ingresar a la codificación. Aprenderá los conceptos básicos de programación programando, no leyendo. Luego, puede decidir qué tipo de programas desea crear y qué idiomas desea aprender a partir de ahí.

Las obras de Knuth y Ritchie son demasiado avanzadas o demasiado secas para alguien que recién comienza.

Gracias por el A2A.

Esto es un poco difícil de responder sin saber más POR QUÉ desea aprender codificación y algoritmos. Si es para desarrollo web, recomendaría algo como Codecademy o Codetree. Si es solo para recoger algo que lo ayude a simplificar las tareas repetitivas, le diría a Ruby o Python (también disponible en línea); esto ayudará con la parte algorítmica más que el desarrollador web. Si es solo para desafiar su mente y / o evitar la demencia, realice cualquiera de las anteriores. O echa un vistazo a un lenguaje funcional como Haskell o Erlang.

En cuanto a los algoritmos, el clásico realmente es The Art of Computer Programming de Donald Knuth. Es una obra épica que cubre todo; El volumen 1 se escribió en 1968, y el volumen 5 todavía se está escribiendo. Realmente no sé si podrías encontrar algo mejor que esto, pero parece haber buenas recomendaciones en otros comentarios.

De su pregunta imposible de entender: ¿cuál es su objetivo práctico?
De todos modos, no empieces leyendo un libro.
1. Elija el lenguaje de programación. Mi recomendación es Java. (Sé que muchas personas no estarán de acuerdo). Porque tiene las mejores herramientas, la mejor documentación y la más utilizada.
2. Descargue IDE (programa editor para la programación). Para java puede ser Eclipse o Netbeans.
3. Comience a programar.
En este punto, probablemente necesite información.
Busque en Internet algún curso breve como “Java Start Start”.
Escribe “Hola mundo”.
Escribe calculadora.
Escribir bloc de notas.
Aquí está listo para comenzar a programar algo útil, sea lo que sea.

Voy a dar mi experiencia de primera mano con el libro de Python para informática (py4inf) de la separación de Charles. Puede descargarlo gratis desde http://www.pythonlearn.com

Primero aprendí python de este libro. Y créeme, hace un trabajo fantástico al darte los conceptos y las herramientas. Para cuando haya leído, dos tercios de ustedes saben lo suficiente como para crear su propia aplicación. Ahora no dejes que el título te engañe. Si bien dice ‘para informática’ en el título, le brinda todos los conceptos que necesita para comenzar a programar cosas reales. Incluso argumento que esto es mejor que un libro de cocina de Python normal, ya que aprenderás el arte en uno de sus campos más importantes y aplicables: Ciencia de datos e Informática. El libro incluso cubre algunas características interesantes de Python como: Expresiones regulares (RegExs), aplicaciones web y servicios web, programación GUI, análisis web y bases de datos.

El formato del libro es perfecto. Revisará el material explicativo que cubre los conocimientos y terminará con una sección de depuración que informa sobre algunos errores comunes y técnicas de depuración. Luego, obtendrá un par de ejercicios para practicar sus habilidades. Los capítulos son interdependientes y siempre revisará los capítulos anteriores, ya que es necesario a medida que avanza. Ah, y olvidé mencionar que habrá un glosario al final de cada capítulo que explica los términos técnicos. El libro tiene aproximadamente 250 páginas.

Además, el autor tiene un buen curso basado en una versión lite del libro con el nombre ‘Python for Everybody’. Aquí está el enlace:
https://www.coursera.org/course/

Recomendaría la especialización en informática de la Universidad de Rice en Coursera, que se basa en Python, luego

Esta es una pregunta dificil. Solía ​​trabajar en TI. Durante muchos años fui “ingeniero de sistemas”. Fui responsable de las estaciones de trabajo en varias redes peer-to-peer, dominios, servidores, enrutadores, conmutadores, firewalls, servicios de impresión, correo electrónico y uso compartido de archivos. Me enseñé todo sobre la administración del sistema. Pero cuando quería enseñarme a mí mismo cómo escribir código, no tenía sentido (a excepción de HTML y CSS). Finalmente tomé cursos. Aunque no obtuve un título de CS, aprendí el material. Espero que tengas éxito en enseñarte este tema. Pero si te cuesta, considera un curso para lo que quieres aprender.

El lenguaje de programación C de Kernighan y Ritchie

No obtenga un libro que sea tan anterior a Internet … en su lugar, pruebe uno de los numerosos sitios web que lo codifican de inmediato, por ejemplo:

¿Por qué todo eso en lugar de un libro? Básicamente porque tienen el mismo contenido, ¡PERO manejan los ejercicios mucho mejor (automáticamente corregidos) y los ejercicios son cuando realmente aprendes!

Y aún más 10 lugares donde cualquiera puede aprender a codificar

Si está comenzando desde cero, sugiero un tutorial / curso de código interactivo en lugar de libro. Por ejemplo:

Codeacademy.com

Code.org

Codeavengers.com

Javascript: The Good Parts ( http://www.amazon.com/exec/obido …), Colección de artículos de Crockford ( http://javascript.crockford.com/ ), y lo más importante, Practice & Experience (no es un libro , construir cosas)

Todos ellos…

Sin embargo, si DEBO enumerar títulos específicos, hay 3 libros que deberían estar en el estante de su libro (tenga en cuenta que estos son para referencia, no para aprender x en libros de x días)

Patrones de diseño – Banda de cuatro – ISBN 9780201633610

Patrones de arquitectura de aplicaciones empresariales – Martin Fowler – ISBN 9780321127426

Code Complete (un manual práctico de construcción de software) – Steve McConnell – ISBN 9780735619678

Realmente no estoy de acuerdo con que C sea un buen primer idioma: puede que aprenda mucho sobre punteros y asignación de memoria, pero la mayoría de los lenguajes “más nuevos” evitan esos conceptos. La mayoría de nosotros que hemos estado programando C durante mucho tiempo hemos olvidado lo difícil que puede ser la sintaxis para un principiante. Por ejemplo, sé que al principio de mi proceso de aprendizaje de C, cometí errores uno por uno, hice la asignación en lugar de la comparación (if (x == 1), no if (x = 1)), no pasé una variable por referencia, etc. Si está tratando de aprender ciencias de la computación, puede ser bueno aprender sobre la manipulación de punteros, pero ese no es realmente un concepto de programación central a menos que sea un programador en C. Prefiero enseñar conceptos básicos de programación primero, antes de entrar en la maleza.

Tengo un par de libros de Headfirst (creo que tengo “Análisis de datos” y “Rails”), y realmente me gusta la explicación directa del material. Creo que la programación Headfirst ( http://www.headfirstlabs.com/boo …), que usa Python ya que el lenguaje parece un excelente libro de inicio. Python me parece un lenguaje de enseñanza mucho mejor porque tiene una sintaxis mucho más coherente y legible, y el shell REPL interactivo significa que puede probar fragmentos de código de una línea a la vez, para que no pase tanto tiempo aprendiendo cómo compilar correctamente