¿Vale la pena leer lenguajes de programación de libros?

Vale la pena estudiar al menos un idioma y aprenderlo bien. Los libros bien escritos a menudo ayudan al incluir información en contexto sobre por qué y cómo se diseñó un determinado lenguaje de cierta manera. Esto es muy importante, ya que luego puede construir una idea de trabajo sobre qué es “fácil” y qué es “difícil” en un determinado idioma y por qué es así.

Una vez que conozca al menos un idioma muy bien, lo suficiente como para poder escribir un programa de tamaño moderado sin tener que buscar cosas simples todo el tiempo, entonces puede tomar atajos al aprender otros idiomas porque tiene un fondo al que recurrir.

Por ejemplo, muchos idiomas tienen construcciones de tipo if-then-else para tomar decisiones sobre los datos presentados. Sin embargo, la primera vez que realmente veas esto necesitas ser guiado. Lo mismo ocurre con cuándo usar variables individuales o matrices o manipular texto (cadenas). Los buenos libros proporcionan profundidad a estas operaciones de nivel inferior pero comunes.

Las lenguas caen en desgracia todo el tiempo. En mi carrera he visto BASIC, se desvanece Pascal. Java se promociona y se desvanece (¡pero aún está aquí y es fuerte!). PERL también. También hay muchas guerras religiosas sobre Python o JavaScript o Haskell o C / C ++ o….

Así que para resumir. Aprende bien los fundamentos. ¡Entonces intente mantenerse al día!

De hecho, puede valer mucho la pena.

Mi trabajo consiste en trabajar en un sistema integrado de Linux. Desarrollando software para él e integrando cualquier cosa útil de código abierto que pueda ayudar en el camino.

Cuando comencé, hace poco más de un año, no sabía nada de Linux. Al menos nada de lo que importaba. Eso significaba que durante mis primeros meses tenía mucho que aprender. Conceptos básicos de Unix, shell scripting, la línea de comandos, convenciones y esas cosas.

Por lo tanto, me recomendaron el siguiente libro para acelerar el proceso: el entorno de programación Unix.

Eso fue publicado en 1983 ffs. Linux ni siquiera existía en ese momento. ¡Tiene consejos sobre cómo configurar su terminal con la ‘frecuencia’ correcta o algo así! Hablar de la vieja escuela.

Y aún así, parece ser uno de los mejores libros al aprender sobre los sistemas Unix. La lectura valió la pena, incluso si se trataba de un libro muy antiguo.

Y está lejos de ser la única joya disponible.

Los libros de programación suelen ser escritos por los desarrolladores más / más experimentados. Los libros de programación suelen contener sus conocimientos altamente condensados. Si lee aproximadamente 5 programas cada año, dentro de 10 años habrá leído 50 libros, una biblioteca completa de conocimientos de programación.

No solo puede confiar en aprender de la programación de un libro, la programación es una práctica no solo teórica, sino que si hace ambas cosas, codifica mucho Y lee mucho, muy pronto será una multitud más productiva que su libro de no lectura. colegas

Bueno, siempre puede utilizar el conocimiento que ha adquirido de los libros hasta el momento en que se vuelven obsoletos. Parte del material “obsoleto” permanece en uso por un tiempo después de que haya material nuevo disponible, ya que las personas necesitan tiempo para aprender el material más nuevo, adquirir software más nuevo, etc. Además, las actualizaciones de los lenguajes de programación se basan en el material más antiguo, por lo que si comprende el material más antiguo, será mucho más fácil captar los cambios. Si no está tomando una clase que requiere que compre libros y solo quiere aprender un lenguaje de programación por su cuenta, puede comenzar con los materiales en línea que están disponibles de forma gratuita para que no tenga que invertir el dinero en un libro. que quizás no quieras más tarde cuando salga algo nuevo.

Solo hay un idioma y es C.

El universo de internet está formado por átomos de código C.

Otros lenguajes son meros dialectos y aquellos lenguajes como Java que han olvidado su conexión a C se han vuelto incomprensibles.

Tenga en cuenta que con Java es en parte culpa de Sun y de Oracle en su mayoría.

Java fue pensado para ser un período de Enterprise Application Server Language …

Tengo un código C que escribí hace tres décadas que se conecta a Linux y ejecuta … bingo.

Debido a que C ++ es simplemente un idioma de destino para un preprocesador de C, la gestión de la memoria y la captura de errores no están bien definidas, por lo que siempre envuelvo cualquier código de C ++ en un contenedor de C.

La herencia de objetos en C ++ está destinada a la interfaz de usuario, no a cosas como DSP.

Normalmente escribo aplicaciones como Python / C. Es decir, uso un intérprete de Python escrito en C y CFFI (que creo que es la interfaz de función extranjera C o algo así) para escribir interfaces de usuario en Python que llamen a las bibliotecas de C de manera eficiente.

Incorporo una cierta cantidad de funcionalidad en Javascript / PHP / MySQL en el extremo del servidor, pero en su mayor parte todo es Python sobre C.

Desde mi perspectiva, el patrón de diseño del objeto fundamental es MODEL-VIEW-CONTROLLER y muchos ingenieros de software en estos días parecen jugar a los dardos con un IDE en lugar de realmente diseñar un código.

Existe un enfoque llamado OSI – Integración de sistemas abiertos que se utilizó para estructurar Internet. Abrir significa transparente, de modo que si no comprende esto, no entiende Internet.

La totalidad de Internet aún está compuesta principalmente de elementos como ftp, telnet, smtp, rpc con una capa de script feliz de “aplicación” encima.

No solo se puede hacer ingeniería de software en texto simple usando un lápiz y papel, sino que es mucho más rápido escribir código de esta manera.

He estado usando este enfoque durante tres décadas y lo que estoy diciendo es que esto no es UN ENFOQUE, es EL ENFOQUE.

El enfoque que construyó internet al menos.

Con eso quiero decir que podría tomar un grupo de estudiantes de décimo grado, enseñarles programación en C bajo Linux y cálculo y hacer que superen a la mayoría de las escuelas de posgrado en ingeniería de la nación.

¿Eso es estúpido? ¡SÍ!

En todas partes excepto en MIT, que es de donde obtengo mis métodos.

Los libros de lenguaje de programación examinan los precursores y las razones históricas de ciertas decisiones en el diseño y la estructura del lenguaje. Por definición, la historia nunca está desactualizada. Se puede aprender mucho de las consideraciones y compensaciones léxicas, sintácticas y semánticas que se examinan y desglosan. Si tiene algún interés en los idiomas, o simplemente desea una mayor comprensión de lo que se requiere para un análisis robusto, entonces estudiar un libro de lenguaje de programación es una excelente prerrogativa.

Una vez que hayas aprendido a programar (lo que aprendes principalmente en inglés), sí. La sintaxis no cambia tan rápidamente, y el ensamblaje no cambia en absoluto.

Por supuesto, si no aprendes ningún lenguaje de programación, no puedes codificar un programa en ningún idioma, por lo que escribir programas es una pérdida de esfuerzo.

En el año 2017, comprar un libro sobre las características del idioma es completamente inútil.

Encontrará todo lo que necesitará en Internet y para los lenguajes principales como Java, Ruby, Swift, etc., incluso encontrará muy buen material en línea.

Cuando tenía unos 16 años, los teléfonos inteligentes aún no se habían inventado, por lo que al menos podía leer mientras viajaba diariamente. Pero incluso eso se ha ido porque ahora tiene todo el conocimiento en Internet a su alcance.

Simplemente no tiene ningún sentido.

¡Si un libro es incapaz de enseñar correctamente la codificación, ningún otro método puede hacerlo!

A menos que quiera estudiar computación en el futuro, no es importante. Y yo personalmente no leería uno.