¿Por qué Python es una mala elección como primer lenguaje de programación?





Como dirijo varios grupos técnicos y chats, a menudo me encontré con una pregunta de los suscriptores sobre qué idioma es el mejor para comenzar a aprender programación e informática. Muy a menudo, alguien aconseja a Python. No estoy de acuerdo fundamentalmente con este consejo. Me gusta este lenguaje, y no tengo nada en contra, es simple y conveniente. Pero hay algunos argumentos en contra de ponerlo en la piel de su primer lenguaje de programación. Haré una reserva de que todo lo que se dice a continuación es la opinión subjetiva del autor y no pretende ser cierto.

Entonces por qué ...



A continuación, en la imagen, di un ejemplo de cómo se puede procesar una matriz usando una función pequeña y devolver la estructura correspondiente a la matriz transpuesta.







La transposición de matrices es una operación en una matriz en la que se intercambian sus filas y columnas. Cualquiera que ya haya comenzado a estudiar geometría analítica (álgebra lineal) se enfrenta a este problema más simple. A veces, esta tarea se da en las lecciones de informática como tareas complejas para procesar matrices bidimensionales, que llamamos matrices. Bueno, algunos pueden encontrarlo bastante simple. Sin embargo, para la mayoría de los principiantes y las personas que no están familiarizadas con la programación, comprender qué es una matriz bidimensional / multidimensional no es una tarea fácil. Lo crea o no, hay muchas tareas de procesamiento de matrices multidimensionales muy complicadas en las que incluso un desarrollador experimentado tendrá que pensar.



Pero volvamos a nuestro (¿más o menos fácil?) Problema sobre la transposición. Como puede ver, en Python, un problema se puede resolver con solo un par de líneas de código. Y todo esto gracias a sofisticadas funciones y métodos integrados que facilitan enormemente su proceso de pensamiento. Como resultado, programar en Python como su primer idioma se pone lentes de color rosa y comienza a pensar que programar es fácil. Hay algo de verdad en esto, y hay una gran trampa en esto.



Hay otros lenguajes, en un nivel más bajo, que te ayudarán a entender la profundidad, entender la base, entender la estructura, quitarte las gafas color de rosa, eliminar el azúcar sintáctico y pensar en cosas que antes dabas por sentado. ¿Cuál es la conclusión de esto? Si quieres aprender a pensar, a entender realmente cómo funciona el hierro, lo mejor es empezar con poco. Por lo tanto, es más útil comenzar con Assembler o C.



Primero , le dará una mejor comprensión de cómo funcionan el procesador y la electrónica periférica en su PC.



En segundo lugar , comenzará a comprender los mensajes de error en el sistema operativo.



En tercer lugar , los lenguajes de alto nivel posteriores, basados ​​en una base sólida de bases de bajo nivel, le parecerán más transparentes y comprensibles de usar.



Creo que hay muchas más ventajas al comenzar desde un nivel bajo. A menudo, las personas que estudian Python, por costumbre, incluyen un montón de bibliotecas en su código para implementar algunas funciones más simples. Es lógico suponer que esto sobrecarga mucho el código y lo hace lento. Y si también recuerda que incluso el código Python escrito de manera efectiva es aproximadamente 1000 veces más lento que un código similar en C / C ++, entonces imagine qué tipo de rendimiento obtendrá al final. Por supuesto, no todos los desarrolladores necesitan escribir software que funcione en tiempo real y requiera respuestas instantáneas con retrasos mínimos. No todo el mundo necesita escribir juegos AAA.



Sin embargo, preste atención a la situación actual del software. Si antes necesitabas un procesador de 8 bits para lanzar un satélite al espacio, ahora tenemos varias pestañas en el navegador con una CPU de 64 bits de 2-4 núcleos que se ralentiza. Entonces, ¿quizás la razón está solo en los desarrolladores, y no en el hardware "débil"?

La primera nave espacial encontrada, que no contenía microcircuitos de nivel medio, sino un microprocesador monolítico (RCA 1802 de 8 bits), es el satélite Magsat, lanzado el 30 de octubre de 1979.
En conclusión, me gustaría decir que todos los lenguajes de programación son grandes logros en el campo de las TI. Pero para que podamos convertirnos en verdaderos profesionales y expertos, todavía tenemos que averiguar dónde empezó todo, recordar los orígenes, las matemáticas, los algoritmos, el ensamblador e incluso la electrónica y la física. Todo el conocimiento debe estar entretejido en su cabeza en una sola imagen, en una fuerte cadena lógica. Este último podrá construirse solo cuando partamos de la raíz de la tecnología, partamos del nivel más bajo.



Escribe en los comentarios si estás de acuerdo con esta idea. ¿O adoptas un enfoque diferente?



All Articles