? Nota: La miniatura se generó usando
Modelo Flux Schnell con ayuda de ComfyUI;
Este artículo fue escrito con la ayuda de NI - Inteligencia Natural
? ¿No tienes tiempo para leer? - Mira el vídeo que creamos:
Inicialmente, todos los programas se escribieron en un binario, llamado ensamblaje
lenguaje de programación. Donde literalmente le indicas a la CPU qué hacer dentro de
ALU. Mientras que el ensamblador al ser un lenguaje de programación de bajo nivel proporciona
control muy fino sobre ALU, requiere que los programadores conozcan realmente la CPU
arquitectura y lógica binaria: es muy difícil y costoso.
El ensamblaje proporciona optimizaciones de bajo nivel que benefician el rendimiento de la ejecución.
Ejemplos de programas de este tipo que se están desarrollando y manteniendo activamente
son algoritmos de clasificación, funciones hash, bucles, etc.
Entonces, para reducir la complejidad y mejorar la eficiencia se inventaron personas inteligentes
lenguajes de programación de alto nivel.
? Ejemplo de ensamblado aplicación hello world para Linux X86:
section .data hello db 'Hello World!', 0x0A ; The string to print, with a newline section .text global _start ; Entry point for the program _start: ; Write the string to stdout mov eax, 4 ; syscall number for sys_write mov ebx, 1 ; file descriptor 1 is stdout mov ecx, hello ; pointer to the string mov edx, 13 ; length of the string int 0x80 ; call kernel ; Exit the program mov eax, 1 ; syscall number for sys_exit xor ebx, ebx ; exit code 0 int 0x80 ; call kernel
El propósito del lenguaje de programación de alto nivel es simplificar el procedimiento de
escribir lógica empresarial utilizando texto legible por humanos. Programación de alto nivel
Los lenguajes se clasifican en compilados e interpretados.
El lenguaje de programación compilado traduce código legible por humanos de alto nivel a
código de máquina durante el procedimiento de compilación.
Un programa que realiza una compilación real se llama compilador.
Vale la pena mencionar que cada programa debe compilarse
a una arquitectura informática específica.
Los programas compilados para X86 no funcionarán en procesadores ARM y viceversa.
Por lo tanto, se requiere compilación para una arquitectura específica.
La compilación es un proceso irreversible.
No se puede convertir de manera confiable código ensamblador a código fuente de alto nivel.
En cuanto al rendimiento, en la mayoría de los casos los programas compilados se ejecutan
más rápido ? que los programas interpretados.
La mayoría de los lenguajes compilados se escriben estáticamente.
La explicación sigue en los siguientes párrafos.
Los lenguajes compilados más populares son C, C, Rust, Objective C, C#.
? Hola mundo escrito en lenguaje de programación C:
#includeint main() { printf("Hello World!"); return 0; }
Las aplicaciones pueden realizar ciertas acciones típicas, como mostrar imágenes,
descomprimir archivos y muchos otros. Si bien es posible escribir todo eso
funciona desde cero, no es práctico hacerlo.
Para ello se utilizan bibliotecas.
Las bibliotecas ayudan a reducir la complejidad del proceso de desarrollo al dividir
aplicaciones en módulos. Se pueden realizar nuevas funciones y correcciones de errores dentro de
el alcance del módulo en lugar de toda la aplicación.
El proceso de integración de bibliotecas a la aplicación principal se llama
Enlace. La vinculación se puede realizar de forma dinámica, lo que significa que todas las bibliotecas están
compilado por separado y conectado a la aplicación principal durante
el tiempo de ejecución de la aplicación o estáticamente, lo que significa que todo el código de máquina
de las bibliotecas está integrada en el binario principal de la aplicación.
Las bibliotecas dinámicas suelen tener la extensión .dll para Windows y .so para Unix.
El lenguaje de programación interpretado traduce código legible por humanos de alto nivel
en código de máquina durante la ejecución del programa. El programa que hace eso
Se llama intérprete. Dado que un intérprete también es un programa que
ya está compilado para una arquitectura específica de la CPU que puede traducir
código de alto nivel al lenguaje de máquina sobre la marcha.
¿En términos de rendimiento, en la mayoría de los casos los programas interpretados son más lentos?
que compilado.
Los lenguajes interpretados más populares son Python, JavaScript, PHP, Ruby.
? Hola mundo escrito en lenguaje de programación Python:
print("Hello World!")
Los lenguajes de programación se pueden clasificar como de tipo estático o dinámico.
En lenguaje de programación de tipo estático todas las variables y estructuras de datos
están predefinidos antes de la compilación o ejecución del programa.
Por ejemplo, esto significa que si el desarrollador define la variable A como cadena
no puede cambiar su valor de una cadena a un número más adelante en el código.
Esto se puede verificar durante la compilación e impresión de Ahead Of Time (AOT)
error lógico. Esta sencilla técnica ayuda a reducir el número de errores
durante la ejecución, lo que conduce a programas más estables.
En el lenguaje de programación escrito dinámicamente, las variables se pueden reasignar
de un tipo a otro. Por ejemplo, una variable A puede contener primero un número
y luego puede contener una cadena. Ese método simplifica el proceso de desarrollo.
Las variables pueden ser números enteros, números de coma flotante, cadenas.
Se consideran la estructura de datos más simple posible.
Para profundizar más, las variables se almacenan utilizando direcciones específicas en la RAM.
La dirección es un número binario (11111111111111101011111101111111111100001101100)
de la celda de memoria en la RAM generalmente representada como un número hexadecimal
(0x7fff5fbff86c) para facilitar la lectura.
Las constantes son las variables especiales cuyo valor, después de la asignación,
no debe ser modificado por el programa en ejecución.
Además de las variables, existen otras estructuras de datos como matrices,
Matrices asociativas, listas enlazadas, colas, pilas y muchos otros.
El propósito de estas estructuras es almacenar datos de manera más eficiente
así sería más fácil trabajar con los datos.
Una de las formas de simplificar la programación de la lógica empresarial es utilizar
las llamadas funciones. Como en matemáticas donde f(x) es una función que produce
algún valor dependiendo de las propiedades de esa función en la programación
Las funciones pueden devolver valores o hacer algunas cosas. Las funciones pueden aceptar entradas
argumentos como un número, una cadena o cualquier otra estructura de datos y retorno
valores o estructuras de datos o pueden funcionar sin ningún argumento,
todo depende de la lógica empresarial de la función misma.
En realidad los lenguajes de programación no son tan complejos como todo el mundo piensa.
Si recién estás comenzando a aprender programación, comienza con interpretación simple
lenguaje como Python. Después de comprender los conceptos básicos, todos los demás idiomas
Seguirá tan fácil como leer la sintaxis.
Fuente: https://blog.wiregate.io/posts/programming-languages-explained
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3