¿Qué lenguajes se usan hoy para la programación de bajo nivel? [cerrado]

13

Cuando escucho programación de bajo nivel, como controladores, sistemas integrados, sistemas operativos, etc., inmediatamente pienso en C y quizás en C ++. Pero principalmente C.

Pero, ¿qué otros idiomas también se utilizan para este tipo de tareas? Hoy, quiero decir, no lo que se ha usado.

gablin
fuente

Respuestas:

14

Normalmente, la programación de bajo nivel, como la programación de controladores, es una mezcla de lenguaje ensamblador y C.

El lenguaje ensamblador se usa para hablar con el hardware y C se usa para hablar con el núcleo.

david4dev
fuente
Me refería a idiomas en un nivel superior al ensamblado, pero su punto sigue siendo válido, por supuesto. =)
gablin
8
Depende del sistema operativo, en Windows o Linux no hay necesidad de lenguaje ensamblador al escribir controladores. Puede acceder al hardware muy bien con C.
Jim A
66
El único momento en el que realmente trabaja con el ensamblaje es cuando se trata con peculiaridades específicas de la arquitectura, generalmente cuando se trabaja en algo como un administrador de memoria virtual. Sin embargo, el programador que escribe un controlador de dispositivo rara vez está expuesto a esto. Usan las instalaciones que existen.
Tim Post
8

Ada todavía se usa en sistemas de seguridad / misión crítica, ya que todavía ofrece características de seguridad relativamente incomparables.

Era obligatorio usar Ada hasta finales de los noventa dentro del Departamento de Defensa, y algunas otras áreas, pero ya no lo es, por lo que ya no se usa tanto como antes. Pero todavía se puede encontrar en usos muy críticos, aviónica, energía nuclear, etc.

Las versiones modernas tienen orientación a objetos y buen soporte para el procesamiento en paralelo, por lo que es completamente útil aún.

Orbling
fuente
1
Creo que usaremos Ada en uno de los cursos de sistemas integrados que estoy tomando en primavera.
gablin
1
@gablin: Sí, se usa comúnmente en sistemas embebidos, una muy buena opción para eso.
Orbling
6

Hice un poco de investigación para la programación de 8 bits hace un tiempo (relacionado con el hobby; quería intentar construir algo de electrónica básica). Aparte de C y Asamblea, los únicos lenguajes que encontré mencionados favorablemente para estas tareas fueron Scheme y Forth.

Inaimathi
fuente
+1 Oh sí, la construcción de productos electrónicos básicos será mi hobby pronto y no puedo esperar para comenzar a usar el libro Make: Electronics para este hobby
Anthony
3

Cython es un ejemplo. No para sistemas embebidos, sino para controladores y otra programación de bajo nivel, se usa cada vez más en el mundo de Python como reemplazo de C. Obtiene tanto un Python compilado, como también acceso de bajo nivel y sugerencias de tipo para aceleraciones.

Como fanático de Python, eso es lo que uso, aunque es cierto que muy raramente y hasta ahora no en ningún contexto serio.

Lennart Regebro
fuente
1
Nunca he oído hablar de él antes, pero gracias por la iluminación. =)
gablin
("más y más" -> "más y más")
Peter Mortensen
1
No creo que Cython sea realmente tan común para la programación de bajo nivel. Siento que normalmente se usa para crear envoltorios alrededor de C y C ++ para dar acceso de nivel inferior y acceso a libs típicas de C o C ++.
tsturzl
Entonces, programación de bajo nivel, entonces. :-)
Lennart Regebro
2

Bueno, trabajé un poco en sistemas embebidos durante los últimos años usando C y Lua .

Echa un vistazo a eLua también.

- EDITAR: Aquí en Brasil tenemos una "nueva tecnología" para televisores digitales, llamada Ginga . Es realmente un estándar, pero en este estándar el lenguaje Lua se usa como una fuente de lenguaje incrustado. El otro es Java.

Supongo que también podemos citar Java, para algunos sistemas especiales como JavaCards . Si esos no son sistemas embebidos, entonces no sé qué significa embebido ... :)

Machado
fuente