59 years ago today, the first computer program written in #BASIC was run.
The easy-to-learn and -use #programming language revolutionized #computing. A decade later, #BillGates would co-found #Microsoft to develop and sell the BASIC interpreter for the #Altair 8800, the first commercially successful desktop microcomputer.
Those who dismiss or deride BASIC don't go beyond the language. Guillaume Chereau points out there's more to BASIC as on early microcomputers it provided a full development environment too, almost an IDE.
I'd say BASIC also supported a REPL-based, exploratory programming style similar to Lisp's.
NMH BASIC (http://t3x.org/nmhbasic/) is a tiny BASIC interpreter for the 8086 that I wrote in the mid-1990's. It runs in 12K bytes and includes a minesweeper game that runs on a TTY. Of course a 12K interpreter was an anachronism in the 90's, but it still was a fun project. #retrocomputing, #basic, #compilers, #dos, #8086
Talking about #retrocomputing things... Here a program I wrote on September 2015 with my first computer. That Commodore Vic-20 is now 40 years old, has 3.5 Kb of RAM and last time I tried it was still working :-) #creativeCoding#tumblr#petscii#basic#asciiart#8bit
In the early 80s, both Radio-Quebec (now TeleQuebec) which I watched on UHF channel 17 (Montreal broadcast) and TVOntario (both similar to PBS in the USA) would produce educational programs to teach people how to use and program computers.
The radio-quebec program had even homework you had to send through mail. The TVOntario show had really intricate animation to explain concepts. For example, a pulse wave generation (and a #Commodore PET). #retrocomputing#ti#apple#Atari#basic
While I'm not personally particularly interested in old computers (beyond PDPs & LMs), I'm extremely interested in people designing their own 8/16bit computers, and the exploration of #8bit / #16bit computing as a living medium, rather than as relics of primarily nostalgic value.
A friend of mine is looking for a reimplementation of Sinclair ZX Spectrum BASIC for modern operating systems.
I mean an implementation of the ZX BASIC language with close source compatibility with legacy programs, designed to run BASIC on and leverage the environment of Windows or Linux. Not a Spectrum emulator, a cross compiler, or an alternate BASIC dialect.
From an URL in a game's README I ended up at sites that to this day host collections of game libraries (that are written in Assembly for speed) and games that look way too advanced for QBasic. And there's still life on some forums, too. Amazing.
Today's project, for which I spilt blood, is finally to get a log of the output from the garage mounted solar panels, using a 40 year old computer to do the logging just because, er, why not? An Arduino is calculating output in watts from the time between pulses which come from an energy meter in the garage, sending them by serial connection to the NEC PC8201a which does the logging.
It's powered by a very old and slightly crusty home made variable power supply.
The NEC is running a program written in Microsoft BASIC. Like most people of my age I started writing BASIC before this computer was made, but it's far from my favourite language so I've not written any BASIC in a very long time (except a loader for a spectrum program a few years ago). Because I had never used it before, and on this occasion I could, this program uses the ON COM GOSUB feature. This feature interrupts the flow of the main program whenever data arrives on the serial port, similar in concept to how hardware interrupts work on the processor itself. A bizarre thing for any BASIC dialect to include! As this is BASIC, all variables are global and there's no stack to save state on.