it-swarm-es.com

¿Por qué la gente usa libros de programación?

Me parece que cuando alguien pregunta cuál es la mejor manera de aprender a programar, las personas generalmente les proporcionan referencias a un montón de textos escritos por varios autores.

Sin embargo, no creo que muchas personas aprendan a programar de los libros. Encuentro que generalmente se enfrentan a un desafío y luego usan la programación como herramienta para superarlo.

Por ejemplo, me metí en la programación porque quería iniciar un servidor para un juego que estaba jugando, así que busqué en Google y leí el soporte para ese servidor en particular y ahora soy un ingeniero de software empleado, usando solo las habilidades que desarrollé ( y luego desarrollado) mediante la codificación de scripts de C # para un paquete de servidor no muy popular.

Entonces mi pregunta es, ¿a las personas generalmente les resulta más fácil aprender de estos libros? Sé que he mirado algunos de ellos y los he encontrado demasiado 'secos' para alentarme a terminarlos.

94
Alex Hope O'Connor

Así es como aprendo, hablando en general:

  • Compra un libro
  • No lo lea de principio a fin, pero sepa dónde se puede encontrar todo
  • Encuentra un proyecto para mascotas para trabajar
  • Aprende de la experiencia, pero usa el libro como referencia
  • Donde el libro falla, siempre hay google

Nota: el tercer punto a veces viene primero.

Editar: Para responder la pregunta "¿Por qué?"

Google es genial para descubrir cómo hacer algo, pero no es genial para descubrir lo que no sabes. ¿Por qué alguna vez buscarías en Google "delegados de C #" si primero no sabías que C # tiene un concepto llamado delegados y que podría ser útil para resolver un problema en el que estás trabajando?

Además, la relación señal/ruido puede ser un poco alta a veces. Si tiene una idea aproximada de cómo se hace algo, puede confirmar fácilmente si el artículo que está leyendo es correcto. Pero si no tienes idea ... puedes terminar en un desastre mayor.

229
pdr

Algunas razones por las cuales los libros siguen siendo relevantes:

  1. Me resulta más fácil leer mucho texto en papel que en la pantalla estándar LCD, tal vez los libros electrónicos en una pantalla de tinta electrónica cambiarán esto.
  2. Los libros tienden a describir el panorama general y algunas buenas prácticas, eso es realmente bueno cuando necesita un inicio rápido o una nueva vista.
  3. Google es realmente bueno cuando necesita ejemplos sobre un tema específico, pero no para el panorama general.

Pero un libro nunca lo llevará hasta el final, simplemente lo empujará en la dirección correcta.

42
Johan

Cuando aprendí programación en los libros de la década de 1980, más o menos la única fuente de información disponible para aprender completamente un lenguaje de programación en su conjunto. Además, puedes comprar revistas de informática, pero su contenido son artículos aleatorios que pueden haber sido interesantes y útiles o no.

Hoy en día puede encontrar toda la información que necesita en Internet. Aunque consideraría un tutorial completo lo suficientemente similar a un libro.

La forma en que aprenda puede depender de sus preferencias personales o de sus necesidades reales.

La ventaja de un "texto completo", si es un libro o un tutorial en línea, será que cubre material que, aunque no sea realmente necesario, lo ayudará más adelante. Es solo saber que algo es posible y saber dónde encontrarlo. Especialmente si aprende sobre un entorno complejo o un lenguaje muy complejo como C++. Puede leer muchos blogs pequeños sobre Ruby on Rails sin tener que escuchar sobre Ajax o cuestiones de seguridad. Siempre y cuando solo jugar, esto puede no ser un problema, pero si, como me sucedió a mí, quieres pasar a ser profesional Ruby on Rails desarrollo en unas pocas semanas, luego, trabajar con un texto que cubra todos los puntos importantes ayudará mucho.

Otros libros cubren detalles sobre el estilo de programación, las mejores prácticas, los patrones de diseño o ciertos grupos de algoritmos. Puede trabajar con ellos y tal vez de todos los patrones de diseño solo aplicará un subconjunto muy pequeño. Aún así, es útil conocerlos y saber dónde encontrarlos. Y es simplemente una forma de entrenar sus procesos de pensamiento en una dirección en la que esté más interesado en "construir una solución" que "hacerlo funcionar de alguna manera".

Personalmente me gusta leer, así que no tengo la sensación de que los libros estén secos. Aunque es importante, por supuesto, que el libro esté en su nivel real de conocimiento o más allá. Si ya ha dominado todos los conceptos básicos de C #, no tiene mucho sentido leer un libro para principiantes.

28
thorsten müller

Un libro (o documentación web estructurada como un libro) sigue siendo mi forma preferida de aprender la mayoría de los idiomas.

Si simplemente te sumerges en un idioma y descubres cosas por ti mismo, es probable que te pierdas aspectos importantes, que un buen libro te hubiera entregado en el momento adecuado.

Por ejemplo, algunos colegas míos aprendieron Java al sumergirse sin un libro. Habían estado programando en Java durante algunos años, cuando descubrí que estaban manipulando rutinariamente las matrices de bytes [] convirtiendo la matriz en una Cadena, usando .substring (), luego convirtiendo la Cadena nuevamente en una matriz. System.ArrayCopy () se presenta en la página 155 de Java In A Nutshell

Espero que reconozca que aprender es más fácil con un maestro que solo. Un buen libro es un sustituto barato de un buen maestro. Introducirá conceptos en un orden cuidadosamente planificado, para que pueda desarrollar una comprensión profunda, no solo lo suficiente para sobrevivir.

22
slim

Pienso que usted podría estar sobre algo. Al menos para mí, la mayoría de mis habilidades provienen de querer/necesitar un programa que haga "X".

Quizás las personas que aprenden de esta manera no están pidiendo ayuda; están demasiado ocupados haciéndolo (mal, pero aprendiendo en el camino). Las personas que quieren ser programadores (como se le apuntó al primer grupo) hacen muchas preguntas sobre cómo ser un programador, o cómo programar, a pesar de que no necesariamente tienen un problema que resolver, y estos no son preguntas con respuestas directas.

Y así nos apuntamos a los libros. "Oh, sí, toma una copia de 'Sumérgete en Python'". "¿Así es como lo aprendiste?" "No" "Um ..." "Estoy un poco ocupado, pero te ayudaré si te quedas atascado" "Uh ... OK, supongo"

Por otro lado, valoro muchísimo el buen material de lectura cuando estoy aprendiendo, para poder ver cómo el problema que estoy tratando de resolver es resuelto por un autor más experto, o tal vez solo para poder aprender algo. Técnicas de "principiante" que podría no haber aprendido en el camino.

TLDR : los libros son buenos, aprender haciendo es bueno, aprender haciendo libros es ???

Amo leer libros técnicos. No todos los libros técnicos, solo aquellos sobre un tema en particular que me interesan, dice Sharepoint. Recuerdo el primer libro que realmente leí (varias veces), Programming Windows de Charles Petzold. Debido a esto y a muchos otros, pude escribir una aplicación Win32 de memoria. Casi no necesitaba buscar una API, así que pude concentrarme en la parte comercial.

Siento que los libros proporcionan una forma "autoritaria" de hacer algo, quizás por alguien que conoce la forma correcta de hacer algo mejor que yo. Confío en que lo que estoy aprendiendo es, me atrevo a decirlo, la mejor manera de resolver mi problema. Eso es, por supuesto, si confío en el autor (me encanta el área de reseñas en Amazon).

Aunque ahora me encuentro cada vez más "buscando en Google" y copiando y pegando cuando trato de resolver un problema, paso mucho tiempo asegurándome de que lo que estoy copiando (o inspirado por :) es algo digno de confianza. Puede poner mi código. Solo porque encuentro una solución en la web, no es necesariamente la mejor.

Si bien, como tantos otros programadores, ahora simplemente busco en Google las respuestas, todavía me encuentro recogiendo libros de autores conocidos. Siento que el contenido me lo proporciona alguien que es bueno para explicarlo (enseñarlo) y me evita tener que filtrar toda la basura de mis resultados de Google.

15
Eddie Paz

Supongo que su pregunta no significa "por qué usar tecnología antigua como un libro impreso en lugar de páginas HTML", sino "por qué leer textos más largos sobre programación escritos por uno o pocos autores".

Puede pensar en los libros como una recopilación estructurada de información sobre un tema determinado. Tiene la ventaja de que alguien ha hecho el esfuerzo de construir cada capítulo uno sobre el otro para facilitar la comprensión del tema. Por lo general, también le dicen cuáles son los límites de la información (qué está cubierto y qué más hay que debe buscar en otro lugar). Después de leerlo y trabajar con él, puede estar seguro de haber alcanzado cierta habilidad. Si desea aprender con el botón de avance rápido presionado, un libro puede obligarlo a trabajar en todos los aspectos sin saltarse las partes aburridas, al menos si confía en la estructura del libro. La colección llamada "libro" también suele ser útil como referencia.

El uso de Internet, los blogs, los "juegos de palabras", etc., generalmente se incluyen en el tipo de información no estructurada. Obtienes un montón de fragmentos de sabiduría, pero tienes que hacer más trabajo de búsqueda para desarrollar tu conocimiento, porque nadie te guiará para decir "aprende esto primero o no verás el mérito de esas cosas que he buscado en Google ahora ". Es posible que te pierdas ciertas partes porque son demasiado aburridas o porque nadie te dijo que eran importantes. Puede que aprendas mal las cosas, porque no todo lo escrito en Internet es de primera calidad. Puede pasar mucho tiempo filtrando resultados de búsqueda inútiles. Puede perder días tratando de lograr algo por su cuenta, solo porque no conocía un cierto patrón de diseño o construcción de programación y nadie se lo dijo. Cuanto menos sepa, peor será con la información no estructurada en mi humilde opinión.

Para decirlo un poco provocativo: nunca confiaría en un arquitecto para construir un puente que tengo que cruzar cada día si me dice que nunca leyó un libro sobre construcción de puentes o análisis estructural, sino que simplemente lo aprendió jugando y usando Google ...

14
Ray

Si eres un programador en C, ¿cómo esperas aprender Python sin un libro o un maestro?

Si solo aprende la sintaxis básica y se sumerge directamente, usted terminará escribiendo código C en Python, y llegará a la falsa conclusión de que Python es igual de detallado) y doloroso como C.

Por lo general, Google solo es bueno para encontrar pequeños fragmentos de código o bibliotecas de código abierto. La documentación para algunas bibliotecas/programas no es confiable en el mejor de los casos (si existe, solo muestra ejemplos simples o comunes).

No tengo muchos libros de programación, pero puedo decirle en este momento que tengo un libro sobre OpenGL, y tiene la mayor parte del código para un motor 3D, que simplemente puede copiar, pero puede lea la teoría también: solo tiene que pasar algunas páginas y una explicación del código está allí, esperando ser leída. Hoy en día, probablemente pueda encontrar algunos motores 3D de código abierto en la red, pero si necesita cambiar el código sustancialmente, es probable que tenga algunos problemas, por lo general no existe un foro de ayuda y la gente en SO no sabrá la respuesta a su pregunta si es muy especializada. Cuando se trata de cosas realmente especializadas, solo unas pocas docenas de personas en todo el mundo podrán responder su pregunta sin pasar horas para calcule lo suficiente como para encontrar una respuesta. Si pregunta cómo implementar una lista vinculada en C #, obtendrá 5+ respuestas en SO en el primer 10 minutos, pero si pregunta cuál es la mejor manera de implementar un algoritmo de sombreado complejo en three.js, su pregunta se hundirá en la primera página como una roca.

Además de eso, los libros se escriben casi exclusivamente desde la perspectiva de que el lector quiere aprender sobre la teoría involucrada, mientras que Google solo produce fragmentos aleatorios de código basura, discusiones archivadas sobre el tema en el que nadie sabe de qué están hablando. , etc. Las fuentes en Internet han mejorado mucho: SO, Moz Dev Network, el sitio web de Microsoft, blogs, etc., pero históricamente, los libros han sido mucho mejores, y las fuentes de Internet se están poniendo al día.

9
Michael

La calidad de la escritura en los mejores libros es tal que muchos de los problemas no obvios se presentan incluso antes de comenzar. Un autor con mucha experiencia sabrá contarle cosas como: efectos secundarios inesperados, repercusiones a largo plazo, características indocumentadas, escenarios de uso típicos ...

Básicamente, está obteniendo el beneficio de un escritor con mucha experiencia que lo guiará a través del problema y le señalará las partes realmente interesantes.

A veces también puede encontrar esto en las referencias en línea, pero debido a la baja barrera de entrada, mucha de la información en línea es demasiado básica, falta detalles o simplemente es incorrecta. Esto también puede suceder con los libros, así que asegúrese de creer absolutamente en aquellos libros que son clásicos con buenas críticas consistentes. Otros libros también pueden ser útiles, pero solo como una de las fuentes, aún tendrá que verificar la información haciendo referencias cruzadas o probándose usted mismo.

7
Joris Timmermans

Los libros tienden a incluir una gran cantidad de información en un formato estructurado. Google tiende a venir con una gran cantidad de información que no siempre es particularmente estructurada y difícil de organizar en términos de lo que debe hacer.

En realidad, ya no leo libros físicos en papel: hay un lector electrónico a mi lado y tengo un software Kindle en mi computadora portátil que me da acceso a la información que estoy buscando.

Donde Google es útil es si no está buscando una descripción estructurada de cómo programar, pero necesita detalles sobre cómo programar una tarea específica. Alguien casi siempre escribe código para esa tarea antes, o, al menos, algo así.

Creo que hay una diferencia entre aprender a programar y aprender a programar una tarea específica. Cuestionaría la calidad del código que viene de alguien que solo aprendió partes de Google en tareas específicas si nunca han tenido una visión general decente sobre cómo programar. Esto no es específico del idioma, es más conceptual.

6
temptar

Los libros son útiles si quieres profundizar en un tema. Claro que aprendí C # haciendo algunos tutoriales y escribiendo algunos proyectos (favoritos). Pero C # en profundidad sigue siendo útil para ver qué sucede debajo y para aprender algunas cosas nuevas.

Además, puedo tomar un libro de programación y leerlo en mi baño o afuera al sol. No puedo hacer eso con mi PC de escritorio.

4
Carra

Porque es una forma conveniente de aprender de otros programadores

Los libros son un suplemento. Solo puedes llegar tan rápido trabajando solo por tu cuenta. ¿Quién no preferiría estar en un proyecto con un mejor programador dispuesto a enseñarle algo que simplemente leer el libro?

Tiendo a usarlos más como referencia en lugar de "Todo lo que necesitarás saber sobre programación".

4
JeffO

Los libros le permiten absorber un conjunto de información de manera "pasiva". No tiene que mirar lo que es posible, se le presenta un subconjunto de posibilidades. Cuando estaba aprendiendo C #, el libro realmente ayudó a señalar las posibilidades, y me pregunto cuáles eran los equivalentes de C++. Por supuesto, la masterización tuvo lugar cuando se usó en un proyecto (tamaño real). Pero el libro realmente ayudó a señalar diferencias y posibilidades.

3
refro

Quiero ser programador, así que estoy usando libros de programación. Los libros me permitirán ser profesionalmente competente en programación.

3
Benny

Realmente no he leído un libro de programación en mucho tiempo. Solía ​​usarlos como guías de referencia, pero ahora creo que Internet es más fácil para la mayoría de los idiomas y marcos.

De todos modos, creo que lo mejor para aprender de los libros de programación es el lenguaje central. Por ejemplo, mi primer idioma real fue C. Lo aprendí escribiendo un sistema operativo (no lo recomiendo). Como resultado, mi conocimiento de C estaba bastante paralizado incluso después de dos o tres años de programación. Nunca obtuve un buen conocimiento básico del idioma. No sabía que podía convertir estas 15 líneas de código desordenado en dos líneas de código limpias. Entonces pude resolver problemas, pero no estaba utilizando C en toda su extensión.

Luego, en un momento, decidí aprender C++ ... (aproximadamente 2 años después de comenzar a aprender C). Así que leí el único libro de C++ que tenía alrededor, un libro de C++ para tontos. Leí alrededor de 3/4 partes de él directamente, haciendo muy poco "hacer" durante ese tiempo ... y como resultado cuando me lancé a mi primer proyecto en lugar de sentirme cómodo con esas 15 líneas de código desordenado, supe que había Una forma más fácil de hacerlo (aunque es posible que haya tenido que buscarlo).

Hice lo mismo cuando aprendí C #/ASP.NET. No hice casi nada más que leer hasta que terminé con alrededor de 3/4 del libro. Y por lo que no aprendí, busqué Stack Overflow para preguntas interesantes de C #. Cuando entré en mi primer proyecto, diría que la mayor parte de mi código estaba relativamente limpio y solo ha tenido que ser refactorizado "enormemente" una vez desde entonces.

Entonces diría que los libros son muy útiles para aprender las capacidades de un marco o lenguaje. Sin embargo, más allá de eso, en su mayoría son inútiles por Internet, excepto, por supuesto, los fuertes libros teóricos y específicamente diseñados para ser material de referencia.

3
Earlz

En resumen, creo que los libros tienden a ser más útiles a un alto nivel. Pueden brindarle orientación de diseño y ayudarlo a prevenir problemas en lugar de resolverlos.


Los libros ciertamente tienen sus desventajas. Mi copia de Python de programación cubre Python 2.0, pero el tiempo de ejecución que uso es 2.6.

Sin embargo, creo que el aspecto importante de los libros es que puedes encontrar cosas con las que no tropezarías. Google te ayuda a resolver problemas específicos, pero los libros te ayudarán con el diseño. Y no solo diseñar libros. Si lees un buen libro que te ayuda a comprender el diseño de un idioma, comprenderás mejor cómo usar ese idioma.

Otros libros son buenos para refinar su conocimiento. Creo que el eficaz libro de C++ de Scott Murphy es un buen ejemplo. Si bien este libro no es realmente muy bueno para aprender C++, te ayuda a ver problemas en el diseño de algoritmos/interfaces/herencias que no has encontrado (todavía) o has solucionado. Puede ser fácil encontrar una solución simple (que puede causar otros problemas más adelante), pero al comprender mejor el lenguaje puede diseñar su software para evitar estos problemas en primer lugar.

Por supuesto, no es el hecho de que los libros estén impresos en papel lo que hace que valga la pena. El cuidado y el esfuerzo que implica crearlos y el deseo de brindar una educación rigurosa son los que dan valor a los libros. A menudo, como efecto secundario, obtienes recursos útiles en línea como C++ FAQ lite o libros electrónicos como Sumérgete en Python . También hay en línea- solo tutoriales que son herramientas de aprendizaje exhaustivas y útiles (como la documentación para algunas plataformas/idiomas/bibliotecas).

Los fragmentos en la web son una buena forma de responder a su pregunta, pero rara vez le dicen lo que debe preguntar.

3
idbrii

Se trata menos de lo que lees, pero cuánto. Me gusta tener un par de libros de programación sobre la marcha mientras estoy trabajando en un proyecto. De vez en cuando (con más frecuencia de lo que piensas) leerás sobre una técnica que se puede aplicar a tu proyecto actual.

Una vez que lo haya implementado en una solución del mundo real, la información se mantendrá.

2
Mild Fuzz

Puede resolver problemas sin leer libros, pero ¿sabrá realmente qué sucede detrás de su programa para resolver ese problema?

Necesita saber qué está sucediendo y qué podría haber sido una mejor alternativa. Para eso necesitas buenos libros de programación. Simplemente leer libros, por supuesto, no es suficiente, necesita comprender el contenido, revisar otros libros, pensar en diferentes enfoques para resolver problemas, etc. El aprendizaje continúa con y sin libros.

2
Prabesh Shrestha

Prefiero usar libros porque siento que proporcionan una instantánea del estado de la tecnología en la que está trabajando. El autor declarará que con la versión X.X del lenguaje/biblioteca Y, así es como se resuelve el problema Z. Es posible que los tutoriales del sitio web no puedan enumerar qué versiones están usando o proporcionar el código de ejemplo que usan mientras que los libros a menudo lo hacen.

Los libros a menudo cubren el "por qué" esta solución resuelve el problema, mientras que los documentos en línea suelen ser copiar y pegar.

A menudo, también puede perder enlaces a todas sus referencias, se pueden mover o bajar. Protejo y cuido mis libros como una inversión (que son).

2
Spacebob

Tiendo a aprender (programación) tanto de libros como de fuentes "justo a tiempo" como la web. Ambos pueden ser buenos, pero en general prefiero aprender de los libros, aquí está el por qué:

Cuando aprende solo lo que necesita saber inmediatamente para terminar una parte de un proyecto, a veces se pierde el panorama general. Los mejores libros no son meramente referencias sino que, en cierto sentido, logran algo más cercano a un aprendizaje, al proporcionar una visión general completa de una tecnología y muchos consejos experimentados sobre las mejores soluciones a problemas comunes.

El aprendizaje justo a tiempo puede sufrir fácilmente el problema de la satisfacción, cuando identifica un problema que desea resolver, salta a la primera solución que parece funcionar, luego corre a las redes para averiguar cómo implementarlo. . Sin embargo, a menudo esto puede meterte en problemas, si hubieras podido conversar con un programador experimentado sobre tu problema, no te dirían "he aquí cómo hacer X", sino que te dirían "no hagas" X, haz Y en su lugar ". Y este es el tipo de conocimiento que sueles obtener de los mejores libros. De hecho, algunos libros tratan completamente de este tipo de cosas, como Javascript: The Good Parts .

El otro problema que puede tener el aprendizaje JIT es una curva de aprendizaje mucho más lenta. Con el aprendizaje JIT, tiendes a aprender solo lo que necesitas saber. Pero a menudo, tener un núcleo básico de conocimiento puede acelerar el aprendizaje de un nuevo lenguaje o marco. En lugar de tropezar con lo básico, comienza con una base sólida y luego construye desde allí. Una buena parte del material que puede cubrir mientras lee un libro puede no serle útil de inmediato, pero tener ese conocimiento previo puede ser beneficioso para orientar su toma de decisiones y especialmente para comprender el nuevo código al que está expuesto. Hay una compensación, por supuesto, y hay libros malos que solo acumulan datos inútiles que no recordarás después de haberlos leído, pero también hay buenos libros que te dan una buena base en los fundamentos y lo que es posible incluso si no tiene que usar ese conocimiento diariamente.

También hay libros en un nivel más alto que un solo tema tecnológico que creo que son cruciales para madurar como desarrollador. Libros como Código completo , Refactorización , Trabajando eficazmente con código heredado , etc. No va a recoger el conocimiento de esos libros solo a través del aprendizaje JIT.

1
Wedge

Creo que voy a leer libros, especialmente descargar libros electrónicos, leer cada parte del capítulo y copiar su código. pegue en su editor de programación y luego vea cuál es la salida. Luego intente cambiar la lógica de la misma. Mencioné libros electrónicos descargables porque funcionan más rápido. Los libros son realmente excelentes. No estoy mintiendo, pero desde noviembre hasta hoy. He terminado alrededor de 20 libros. Todo requiere amor para leer. Lo que hacen los novatos es que resuelven problemas específicos tomando la ayuda de Internet. Pero cuando se les da una tarea realmente compleja, se dan por vencidos. Razón, sin conocimiento de la tarea y su solución. Por ejemplo, he delimitado los controles con datatable y no sé qué hacen los conjuntos de datos y se me ha proporcionado la tarea de establecer relaciones entre las copias residentes en memoria de las tablas de la base de datos. No puedo hacerlo.

1
Adeel

Cuando estaba aprendiendo C++, encontré que la mayoría de la literatura era bastante inútil hasta que algo en mi cabeza hizo clic. Hasta el día de hoy no estoy seguro de qué era, pero todo comenzó a tener sentido. Los libros y los sitios web tenían mucho más sentido. Me tomó 2 libros aprender a programar en C++ y ninguno de los dos era un verdadero libro de C++ (eran libros de Visual C++ que se enfocaban principalmente en MFC).

Si obtiene los libros correctos, puede ser realmente útil. Un amigo mío estaba leyendo algunos libros de Dietel en la universidad y los encontré extremadamente bien escritos. Nunca he encontrado los libros "... para Dummies" tan útiles porque no explican las cosas de la manera correcta para mí. El mejor consejo es ir a una librería y obtener una muestra del libro para no desperdiciar un montón de dinero en lo que tienden a ser libros extremadamente caros.

Para algunos temas de programación, me resulta útil leer varios libros, realizar investigaciones a través de Google y experimentar. Me encontré haciendo esto mucho cuando estaba trabajando en algoritmos de IA cuando estaba trabajando en un juego de damas con J2ME. También me encontré haciendo esto cuando estaba aprendiendo cómo crear un compilador compilador para sintaxis personalizadas. Hay tantas variaciones y puntos de vista diferentes.

A veces, tener una comprensión de las vistas múltiples le permite hacer conexiones que de otro modo serían más oscuras.

1
Lea Hayes

Es muy difícil para los nuevos programadores comprender qué es realmente la programación, qué tan profunda es.

Cualquiera puede escribir un programa para decirle a una computadora que haga; bueno, casi cualquier cosa con muy poco aprendizaje, ¡esto no es difícil! Lo difícil es hacer un programa que sea compatible y que pueda ser comprendido rápidamente y comprendido profundamente por otros miembros del equipo, esta parte lleva años, decenas de años.

Además, aprender a trabajar como parte efectiva de un equipo es un poco curvo.

Entonces, ¿cómo ayudan los libros a resolver estos problemas de programación "reales" de una manera en que no se busca buscar referencias en la web?

Bueno, dos de mis libros favoritos son "Patrones de diseño" y "Refactorización".

La refactorización es un gran libro que le dice cómo reconocer un código incorrecto. Si ha aprendido al buscar referencias de codificación, este libro (Bueno, uno de los muchos libros de Refactorización) es crítico.

Los patrones de diseño realmente no ofrecen mucho de lo que un buen programador no puede entender, pero dio nombres a una amplia gama de patrones que todos ya usaban en el código. Esto permitió a los programadores comunicarse de manera más efectiva y ayudó a algunos programadores a encontrar nuevas formas de atacar los problemas. Aunque puede encontrar patrones de diseño en la web, es mucho más fácil buscar en Google el nombre del patrón de diseño que googlear lo que está tratando de hacer.

En entrevistas me han pedido que describa estos dos libros y lo que están tratando de lograr, creo que esta es una pregunta de entrevista muy válida ... Me gustaría prestar atención a un programador que no sabía sobre estos dos libros a menos que solicitara un puesto extremadamente junior.

0
Bill K

Aprendí a programar directamente de los libros. Hace unos 20 años antes de que Google y la red se volvieran populares. Creo que son grandes recursos. Sin embargo, la mayoría de los libros modernos solo citan artículos técnicos de los fabricantes. Así que ahora estoy de acuerdo en que es mejor aprender en línea. Con una palabra de advertencia de la siguiente manera:

Aunque leí muchos libros y tuve acceso a Internet casi desde que era financieramente factible. Nunca, nunca pude completar ningún tipo de proyecto considerable. Claro que podría hacer muchos de los proyectos importantes en grandes libros avanzados donde toman 20 capítulos para guiarlo a través de él, pero cuando se trataba de mis propios proyectos del mundo real, siempre, sin ejecución, golpeaba una pared de ladrillos. Tengo que decirte que leí algunos libros pesados.

Tuve problemas toda mi vida para ingresar a la universidad, pero ahora voy a ingresar a mi tercer año. En mi primer año conocí a personas en cuarto año y maestros, y pude mantener conversaciones productivas sobre las teorías de AI, HCI, ensamblador y desarrollo de compiladores, etc. Sin embargo, con todo este conocimiento, no pude crear un programa razonable. Lo que me faltaba ... Lo único que no puedes obtener de ningún libro o en línea.

Estructura. En el primer año, no aprendí nada de naturaleza técnica (Allready lo sabía todo y lo estudié sin un día de estudio, exento de matemáticas y diseño, ya que estos eran razonablemente nuevos para mí), pero aprendí la estructura y el trabajo en equipo. En mis primeras vacaciones de verano me acerqué más que nunca a completar mi primer trabajo real.

En mi segundo año, aprendí muchas cosas nuevas de tecnología (aún lo básico en comparación con lo que sabía, pero estaba poniendo en práctica la teoría que conocía). Esto enfatizó la importancia de la estructura nuevamente. No he completado mi primer proyecto real. Ahora me considero un programador.

No creo que sea necesario leer libros para aprender programación. Pero es una ayuda. Sin embargo, creo que ningún libro o sitio web enseña o puede enseñar lo que obtienes de incluso 2 años de universidad. Si has logrado completar proyectos sin ir a la universidad, juega limpio, pero es una experiencia que recomiendo sin importar la edad.

Los libros son buenos, internet es mejor, google y you tube son fabulosos, pero nada supera a la buena y antigua universidad en mi opinión. Y dudo que haya alguna cantidad de google y youtubing, y sé de primera mano que ninguna cantidad de libros lo hará.

0
Jack Spratt

Creo que es correcto que la programación no se pueda aprender solo de los libros (como mencionó la mayoría de las personas), es necesario practicar mucho y hay muchos recursos disponibles en Internet (artículos, videos, muestras, etc.).

Pero un buen libro llena los vacíos en su conocimiento. Después de leer un libro de principio a fin le da la confianza de que no tiene agujeros en su conocimiento del tema. Aunque el desafío es encontrar buenos libros sobre el tema.

0
Manoj

No tengo ni idea. Estoy en contra de programar libros. En la mayoría de los casos, aún debe investigar en Internet para buscar información adicional.

¿Quieres aprender un lenguaje de programación? Google para ello. Odiaba jQuery porque parecía difícil. Luego llegué a Stack Overflow, y sé mucho de eso. Sin la ayuda de ningún libro.

  • Google para ello
  • Busque una aplicación profesional de código abierto completa
  • Busque en ese código y PRUEBE para obtener lo que está sucediendo.
  • Intente escribir alguna aplicación rápida/simple a partir de fragmentos de un código existente.
  • Intenta reescribirlo por ti mismo.
  • Encuentra más tutoriales en Internet
  • Toma experiencia
  • Toma más experiencia
  • ¡Acabas de aprender un nuevo idioma! (No dije que sería un experto, pero los conceptos básicos se aprenden en unas pocas horas o días)
0
genesis