Python el camino difícil:
Aprender Python
Esta es en realidad una pregunta de entrevista que uso. Si alguien recomienda ese libro y tiene una razón inteligente para hacerlo, lo hará a través de la pantalla del teléfono.
Aprendes a programar al hacerlo. Mejoras de la misma manera. Me gusta cómo Jeff Atwood dijo que ser un programador significa que “se demostrará sin piedad que te equivocas diez veces antes del almuerzo” y él es absolutamente 100% correcto. Python the Hard Way realmente te pone en contacto con este proceso cuando lo lees. Se requiere curiosidad intelectual para entender este libro y sin eso, no tienes suerte en esta línea de trabajo.
También me gusta la simplicidad de las soluciones. No puedo decir cuántas bases de código heredé que fueron pirateadas juntas por programadores novatos que leyeron Patrones de diseño de Head First y que TENÍAN que unir diez patrones dispares para hacer algo simple. Dicho esto, no puedo decirte cuántas veces decidí que la inyección de dependencia era completamente esencial para un proyecto solo para que el siguiente tipo me dijera que no lo entiende y ¿podría quitarlo antes de pasarlo?
Después de completar ese libro de Python, aprende Java de alguna manera. Y POR FAVOR preste atención a la advertencia de Zed Shaw sobre un IDE. Úselo, úselo bien, pero no deje que lo use a usted. Recuerde que al final solo está ejecutando archivos de texto a través de un compilador.
¿Por qué aprender Java? Los ejemplos en los libros de Martin Fowler sobre patrones de diseño y refactorización utilizan Java en sus ejemplos. Esos son buenos libros. Antes era un poco desdeñoso con los patrones de diseño y definitivamente son peligrosos en las manos equivocadas, pero son una realidad y tienen el potencial de ser un ingrediente clave en un buen software. Por lo menos, aparecen en todas partes y pueden ayudarte a asimilar un montón de códigos grandes un poco más rápido. O al menos darse cuenta de lo tonto que fue el último chico.
Hay otras razones para aprender Java. Verá esa sintaxis en todas partes.
Puede leer el lenguaje de programación C si lo desea. Mucha gente lo recomienda como el primer libro que debes leer. Un montón. Pero está diseñado para enseñarle cómo programar en un idioma que todavía usamos hoy, pero para cosas específicas:
El kernel de Linux? C.
¿Sistemas embebidos? C (excepto que ahora vivimos en la era de Java y Android y Linux incrustado …)
servidor web nginx? C.
¡Cosas nitidas! ¡Cosas interesantes! Pero estas cosas representan una pequeña porción de desarrollo de software, realmente. Si te encuentras pirateando esos paquetes, entonces el libro de Kerrigan y Richie es una buena referencia. De lo contrario, es una lectura de baño perfectamente cromulenta.
La popularidad de un libro de 40 años sobre programación que se centra en un lenguaje con usos especializados, que a menudo se encuentra en sistemas heredados, puede explicarse con bastante facilidad. Las universidades solían usar C para eliminar a los programadores. Impresionante estudiante de primer año adolescente recibió ese libro y las tareas, que se escribirán en C, que se ejecutarán en los mainframes de Unix. Y fue duro. Además de la sintaxis y los algoritmos, tenía que preocuparse por la gestión de la memoria, los compiladores viejos y malhumorados, los editores completamente extraños y, a menudo, los mensajes de error crípticos. Recuerdo haber visto a tantos estudiantes sudando y rechinando los dientes mientras trataba desesperadamente de codificar una lista vinculada o un árbol de búsqueda binaria. Pienso en esas tareas y me doy cuenta de que probablemente podría escribirlas en 10 minutos en C #, usando bibliotecas estándar y confiables. ¡Está muy lejos de cómo trabajas en el mundo profesional!
Para aquellos de nosotros que lo hicimos, nos sentimos inteligentes. Increíble. ¿Y qué construimos? Bueno, recuerdo que escribí un programa que tomaría un archivo de texto y daría un recuento de cada palabra distinta en el libro. Tenía una copia del archivo de texto de Gravity’s Rainbow (700 páginas) y lo revisé. Con una lista vinculada, tardó 45 minutos. Con un árbol de búsqueda binario, dos.
¡Qué utilidad! ¡Guauu! No es posible sin nuestra copia de confianza del lenguaje de programación C.
Sí claro…
Y cuando llevas ese ego inflado al mundo real, te derriban muy rápido, en el mejor de los casos. O bien, te ves a ti mismo como un artesano, que pasa incontables horas en un hermoso programa de copos de nieve, un ejemplo de eficiencia sorprendente y te das cuenta de que a nadie le importa y que nadie tiene el tiempo ni la inclinación para leer tu mente, solo quieren algunas pruebas unitarias pasar para que puedan irse a casa.