C ++ sin archivos de origen

7

Bjarne Stroustrup menciona en su libro " C ++ Programming Language, 4th Edition " que no todas las implementaciones de C ++ usan archivos para almacenar y compilar código:

  

Hay sistemas que no almacenan, compilan y presentan programas de C ++   al programador como conjuntos de archivos.

(Capítulo 15, página 419)

Más adelante en el capítulo, reitera que ciertas implementaciones no usan archivos, pero no da ningún ejemplo.

¿Cómo funcionaría tal entorno en comparación con un entorno más común basado en archivos?

    
pregunta 20.08.2014 - 07:00

2 respuestas

3

Tomo "conjuntos de archivos" en este contexto en el sentido de los archivos con nombre almacenados en un sistema de archivos en algún tipo de almacenamiento de acceso aleatorio, y tomo "presente al programador" para insinuar que este sistema de archivos debe hacer su información de directorio (nombres de archivo ) visible para el usuario.

Las primeras computadoras presentaron el código fuente al compilador en forma de tarjetas, cinta de papel o cinta magnética. No unificaron los dispositivos en el sistema de archivos, por lo que si bien el dispositivo puede tener un nombre, los datos que están actualmente cargados no lo tienen.

Los sistemas integrados pueden contar con un compilador incorporado y leer el código fuente a través de un puerto.

C / C ++ se dirige a los archivos por su nombre, pero el código fuente que ha sido preprocesado puede leerse desde un lector u otro dispositivo, compilado y ejecutado in situ. Soy consciente de que esto se está haciendo con Forth, y otros idiomas son bastante posibles.

Había sistemas en los que el código fuente estaba almacenado en una base de datos. El sistema Pick es el primero que viene a la mente, pero hubo otros. Los "archivos" individuales se representaron como registros en una tabla en una base de datos. Este es un tipo de sistema de archivos con otro nombre, pero ciertamente podría funcionar. Tal vez podría usarse para un entorno de aprendizaje interactivo, pero no conozco uno.

    
respondido por el david.pfx 20.08.2014 - 13:48
2

Como Basile sugiere en un comentario, hay otras formas de almacenar el código fuente que en los archivos de texto.
VisualAge tenía la opción de almacenarlo en una base de datos DB / 2 (trabajó con él, pero nunca miró la base de datos), por ejemplo.
El C ++ Builder de Borland almacenó algunos códigos en formato binario (especialmente el código para la representación visual de pantallas) en lugar de archivos de texto. Esto usa archivos, pero no archivos de texto.
Y, por supuesto, existen sistemas operativos completos que no utilizan archivos para el almacenamiento, como el antiguo sistema operativo Tandem NonStop que usaba una base de datos SQL como sistema de archivos.

Puedo concebir un sistema integrado que almacene datos directamente en registros EEPROM en lugar de archivos en algún dispositivo que luego se leen en esa memoria según sea necesario.
Probablemente hay otras opciones por ahí.

    
respondido por el jwenting 20.08.2014 - 08:44

Lea otras preguntas en las etiquetas