Red de conocimiento informático - Consumibles informáticos - ¿Qué significa lenguaje de alto nivel?

¿Qué significa lenguaje de alto nivel?

El nivel más bajo es el código de máquina. . . Eso es 1 y 0. . . Lo que la CPU puede reconocer y calcular son sólo 1 y 0. . . Entonces, no importa en qué idioma escriba su programa, eventualmente se convertirá en 1 y 0. . . Sin embargo, la cantidad de veces que es necesario convertir y la complejidad de la conversión no son las mismas.

Cuanto más bajo sea el nivel, más cerca estará del código de máquina y, en consecuencia, cuanto más simples sean los pasos de conversión intermedios, más rápida será la operación de la CPU. . . Es decir, "ejecución eficiente" o "apto para máquinas". . Es decir, para la CPU, "estos códigos son fáciles de identificar".

Cuanto mayor sea el nivel, mayor será el grado de encapsulación y los humanos pueden usar menos código para implementar funciones. En consecuencia, los pasos para convertir a código de máquina serán más engorrosos y la CPU funcionará más lentamente. . . Es decir, "alta eficiencia de escritura" o "amigable para los humanos". El principal beneficio para los humanos es que "no es necesario conocer demasiados conocimientos subyacentes para implementar funciones".

La relación entre el nivel bajo y el nivel alto es la pata de pez y de oso. Cuanto más fácil es para las personas, más complicado es para la CPU y viceversa. Cuanto más le diga a la máquina, menos tendrá que "adivinar" la máquina por sí sola. El rendimiento correspondiente será mejor. El lenguaje de nivel inferior puede hacer más cosas, pero la cantidad de código es grande y la eficiencia del trabajo es baja. Cuanto más avanzado es, más "lento" es y menos cosas puede hacer, pero la cantidad de código también es relativamente pequeña.

Por lo tanto, cuanto más centrados estén los proyectos en el rendimiento, más adecuados serán para escribirse en lenguajes de nivel inferior. Cuanto más orientados al progreso estén los proyectos, más adecuados serán los lenguajes más avanzados.

Los lenguajes de programación se dividen en lenguajes dinámicos y lenguajes estáticos.

Los lenguajes dinámicos son muy antiguos. La mayoría de los lenguajes de programación nacidos antes de la década de 1990 son lenguajes dinámicos. Entre los lenguajes dinámicos convencionales, solo tres nacieron después de 1990 (javascript, ruby, lua). Son todos lenguajes antiguos, que se caracterizan por la interpretación y la ejecución.

¿Qué es interpretación y ejecución? Requiere un intérprete. El intérprete en sí es un software que traduce el código a código de máquina y lo entrega a la CPU para su ejecución. La ventaja es que la sintaxis es relativamente simple e incluso los no profesionales en informática pueden aprenderla fácilmente. No es necesario declarar tipos de variables y el método de escritura es relativamente informal. La desventaja es que el rendimiento es muy pobre y la capacidad de mantenimiento es particularmente pobre. Después de escribir un fragmento de código, es posible que incluso los propios desarrolladores no puedan entenderlo después de un tiempo.

Debido a que los lenguajes dinámicos fueron diseñados para escribir los primeros programas informáticos, los programas de esa época eran muy pequeños. Generalmente, unos pocos cientos de líneas de código pueden considerarse una pieza de software. Mil o dos mil líneas de código se consideran un programa grande. Por eso suele escribirse en un día y requiere poco mantenimiento.

Pero desde el nacimiento de Windows 95 en 1995, los ordenadores han entrado en la era gráfica y la interfaz se puede ver. Pero el problema que siguió fue que el programa se volvió muy grande. La cantidad de código para cualquier pieza de software se ha disparado a más de cientos de miles de líneas, y los grandes proyectos pueden superar fácilmente el millón. A medida que el ciclo de desarrollo se vuelve más largo, el mantenimiento del código se vuelve particularmente importante. Entonces aparecieron los lenguajes estáticos.

La característica del lenguaje estático es la compilación y ejecución. Durante la fase de desarrollo, el código pasa a través de un compilador y se compila en código de máquina. Entonces, cuando se ejecuta el programa, ya es código de máquina. La ventaja del lenguaje estático es que tiene mejor rendimiento porque el tiempo de ejecución ya es código de máquina. Además, la capacidad de mantenimiento es particularmente buena. Una vez escrito un fragmento de código, no importa cuánto tiempo lleve, los desarrolladores aún pueden comprender su propósito de un vistazo. La desventaja es que la sintaxis es relativamente compleja y no es adecuada para personas que no sean computadoras. mayores para aprender. Escribir programas pequeños puede resultar complicado.

Un resumen simple es que cuanto más pequeño es el programa, más obvias son las ventajas del lenguaje dinámico. Cuanto más grande sea el programa, más obvias serán las ventajas de los lenguajes estáticos.

Nivel bajo: código máquina, ensamblador

Nivel bajo secundario: lenguaje C, C++

Lenguajes dinámicos de alto nivel: Javascript, Ruby, Lua , Python, Perl

Lenguajes estáticos avanzados: JAVA, C#, Go, Kotlin, Swift