¿Alguna vez se usó el BASIC clásico para el desarrollo de software comercial y, de ser así, cómo se superaron las limitaciones?


46

Muchos de nosotros, incluyéndome a mí, comenzamos su vida de programación con programas escritos en computadoras hogareñas , algo así como

10 PRINT "ENTER RADIUS"
20 INPUT R
30 PRINT "CIRCUMFERENCE="; 2 * R * PI
40 PRINT "AGAIN?"
50 INPUT A$
60 IF A$="Y" THEN GOTO 10
70 END

Por supuesto, el BASIC basado en el número de línea era propenso a crear código spagetti, también porque la mayoría de los dialectos BASIC omitían declaraciones estructurales como WHILE, hacer todo menos el FORbucle con IF, GOTOy GOSUB. Estoy hablando de dialectos BASIC antes de 1991, cuando aparecieron QBASIC y Visual Basic .

Si bien los dialectos BÁSICOS pueden haber promovido el mal estilo entre los aspirantes a programadores, ¿se crearon proyectos comerciales más grandes en un dialecto BÁSICO? Si es así, ¿cómo lograron vivir y solucionar las deficiencias obvias?

Por "serio", quiero decir:

  • No es un juego (sé que algunos juegos comerciales se escribieron en BASIC, por ejemplo, Pimania )
  • No freeware
  • No es trivial, es decir, razonablemente grande (digamos: al menos 1500 LOC )
  • Vendido a varios clientes (no es un desarrollo interno)
  • "Misión crítica" es una ventaja

30
Were those BASIC dialects only used to teach aspiring programmes bad styleHm ... Es un mal estilo ahora, pero no en aquel entonces.
Yannis

99
Dartmough BASIC fue diseñado en 1964 (y fue un lenguaje compilado, curiosamente), una era dominada por FORTRAN.
Yannis

8
Suponiendo que está intentando calcular la circunferencia de un círculo, el estilo no es lo único malo que veo aquí.
William Jackson

55
I'm seriously pissed off that this question was closed during the "History" contest.Je, perdiste una gran oportunidad de obtener algunas vistas adicionales para la pregunta al mencionarla en Meta.
Yannis

15
El 99% de todo el software que se escribe son aplicaciones de línea de negocios escritas internamente y, por definición, las hace tan serias como puede ser.

Respuestas:


48

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.


44
De todas las buenas respuestas, elijo esta porque todavía no tiene demasiado amor (votos a favor) y también porque destaca el uso de BASIC para software comercial en microcomputadoras antes del surgimiento de las computadoras hogareñas.
user281377

1
Vota por tu gran respuesta y referencia a uno de los mejores libros de la Biblia :)
Rocklan

46

El primer software en el que trabajé fue un programa GW-BASIC de 8k líneas que la compañía escribió en los años 80 para usar el cálculo de transferencia de calor para dimensionar y fijar el precio del equipo de caldera. Si bien el código era completamente incomprensible, logró funcionar tan bien que lo habían usado durante más de 20 años.

Esta fue la fortaleza de BASIC de que un ingeniero mecánico con un manual de referencia podría realmente escribir software utilizable de calidad (en ese momento). Antes de BASIC y la prevalencia de la PC, tal cosa habría sido desconocida. Tendría que contratar un equipo de ingenieros informáticos y posiblemente operadores de computadoras para programar y trabajar desde un mainframe compartido. Todo esto habría sido demasiado complejo para que el ingeniero mecánico típico lo captara en poco tiempo.

Así que ciertamente BASIC fue muy útil más allá de los entusiastas de las computadoras hogareñas, esta fue la primera introducción de muchas empresas en el ámbito de la escritura interna de software personalizado a un precio asequible sin equipos de expertos.


Absolutamente esto. - ^^^
Robert Harvey

30

Sí, hubo numerosos productos comerciales y otros desarrollos "serios" realizados en BASIC. Para entender por qué, debe comprender el contexto de los años setenta y ochenta, cuando BASIC creció en mini y microcomputadoras.

En aquel entonces, la maquinaria era positivamente flaca según los estándares actuales. Las CPU se registraron a unos pocos MHz (a menudo mucho menos para las microcomputadoras) y tenían menos memoria de la que ocuparía el HTML que se necesita para representar esta página. Si iba a implementar un producto, tenía que usar las herramientas que estaban disponibles, que eran ensamblaje desnudo o, en microcomputadoras, el intérprete BASIC que se enviaba en ROM (a menudo 16K en un espacio de direcciones de 64K) con el sistema . Había otros idiomas disponibles, pero muchos no tenían todas las características estructuradas que damos por sentado. Esto tenía mucho que ver con el hecho de que la memoria era escasa, * nada de eso era virtual excepto en sistemas de muy alta gama y, por lo general, no había suficiente para tener un compilador para un lenguaje más sofisticado. Con recursos tan limitados, "graves"

Su argumento de que los fabricantes de las primeras computadoras domésticas deberían haber sabido mejor y haber proporcionado un lenguaje estructurado simplemente no funciona en ese contexto. Simplemente no iba a suceder con la tecnología disponible a un precio que la gente podría soportar.

La forma en que solucionamos las deficiencias del lenguaje fue simple: no las vimos de esa manera y hicimos el trabajo con lo que estaba disponible. ANSI Minimal BASIC está estructurado de manera muy similar al lenguaje ensamblador en el sentido de que obtienes la mayoría de los mismos sabores de llamadas simples de ramificación y subrutina, pero depende de ti asegurarte de que las estrellas estén correctamente alineadas. La única excepción es la FOR..NEXTconstrucción utilizada para proporcionar bucles. Esencialmente, si desea desarrollar algo en BASIC y hacer un buen trabajo, debe planificar y comprender la estructura de sus programas con el mismo cuidado que si los estuviera escribiendo en conjunto. Las herramientas de depuración disponibles eran muy primitivas, por lo que, en esencia, tenía que actuar juntos si quería que sus programas funcionaran y fueran mantenibles.

Sí, había muchos espaguetis en aquel entonces, pero aún no he visto un idioma en el que sea imposible escribir un código incorrecto.


* La memoria funcionó alrededor de US $ 750-1,000 por MB a principios de la década de 1980. Ajustado por la inflación, eso es de US $ 1,600-2,200 en dólares de 2010. Ese mismo año, el costo por megabyte fue de aproximadamente US $ 0.03.


Recuerdo haber pagado alrededor de $ 1000 por una tarjeta de memoria EMS de 2 Megabytes en la década de 1980. La computadora en la que entró, un kit de clonación de PC basado en NEC V20, costó alrededor de $ 2500.
jfrankcarr

LOL, recuerdo que tuvimos que obtener una orden de compra firmada por el presidente de la compañía para comprar una tarjeta de memoria de 64MB para un VAX a finales de los 80. Para ser justos, era una memoria ECC de doble puerto, pero costaba en algún lugar del otro lado de $ 30K ...
TMN

Hubo aplicaciones comerciales escritas en BASIC, algunas de las cuales se vendieron por dinero, y una aplicación comercial de gran venta escrita en BASIC, para APPLE] [o CommodorePET, o Atari, o IBM, o las microcomputadoras de TI de principios de la década de 1980 podrían vender 100 a 500 copias, a unos precios unitarios de $ 100. No había nada como el producto de software moderno en aquel entonces porque las computadoras en ese entonces eran pequeñas y el software para él era pequeño. Ni básico ni C ni ensamblador ni ningún otro lenguaje moderno habrían cambiado eso.
Warren P

En los años 80, la computadora central de nuestras universidades locales obtuvo una actualización de 10mb a 50 mb. De acuerdo, el 10mb solo estaba medio lleno, pero querían tener suficiente espacio para el futuro previsible ... Imagine que un disco duro con solo 50 mb para unos 50-100 usuarios ... se sobrepase.
SoylentGray

22

Mi primer trabajo de programación al 100%, en la década de 1980, estaba trabajando en un paquete de contabilidad de mercado vertical que se escribió originalmente en GW-BASIC . Había sido portado a QuickBASIC 3.0, pero conservaba casi todas las fallas asociadas con los primeros dialectos BASIC. Había toneladas de GOTO y mucha estructura pobre. Había alrededor de una docena de módulos (inventario, libro mayor, etc.) y el programa se vendió por alrededor de US $ 1000 - US $ 2500 por módulo más contratos de soporte anual. Los ingresos de la compañía estuvieron en el rango de US $ 15 - US $ 25 millones al año.

En cuanto a cómo vivir con deficiencias, se utilizaron muchas limitaciones mediante el uso de lenguaje de máquina o MASM . Era común usar los comandos PEEK y POKE para insertar lenguaje de máquina en programas BASIC. Escribí programas MASM (y luego C) para extender el programa para agregar cosas como soporte de base de datos rudimentario, comunicaciones y "gráficos" de texto.


12
Te compadezco, a menos que, por supuesto, entraste en los 15 mil.
Spencer Rathbun

@SpencerRathbun - Lamentablemente, me pagaron un salario bastante bajo, aproximadamente igual a unos $ 35K hoy.
jfrankcarr

Sí, mi primer trabajo de programación fue en Quickbasic 3. No era un puerto, pero no era mucho mejor. La parte principal la había hecho alguien cuyo "entrenamiento" era leer el libro que vino con el compilador. Misión crítica para los clientes, precio alto de 4 cifras.
Loren Pechtel

5

¿Se crearon proyectos comerciales más grandes en un dialecto tan BÁSICO?

En las computadoras domésticas más antiguas como el C64 o sus predecesoras, existían muchos programas BASIC y también algunos comerciales. Pero "grande" rara vez era posible, ya que con <64kB de RAM escribir programas BASIC "grandes" no es realmente fácil. Si deseaba conocer las limitaciones de la máquina, normalmente tenía que abandonar el terreno de BASIC, el "lenguaje de alto nivel", y usar el ensamblador.

Entonces, la respuesta a su pregunta es "probablemente no muchas", pero no por las razones que tiene en mente (como "demasiado propenso a errores / desestructurado", etc.).

Por cierto: AFAIK, el famoso compilador PETSpeed ​​BASIC fue escrito en BASIC (compilado consigo mismo, por supuesto).


44
Me gustaría señalar que importante! = Grande, especialmente en aquellos días. Hoy en día, los programas comerciales tienden a tener incorporadas todas las características imaginables, pero ese no siempre fue el caso.
Jeanne Pindar

@DocBrown Había formas de sortear el límite de memoria de 64k y las aplicaciones grandes. Muchas aplicaciones grandes existían más como suites de aplicaciones con muchos módulos.
maple_shaft

Recuerdo varios de los primeros juegos comerciales C64 escritos total o parcialmente en BASIC. 'Rox 64' es uno.
Alan B

"Telengard" Creo que se llamaba, un juego de rol para el C64, era como 8k líneas de Basic. Fue divertido ajustar la fuente para convertirte en un súper personaje.
Neil N

@maple_shaft: "¿Muchos?" Especialmente "¿Muchas aplicaciones BÁSICAS?" Tenía la impresión de que solo había unos pocos.
Doc Brown

5

Toda la línea de contabilidad de Peachtree Software (cuentas por cobrar, por pagar, etc.) estaba escrita (y aún puede ser, por lo que sé) en BASIC. Cuando se lanzó por primera vez la PC de IBM, pasé muchas largas noches depurando y arreglando su código para los clientes que compraron una Computadora personal IBM y los paquetes de Peachtree para hacer los libros para su pequeña empresa.


5

Mi primer trabajo fue en 1981 programando Apple IIs en Basic en una oficina de Price Waterhouse (Pre Coopers) en su consultoría de gestión en Belfast, Irlanda del Norte. Un equipo de dos / tres de nosotros desarrollamos e instalamos sistemas en clientes que incluyen una librería y un matadero. Era un sistema de modelado financiero, efectivamente una hoja de cálculo Visicalc muy compleja (50 hojas, 3,000 variables) convertida en un gran programa básico. Se necesitaron dos días en un sistema Apple II con 4 unidades de disco para procesar el rendimiento de una semana en el matadero. Un poco más rápido que su sistema manual que había tomado dos semanas de trabajo por semana.

Luego pasamos a las máquinas Act Sirius, nuevamente programando en Basic (Microsoft 8KB Basic) que se instalaron en los clientes.

El Basic tenía números de línea pero había un juego de herramientas que podía renumerar los programas. Como recién había salido de Uni, donde había aprendido a Pascal, traté de escribir con el estilo más estructurado posible (tanto como sea posible en Básico), pero, por supuesto, se utilizaron Gotos y Gosubs.

Más tarde programé en 1983 en Dec Rainbow que usaba CBasic, un básico torpe compilado.


4

Había mucho software comercial escrito usando BASIC-PLUS en los sistemas PDP-11 . Recuerdo haber visto paquetes de análisis estadístico y contabilidad, además de una buena cantidad de material de automatización de laboratorio de alta gama (no estoy seguro de qué tan "comerciales" eran. Tenían a incluirse como parte de un paquete de instrumentos, así que no sé si se vendieran por separado). ISTR BASIC fue también uno de los idiomas principales para el desarrollo de aplicaciones HP 2000 , y fue el idioma principal (posiblemente el único) admitido para sus estaciones de trabajo HP 9800 series tempranas .


¿El HP2000 apoyó el desarrollo en algo más? Mi impresión fue que el HP2000 estaba codificado para ejecutar solo programas proporcionados por el usuario en HP Timeshare BASIC [algunos o todos los códigos de administración de archivos y administración de usuarios del sistema podrían haberse escrito usando otros idiomas o código de máquina].
supercat

3

Los primeros productos de base de datos DOS de Alpha Software (alrededor de 1985) "Database Manager I", "Database Manager II" (DMB2) y "Alpha Three" se escribieron en BASIC y se compilaron con el compilador IBM BASIC. Trabajé en "Alpha Three". Toda la interfaz de usuario estaba en BASIC pero tenía un componente TSR (terminar y permanecer residente) escrito en C y ASM con el que BASIC se comunicaba mediante interrupciones. Los números de línea y los saltos de línea ocupaban un valioso espacio de segmento, por lo que el código estaba terriblemente aplastado e ilegible. Utilizamos variables compartidas y módulos intercambiados constantemente. Fue difícil hacer el trabajo. Sin embargo, todavía tratamos de ser lógicos con respecto a la organización, por lo que nuestra biblioteca de cadenas tenía todos los números de línea bajos de 60000. Una operación común como recortar una cadena se vería así:

$ S = $ INS; GOSUB 60210; $ INS = $ S;

Convertimos a todo C poco después del lanzamiento de "Alpha Three".


1
Dado que todas las variables eran globales, y también tenía que abusar de ellas para pasar parámetros, ¿cómo manejó su código para evitar sobrescribir accidentalmente una variable ya utilizada?
user281377

Se basó en convenciones.
Pete Lyons

3

A principios de la década de 1980, la Fuerza Aérea de los EE. UU. Compró un montón de computadoras Cromemco S100 para su uso por escuadrones voladores como herramienta de planificación de vuelo.

El software de planificación de vuelo fue desarrollado utilizando BASIC por pilotos y navegadores de la Fuerza Aérea en el Tactical Air Warfare Center, ubicado en Eglin AFB, Florida .

En cuanto a trabajar en torno a "las deficiencias obvias" de BASIC, realmente no sabíamos nada mejor. Simplemente dar acceso físico a una computadora a una tripulación aérea parecía un salto increíble de tecnología en ese momento.


2

Creo que el Ultima original en Apple] [fue escrito en Applesoft Basic.

DEC utilizó su versión de BASIC para gran parte de RSTS y otros sistemas operativos que desarrolló.


Hubo una broma de que RSTS / E fue escrito en BASIC, pero realmente no lo fue. Sin embargo, muchos programas de utilidad sysadmin suministrados con el sistema operativo se escribieron en BASIC.
Don Roby

2

El único temor que tuve, como programador de QuickBasic, hace 20 años, fue el mensaje "Sin memoria". ¡Pero esto solo me hizo un mejor programador! Aprendí a escribir código compacto y serio.

Solía ​​usar QuickBasic para la programación industrial. En el mundo real (fábricas) no puedes decirle a tu jefe que "tomará medio año estar escrito en C"; solo puedes decir: "sí, jefe, estará listo la próxima semana". Sí, BASIC fue la solución práctica y rápida en el mundo real. No C o Pascal.

Uno de los programas que escribí en QuickBasic 4.5, una base de datos única, se vendió a pocas compañías y en realidad reemplazó la base de datos comercial que ya tenían (que probablemente estaba escrita en C o Pascal). Esta base de datos está en uso hasta hoy.

Un tema que quiero mencionar:

Todos pensamos que los nuevos métodos de programación son muy útiles . Pero en la vida real (industria), la mayoría de las máquinas, en estos días, son operadas por PLC modernos. Los programas generalmente se escriben en programación en escalera, que es millones de veces más primitiva que GW-BASIC. Como programador para PLC, puedo decir claramente: me encantaría reemplazar esta programación de escalera primitiva con lenguaje de alto nivel como GW-BASIC o incluso QuickBasic. (MEGA-BASIC es un dialecto que se usó para este propósito en el pasado).

Después de todo, ¿qué están haciendo la mayoría de las máquinas? interpretación de entradas y configuración de salidas. No necesita C / Assembly para eso, y no necesita Java. Simplemente necesita QuickBASIC para crear un código mantenible.


1

Absolutamente sí.

Hace mucho, mucho tiempo, trabajé para una empresa que vendía muchos millones de dólares en sistemas, principalmente a la industria de los concesionarios de automóviles. Estos sistemas ejecutaban el software BASIC en derivados de minicomputadora HP 21MX de 16 bits personalizados (antes de la era de los exitosos microprocesadores de 16 bits). Esta era una empresa mediana con docenas de programadores básicos. Utilizaron un dialecto BASIC antiguo que requería números de línea y solo permitía 286 nombres de variables posibles, y sin embargo, las soluciones proporcionaban toda la contabilidad e inventario de negocios (etc.) para empresas medianas. El grupo de I + D también escribió ensambladores, compiladores e incluso emuladores de hardware en Basic para ayudar a desarrollar su hardware de próxima generación.

Al intentar explicar lo que pensé que eran los beneficios de una programación más moderna y metodologías de diseño de hardware para un temporizador antiguo, me dijo que los buenos diseñadores particionaron, modularizaron y estructuraron adecuadamente las soluciones a sus problemas, incluso si no se construía una expresión directa de los mismos. en el lenguaje o las herramientas, mientras que, señaló, los malos diseñadores pueden producir basura no depurable sin importar el paradigma de desarrollo de moda "elegante" en el que trabajen.


1

El hecho es que la mayoría de los nuevos concesionarios de automóviles en los EE. UU. Usan programas BASIC para cotizar sus opciones de financiamiento y crear esas largas declaraciones de liquidación que obtiene cuando compra un automóvil. Los programas están escritos en versiones arcaicas de minicomputadoras de BASIC que se ejecutan bajo emulación en hardware moderno. Hay interfaces de usuario web injertadas, pero es BÁSICO hablar con un tty debajo.

Alrededor de 1980, el seguro de vida universal se convirtió en una moda instantánea en el negocio de seguros de vida. Todas las empresas querían venderlo de inmediato, y exigían que los valores de las cuentas se calcularan para cada póliza cada mes utilizando una combinación muy complicada de intereses y jumbo-jumbo actuarial. Como los grandes proyectos en los departamentos de procesamiento de datos tomarían alrededor de un año en ese entonces, muchas compañías entraron en producción con la mayor cantidad de Manzanas, PC y / o Tandy TRS-80 que necesitaban, haciendo la versión más complicada de lo que había estado en mainframes durante aproximadamente 20 años. Prácticamente todos estos fueron programados en BASIC. En su mayoría, el BASIC utilizaba coma flotante de precisión corta, por lo que millones de centavos de clientes se perdieron en el redondeo.

JPL tenía una versión de BASIC que también usó ampliamente hace unos 35 años. Se llamaba MBASIC, con la M que significa gestión, pero se usaba, entre otras cosas, para programar naves espaciales.


1

El muy popular sistema de punto de venta minorista 4680/4690 de IBM fue escrito en un dialecto llamado IBM 4680 BASIC . Trabajé en este sistema desde 1998-2002 para un importante minorista del Reino Unido.

Este sistema era muy popular, de acuerdo con el artículo de la wiki, todavía tenía el 12% de la cuota de mercado en 2005. El sistema todavía se está fortaleciendo hoy, las probabilidades de que la mayoría de las personas en el mundo occidental hayan utilizado indirectamente este sistema BASIC en las últimas semana.


0

Mire PICK o cualquiera de las otras bases de datos MultiValue. Todos confían en DataBasic como su idioma principal o único y tienen un uso significativo en el mercado vertical. Todavía ejecutamos un sistema que escribí para la evaluación comparativa de adquisiciones hace más de 20 años. Se ejecuta a aproximadamente 50k líneas de código.


0

Había una compañía llamada Softek en India en los años 80 que creó sus propias versiones de Wordstar, dBase y Lotus 1-2-3. Otro de sus productos fue un compilador BÁSICO.

Usando su propio CBASIC, crearon un paquete de contabilidad de doble entrada muy completo llamado SIMS-FA (Softek Financial Accounting).


0

¿Alguna? Si. ¿Muchos? No. Software educativo y mantenimiento de registros.

La era BÁSICA: ~ 1970-1990

Hasta aproximadamente 1990, las limitaciones excedieron las expectativas y evolucionaron con las necesidades de la industria. En su mayor parte, las necesidades de las empresas más grandes fueron analizadas por consultores y se reunieron con cualquier lenguaje que satisficiera la necesidad.

Al igual que hoy, donde las empresas tienen una idea más o menos desarrollada de lo que necesitan y se construye algún tipo de solución con VBA, y luego aprenden lo suficiente como para descubrir soluciones cliente-servidor más competentes, aplicaciones web e interfaces optimizadas con preparación de datos .

En la década de 1970, si una empresa normal pudiera equilibrar cuentas o registrar cifras de producción en la computadora sin el presupuesto de una corporación, sería un gran paso adelante de llevar libros, y si pudiera obtener un diagrama, sería fantástico.

En la década de 1980, si pudiera migrar algunos dibujos de productos a la computadora para hacerlos editables, eso también sería fantástico.

Ambos se podrían hacer con un lenguaje basado en intérpretes. Como las computadoras podían contener más datos, la complejidad requería compiladores, porque las CPU se quedaron atrás de la ley de Moore en cuanto al rendimiento de mezcla de datos sin procesar desde alrededor de 1977 hasta alrededor de 1987.

Pero hasta fines de la década de 1980, cuando las expectativas exigían más, los idiomas establecidos en la década de 1970 (complementados en casos excepcionales por Assembler y / o hardware personalizado como las placas FPU) hicieron todo el trabajo serio y comercial en las empresas con pocas excepciones. Cobol y Fortran seguían siendo el boleto en los mainframes. Solo las corporaciones podían permitirse tales, y las compañías serias hicieron el trabajo serio que pudieron con los programas internos de BASIC, y por un tiempo fue suficiente.

Los paquetes de software independientes para uso general, como procesadores de texto o diagramas de diagramas, aparecieron aproximadamente en este momento, cuando los sistemas operativos habían madurado en computadoras asequibles como objetivos para los compiladores, y surgió un almacenamiento que podía contener documentos y datos de "tamaño de empresa".

Pascal fue un gran contendiente aquí. Anteriormente, casi todo eso había sido escrito en Assembler. Finalmente, C vino de Unix y comenzó a usarse en PC.


0

En los días del Commmodore 64, parte del juego Gunship fue escrito en BASIC. Incluso podría editar el código, por lo que su helicóptero podría estar equipado cada vez que aterrice.


Sé que algunos juegos (comerciales) se escribieron completamente en Basic, pero excluí los juegos por una razón: los juegos son lo que sea que los hagas, siempre que sean divertidos. Es más fácil vivir con las limitaciones cuando el "conjunto de características" depende completamente del diseñador y el mantenimiento no es un problema.
user281377

0

BBC BASIC se originó en BBC Micro , lanzado en el Reino Unido en 1981. Cuando llegó a la versión cinco, implementado en las computadoras RISC OS basadas en ARM de Acorn, se lo consideraba el BASIC más rápido del mundo. Su sintaxis fue avanzada para su época, incluyendo palabras clave estructurales como CASE y WHILE y funciones y procedimientos. (Incluso incluyó un ensamblador, originalmente para 6502 , y luego para ARM en las versiones RISC OS ).

Muchas aplicaciones de escritorio comerciales se escribieron usándolo, tal vez en gran parte porque proporcionaba un acceso conveniente a las llamadas SWI que utilizaba el sistema cooperativo WIMP. Fue lo suficientemente rápido como para que incluso se escribieran algunos juegos de arcade: Nevryon , un clon de tipo R, es uno de los que recuerdo especialmente cuando miré la fuente.


En realidad, tenía un Acorn Electron (versión más pequeña de la BBC) y un Acorn Archimedes (y también un Cambridge Z88 que usaba el mismo BASIC); y sí, el BASIC en estas computadoras fue un poco mejor que en la mayoría de las otras computadoras domésticas. Pero dado que el BASIC también incluía la posibilidad de usar el ensamblador en línea, podría ser difícil distinguir los programas BASIC puros de los programas mixtos si solo mira el código fuente.
user281377

Oh, una rápida mirada es todo lo que se necesita para distinguir entre los dos. Muy diferente. Y aunque sí incluía un ensamblador, no era común distribuir el código fuente del lenguaje ensamblador. Por lo general, el código binario ensamblado se incluiría en su lugar.
Dan Ellis

0

Los antiguos lenguajes de secuencias de comandos de la base de datos xBase (como en dBase II , dBase III + , Clipper, etc.) estaban bastante relacionados con los diversos BASIC no estándar de la época.

No se usa BASIC exactamente para trabajo comercial, pero tal vez lo suficientemente cerca.


Steve314: esos lenguajes xBase estaban muy por delante de la computadora básica BASIC. Escribí mucho código en Clipper, y recuerdo funciones, variables locales, sentencias de bucle y muchas otras cosas que faltan en el BASIC de la computadora doméstica de los años 80. Yannis: QuickBasic apareció en 1985.
user281377

@ user281377 - BBC Basic en 1981 estaba estructurado y tenía procedimientos, aunque todavía necesitaba números de línea. El estándar ANSI básico (1984) incluía estructuras de bloques sub(una función / procedimiento con parámetros y variables locales) y más, y los números de línea eran opcionales. Borland Turbo Basic en 1985 tenía la mayoría de las características básicas estándar IIRC. Utilicé GFA Basic en el Atari ST bastante - también estructurado, de procedimiento, sin números de línea. Hubo un montón de conceptos básicos estructurados y de procedimiento en los años 80.
Steve314

@ user281377 - xBase tenía ventajas obvias en términos de manejo de bases de datos y formularios de entrada de datos, haciendo cosas que ningún Basic hizo que yo supiera, pero entonces podría señalar fácilmente que STOS tenía ventajas obvias para mostrar sprites y leer joysticks.
Steve314

@ Steve314: Sé que hubo dialectos BÁSICOS con buenas características, pero estoy preguntando específicamente sobre los otros BÁSICOS. Aquellos donde GOTO y GOSUB eran todo lo que tenías. Donde cada variable era global y una matriz unidimensional tenía tanta estructura de datos como se podía obtener. Clipper era un dialecto xBASE realmente avanzado; Sinceramente, no recuerdo cuántas de las características avanzadas de Clipper estaban disponibles en dBASE III, pero al menos tenía bucles de tiempo real adecuados.
user281377

1
@ user281377 La versión original de la respuesta mencionaba Visual Basic (¿de dónde sacaste QuickBasic?), eso era lo que estaba gritando; P
yannis

-2

La mayoría de los micros solo tenían herramientas básicas (ROM) o de desarrollo de ensamblador. Para los programas que no son críticos para la velocidad, BASIC se utilizó para muchas aplicaciones comerciales, así como para la mayoría de los proyectos internos de la empresa. Incluso cuando apareció CP / M , las únicas mejoras reales fueron la capacidad de manejar proyectos más grandes y usar el compilador básico de Microsoft (BASCOM). Mi propia experiencia con el microdesarrollo temprano fue la siguiente:

~ 1980 - Microsoft ROM básico en un Nascom 2 con un pequeño ensamblador. El desarrollo de aplicaciones comerciales incluyó un programa de devolución del IVA (impuesto sobre las ventas) y un programa de control de procesos (ambos en BASIC).

198? - Todavía uso BASIC, pero ahora también tenía Pascal (BLS - precursor de Borland Pascal ).

Mediados de la década de 1980: las PC comienzan a dominar y aparecen los primeros compiladores de C ( Hisoft y Mix). BASIC entra en declive (revivido más tarde en forma de zombie, por supuesto, por MS con Visual Basic ). GW-BASIC fue muy popular como herramienta de desarrollo interna. Numerosos paquetes comerciales (contabilidad, control de existencias, etc.) todavía se escribieron en BASIC.

Finales de la década de 1980: C se convierte en el principal lenguaje de desarrollo (¿después del lanzamiento de MSC 5 en 1986?). Microsoft y Borland dominan durante los próximos años ...


1
¿Cómo responde eso a la pregunta?
mosquito

responde a la pregunta diciendo "sí, el básico fue ampliamente utilizado para el desarrollo comercial en los últimos años 70 y principios de los 80". En cuanto a superar las deficiencias obvias, tenga en cuenta que los programadores no vieron estas deficiencias en ese momento. Basic es Turing completo para que los programadores inteligentes puedan hacer lo que necesiten (las principales limitaciones fueron, por supuesto, la velocidad, la memoria, el almacenamiento, etc., pero estas limitaciones se aplicaron a todo el desarrollo en ese momento). No estoy seguro de por qué tantos votos negativos, solo estaba tratando de responder la pregunta.

estos dos programas que mencionas, ¿fueron vendidos a varios clientes (no un desarrollo interno) ? ¿Puedes compartir referencias donde uno puede aprender más sobre estos?
mosquito

Desafortunadamente, muchas aplicaciones (incluidas las que también mencioné) se han perdido en las brumas del tiempo (sin interweb o incluso BBS para distribuir en ese momento). He perdido los cassettes en los que se detuvieron, pero fueron: 1) No juegos, 2) no gratis, 3) No trivial y 4) misión crítica. No puedo decir que se vendieron a muchos clientes, la aplicación contoal fue para un cliente específico, la aplicación de IVA se volvió a vender varias veces. Todavía me molestó por los votos negativos (recogedores de liendres o debería decir recolectores de mosquitos :-)).
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.