Seguro. Antes de que sucedieran las cosas de Altair / MITS / SWTPC / Kim / Sinclair / Pet / RadioScrap / OSI / Apple, había una pequeña máquina encantadora conocida como IBM 5100 . Tenía BASIC en ROM , una gran unidad de cinta de cassette (o dos), 8 KB de memoria. una pantalla de 24 líneas y una impresora, todo por unos miserables USD 10,000, un orden de magnitud más barato que su mini típico. Originalmente construido para científicos ( APL en ROM también era una opción), pero luego algunos tipos de contabilidad lo descubrieron y comenzaron una locura: cada pequeña empresa quería uno. Con software personalizado, por supuesto. El 5110 siguió eso, con las unidades de cinta reemplazadas por disquetes de 8 ".
¿Algún software comercial? Galoons .
¿Puede decir libro mayor, nómina, cuentas por pagar, cuentas por cobrar, control de inventario y facturación? He estado allí, hecho eso, en BASIC. ¿Facturas de servicios públicos, inventario de automóviles nuevos y usados, recogida de camiones de basura y programación de entrega de bebidas? Sí, básico. Quiere rastrear mineral de hierro desde minas hasta trenes en barcos ... BÁSICO. Todo lo que no era un piso elevado probablemente se hiciera en BASIC. Comercialmente, quiero decir. (Porque RPG II no cuenta ;-).
¿Cómo se resolvieron las limitaciones?
Bueno, lo primero que hizo fue enviar al cliente de regreso a IBM para obtener más memoria, porque ¿quién podría escribir algo serio en 8 KB? Simplemente tenía que tener 16. Y dos unidades de cinta, si es posible, porque, aparte de la teoría de autómatas, la clasificación por fusión en una sola cinta es, bueno, un poco lenta.
Oh, lo siento, te refieres a las limitaciones de BASIC.
Bueno, tenía que administrar sus recursos con mucho cuidado, cosas como números de línea , porque no quería quedarse sin esos; Es realmente difícil tener que renumerar una sección completa y volver a escribirla, sin perder accidentalmente una o dos líneas de código.
No, solo bromeo. En realidad, no tuvimos ese problema hasta que aparecieron las computadoras domésticas, con un intérprete BASIC que no podía renumerar por sí solo.
También utilizamos la modularidad, donde llamó a un nuevo programa, lo ejecutó hasta que se cerró y regresó al programa de llamadas. Un gosub con esteroides (porque tienes más memoria para usar), pero mucho más lento (porque le tomó un tiempo a la máquina encontrar el programa en la cinta, cargarlo, y luego rebobinar y encontrar el programa original y cargarlo espalda...). Muy parecido a una bifurcación y un ejecutivo, pero sin la bifurcación, solo mejor porque se compartió todo el espacio de memoria.
El uso riguroso de las convenciones también ayudó: ya sabes, como "siempre DEBES apuntar a un GOSUB en una línea de comentarios que diga lo que hace esta rutina, y DEBERÍAS hacer lo mismo para un GOTO cuando sea posible. Cosas así. Ah, y estructurado programación , un poco más tarde, "por convención" nuevamente.
Algunos incluso fueron un poco al extremo: OAOO , YAGNI , TSTTCPW , emparejamiento, refactorización sin piedad, ese tipo de cosas. No con esos nombres, por supuesto. (Ver también: Eclesiastés ;-)
Los días de gloria.
Were those BASIC dialects only used to teach aspiring programmes bad style
Hm ... Es un mal estilo ahora, pero no en aquel entonces.