Me parece que cuando alguien pregunta cuál es la mejor manera de aprender a programar, la gente generalmente les proporciona 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 más 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.
fuente
Respuestas:
Así es como aprendo, hablando en general:
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.
fuente
Algunas razones por las cuales los libros siguen siendo relevantes:
Pero un libro nunca lo llevará hasta el final, simplemente lo empujará en la dirección correcta.
fuente
Cuando aprendí programación en los libros de la década de 1980, donde 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, si bien no es 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 asuntos de seguridad. Mientras solo juegues, esto puede no ser un problema. Pero si, como me sucedió a mí, desea ingresar al desarrollo profesional de Ruby on Rails en unas pocas semanas, entonces trabajar con un texto que cubra todos los puntos importantes será de gran ayuda.
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.
fuente
Un libro (o documentación web estructurada como un libro) sigue siendo mi forma preferida de aprender la mayoría de los idiomas.
Si solo 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 matrices de byte [] convirtiendo la matriz en una Cadena, usando .substring (), y 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 construir una comprensión profunda, no solo lo suficiente para sobrevivir.
fuente
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; simplemente 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 ???
fuente
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 intento resolver un problema, paso mucho tiempo asegurándome de que lo que estoy copiando (o inspirado por :) es algo confiable 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.
fuente
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 se le dice 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 sabes
Para ponerlo 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 había leído un libro sobre construcción de puentes o análisis estructural, sino que lo aprendió jugando y usando Google ...
fuente
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, terminará escribiendo código C en Python , y llegará a la falsa conclusión de que Python es tan detallado y doloroso como C.
fuente
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, es probable que 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 las personas en SO no sabrán el responda 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 a su pregunta sin pasar horas para averiguar lo suficiente como para poder encontrar una respuesta. Si pregunta cómo implementar una lista vinculada en C #, obtendrá 5+ respuestas en SO en los primeros 10 minutos, pero si pregunta cuál es la mejor manera de implementar un algoritmo de sombreado complejo en three.js es , tu pregunta se va a hundir en la primera plana 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.
fuente
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úrate de creer directamente en aquellos libros que son clásicos con buenas críticas. 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.
fuente
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 proviene 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.
fuente
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.
fuente
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ñarte 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".
fuente
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.
fuente
En resumen, creo que los libros tienden a ser más útiles a un alto nivel. Pueden darle orientación de diseño y ayudarlo a prevenir problemas en lugar de resolverlos.
Los libros ciertamente tienen sus desventajas. Mi copia de Programming Python 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 / interfaz / herencia 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 conlleva 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 Dive into Python . También hay tutoriales solo en línea 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.
fuente
Quiero ser programador, así que estoy usando libros de programación. Los libros me permitirán ser profesionalmente competente en programación.
fuente
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 C ++ para Dummies Book. 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.
fuente
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á.
fuente
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 XX del lenguaje / biblioteca Y, así es como se resuelve el problema Z. Los tutoriales del sitio web de mayo no pueden enumerar qué versiones están usando o no proporcionan 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).
fuente
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, debe comprender el contenido, revisar otros libros, pensar en diferentes enfoques para resolver problemas, etc. El aprendizaje continúa con y sin libros.
fuente
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 llevó 2 libros aprender a programar en C ++ y ninguno de los dos era un verdadero libro de C ++ (eran libros de Visual C ++ centrados 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 tontos" 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.
fuente
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 de inmediato 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 interwebs para descubrir 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 "aquí está 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 sobre 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 qué '
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 Code Complete , Refactoring , Working Effectively With Legacy Code , etc. No obtendrá el conocimiento de esos libros solo a través del aprendizaje JIT.
fuente
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 un problema específico 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.
fuente
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, docenas 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 buscar referencias en la web no lo hace?
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.
Me han pedido en entrevistas que describan 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.
fuente
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 como sigue:
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 examiné sin haber estudiado durante un día, 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 youtube son fabulosos, pero nada supera a la buena y antigua universidad en mi opinión. Y dudo que alguna cantidad de google y youtubing lo haga, y sé de primera mano que ninguna cantidad de libros lo hará.
fuente
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.
fuente
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.
fuente