Lenguaje de programacion de medio nivel

Lenguaje de programacion de medio nivel

Javascript

C se llama un lenguaje de programación estructurado porque se puede resolver un problema grande dividiendo el problema en bloques estructurales más pequeños (función), cada uno de los cuales maneja una responsabilidad particular. Incluso un bloque estructural más grande, como una función, puede tener bloques estructurales internos más pequeños, como decisiones y bucles.
La programación estructurada apareció después del lenguaje ensamblador. Los lenguajes de ensamblaje no tenían soporte estructural. Los lenguajes de programación solían utilizar sentencias del tipo goto y jump para saltar entre diferentes unidades lógicas. Un programa más grande solía ser desorganizado y difícil de entender.
El lenguaje cuyo diseño se rige por los circuitos y la estructura de la máquina se conoce como lenguaje máquina. Este lenguaje es difícil de aprender y utilizar. Es específico para un ordenador determinado y es diferente para distintos ordenadores, es decir, estos lenguajes dependen de la máquina. Estos lenguajes han sido diseñados para ofrecer una mayor eficiencia de la máquina, es decir, una ejecución más rápida del programa. Estos lenguajes también se conocen como lenguajes de bajo nivel.

Lista de lenguajes de programación de nivel medio

He oído estos términos lanzados alrededor de la descripción de las lenguas antes, como C no es del todo un lenguaje de bajo nivel, C ++ es un nivel medio, y Python es un lenguaje de alto nivel. Entiendo que tiene que ver con la forma en que se compila el código, y cómo se escribe. Pero lo que quiero saber es qué define a un lenguaje en una de esas 3 categorías. ¿Son estas categorías absolutas, o sólo una idea general que los programadores utilizan para describir los lenguajes entre sí?
En informática, un lenguaje de programación de bajo nivel es un lenguaje de programación que proporciona poca o ninguna abstracción de la arquitectura del conjunto de instrucciones de un ordenador. La palabra «bajo» se refiere a la pequeña o inexistente cantidad de abstracción entre el lenguaje y el lenguaje de la máquina; por ello, los lenguajes de bajo nivel se describen a veces como «cercanos al hardware».
En comparación, un lenguaje de programación de alto nivel aísla la semántica de ejecución de la arquitectura del ordenador de la especificación del programa, lo que hace que el proceso de desarrollo de un programa sea más sencillo y comprensible.

Ver más

La «lengua intermedia» no es el inglés, así que hay que adivinar a qué te refieres. Si te refieres a «un lenguaje de nivel intermedio de abstracción», es una valoración justa, aunque tienes razón en que, comparado con la mayoría de los otros lenguajes, se extiende para cubrir un rango incómodamente amplio de niveles de abstracción.
Los lenguajes que proporcionan (en primer lugar) una recolección de basura automática e intrínseca, están trabajando claramente en un nivel de abstracción más alto – probablemente demasiado lejos de la máquina para ser totalmente utilizable para las partes de más bajo nivel de los kernels, los controladores de dispositivos, etc., pero mucho más conveniente y libre de errores de gestión de la memoria que los lenguajes que no ofrecen tal facilidad (u ofrecen sólo a través de punteros «supuestamente inteligentes» que normalmente hacen una GC extremadamente rudimentaria – a menudo tan rudimentaria como el conteo de referencias (!), mundos de distancia de las arquitecturas modernas de GC). Casi todos los lenguajes más extendidos después de C++ han incluido la recolección de basura como parte de sus características intrínsecas.
En el otro extremo del espectro, los lenguajes ensambladores específicos de la máquina trabajan claramente a un nivel de abstracción inferior al de C++ (y, de hecho, es habitual que los compiladores de C++ ofrezcan, como extensiones no estándar, la posibilidad de incrustar el lenguaje ensamblador para que los programadores avanzados puedan hacer uso de sus facilidades cuando esté justificado).

Ejemplos de lenguajes de nivel medio

Un lenguaje de programación de sistemas es un lenguaje de programación utilizado para la programación de sistemas; estos lenguajes están diseñados para escribir software de sistemas, que suele requerir enfoques de desarrollo diferentes en comparación con el software de aplicaciones. Edsger Dijkstra se refiere a estos lenguajes como Lenguajes de Alto Orden Orientados a la Máquina, o mohol[1].
Los lenguajes de programación de propósito general tienden a centrarse en características genéricas para permitir que los programas escritos en el lenguaje utilicen el mismo código en diferentes plataformas. Algunos ejemplos de estos lenguajes son ALGOL y Pascal. Esta cualidad genérica suele tener el coste de negar el acceso directo al funcionamiento interno de la máquina, lo que suele tener efectos negativos en el rendimiento.
Los lenguajes de sistema, por el contrario, no están diseñados para la compatibilidad, sino para el rendimiento y la facilidad de acceso al hardware subyacente, al tiempo que proporcionan conceptos de programación de alto nivel como la programación estructurada. Algunos ejemplos son SPL y ESPOL, ambos similares a ALGOL en cuanto a sintaxis, pero adaptados a sus respectivas plataformas. Otros son multiplataforma pero están diseñados para trabajar cerca del hardware, como BLISS, JOVIAL y BCPL.