¿Qué son los niveles de abstracción?

conceptos

IA

Tiempo de lectura:

Publicado:

En programación, el término nivel de abstracción se refiere al parecido que tiene un lenguaje de programación con un lenguaje natural.

Ilustración lenguajes naturales y lenguajes de programación
Ilustración lenguajes naturales y lenguajes de programación
Ilustración lenguajes naturales y lenguajes de programación

A mayor nivel de abstracción, el lenguaje será más parecido a un lenguaje natural. Lo cual lo hace más comprensible para los humanos.

A menor nivel de abstracción, el lenguaje será más parecido al lenguaje máquina. Lo cual lo hace más comprensible para las computadoras.

Los más común es querer alcanzar la sintaxis del idioma inglés. Aunque hay lenguajes de programación que son más visuales, como Scratch.

Ilustración de niveles de abstracción
Ilustración de niveles de abstracción
Ilustración de niveles de abstracción

Ventajas y desventajas

Cada tipo de lenguaje tiene sus pros y sus contras:

NivelVentajasDesventajas
Alto
  • Mejoran la velocidad de desarrollo
  • Aumentan la claridad el código
  • Es más fácil de mantener
  • Menor control sobre los recursos, como la memoria
  • Menos eficientes
Bajo
  • Mayor control sobre el hardware
  • Programas más rápidos y eficientes
  • Difíciles de aprender y usar
  • Propenso a errores debido a su complejidad

Ejemplo

Aquí hay dos ejemplos de código para imprimir 10 números en la consola.

Lenguaje de alto nivel (Python):

for i in range(10):
print(i)

Lenguaje de bajo nivel (Ensamblador):

section .data
msg db '%d', 0
section .bss
res resb 1
section .text
global _start
_start:
mov ecx, 0 ; Inicializar contador a 0
print_loop:
mov eax, ecx ; Mover el valor de contador a eax
add eax, '0' ; Convertir a carácter
mov [res], eax ; Almacenar en res
mov eax, 4 ; Llamada al sistema para escribir
mov ebx, 1 ; File descriptor (stdout)
mov edx, 1 ; Número de bytes a escribir
int 0x80 ; Interrupción del sistema
inc ecx ; Incrementar contador
cmp ecx, 10 ; Comparar con 10
jl print_loop ; Si es menor, saltar a print_loop
mov eax, 1 ; Llamada al sistema para salir
xor ebx, ebx ; Estado de salida
int 0x80 ; Interrupción del sistema

Lista de lenguajes

Aquí hay una lista de los lenguajes más conocidos y su nivel:

Lenguaje de ProgramaciónNivel
Assembler (Ensamblador)Bajo Nivel
CBajo Nivel / Medio
C++Alto Nivel
JavaAlto Nivel
PythonAlto Nivel
JavaScriptAlto Nivel
RubyAlto Nivel
PHPAlto Nivel
C#Alto Nivel
SwiftAlto Nivel
GoAlto Nivel
RustAlto Nivel
KotlinAlto Nivel
TypeScriptAlto Nivel
PerlAlto Nivel
HaskellAlto Nivel
ScalaAlto Nivel
DartAlto Nivel

Comentarios