Slightly off-topic: My mother decided that she had to learn about this computer stuff too, now that her children were so involved in it. This was in the late 80's. So she grabbed the manual and started 'computering'. Turned out she took the BASIC manual by accident. After a while she had a small program running that printed some numbers on the screen, but she had no idea why she had to do this or what use this program had. In the end she's still the computer-person of my parental pair.
According to "Commodore: A company on the edge" by Brian Bagnall, Jack Tramiel (then CEO of Commodore) stated that Gates originally offered royalties of $3 per copy, but Tramiel claims he answered "I'm already married" and offered to purchase it outright for $25,000 (some sources give lower numbers).
The license allowed Commodore to make improvements, but did not give Commodore any improvements Microsoft made - people like Bob Yannes at Commodore at the time thinks Microsoft basically assumed Commodore would come back asking for upgrades, and pay them more money, but Tramiel was famously tight with money.
In the end, had Gates managed to get $3 per copy, the C64 alone would have resulted in somewhere between $45m and $60m of income for Microsoft at a time when that actually was a lot of money for them.
I believe it was first when they did the Commodore 128 that Commodore negotiated a new deal with them.
The Tramiels were notorious for not caring about software infrastructure, compatibility, and maintenance, to their customer's detriment.
I'm not sure of the details of the deal that Tramiel's Atari Corp signed with Digital Research when they licensed and ported GEM (a Mac/Lisa-like GUI framework) and GEMDOS (a spawn of CP/M 68k) for the Atari ST -- but after the initial port it never received any improvements from DR, though Atari themselves made some relatively minor changes and bug fixes later. But it was a potentially very good operating system that failed to improve significantly until it was too late (Atari hired the author of and acquired a set of open source Unix-like extensions in the early 90s, but by then the writing was on the wall for the platform.)
So many of us spent our formative years punching out BASIC programs on old Apple, C64, etc hardware. BASIC, despite its notable flaws as a language, instilled a passion for technology into so many that burns to this day. We all recall our first "Hello World" on those machines and the excitement that followed as we began to understand the almost limitless world that technology opened up for us. It'd be interesting to see BASIC make a comeback as an educational tool, to create that same spark it did for us 20, 30, even 40 years ago.
With AmigaBASIC 1.2 from MicroSoft but probably without any input from Bill Gates.
My first programming session involved changing the parameters of a ellipse drawing routine. Which was AFAIR from a programming tutorial that was part of the manual.
And AmigaBASIC was part of cementing Microsoft-hate amongst Amiga users early on. It's famously buggy and slow.
One of the bugs involved hacky use of the top 8-bit of pointers to store flags - this worked on 68000 CPU's as thy only had a 24 bit address bus and ignored the rest, but would cause crashes on machines with faster CPUs/accelerators (there are patches, but AmigaBASIC was dropped for later AmigaOS releases anyway)
> My first programming session involved changing the parameters of a ellipse drawing routine. Which was AFAIR from a programming tutorial that was part of the manual.
This is one of the Commodore traditions I really miss: The manuals tended to start with programming, and also included fairly detailed schematics. I know many other home computers did this, but I think Commodore with the Amiga is one of the ones that persisted with it the longest, and were most systematic about it.
The VIC-20 manual I think is one of the best early examples of this approach [1], where the manual starters with programming right after showing how to unpack and connect the computer.
Yeah it's interesting that both Atari and Commodore dropped the ball on the BASIC options for their 16-bit machines introduced at the same time. ST BASIC was also crappy, and it wasn't until later that better third party options became available (GFA BASIC was really good, as was HiSoft BASIC, but both came later).
In large part the C64 and Apple II had their success because it was easy for owners to make the transition from hobbyist to programmer by starting with the built-in BASIC and just working up. BASIC was right there in front of you, always accessible, and you basically _had_ to learn it to use the machine. So it created a ready supply of new content producers.
To program the ST effectively you really needed a C compiler, but of course back in those days that was not cheap at all or even readily available (or very fun on a machine with no hard drive, which was the common situation.)
I can't help but wonder if those platforms could have had better success if they'd just shipped out of the box with a decent BASIC, an assembler, and maybe even a C compiler. Or at least had that available on launch day for a price accessible to hobbyists.
On the Amiga, it basically meant that for many years assembler ruled larg segments of the hobbyist space, at a time when a lot of people would've benefited from transitioning to C.
But it also resulted in things like AmigaE gaining a lot of popularity [1], and I suspect a lot of the reason ARexx got so widespread was because it took over some the space a decent Basic would have. Incidentaly, E had a big leg up on C on the Amiga because the C compilers were notoriously slow, while the AmigaE compiler was blazing fast (it was written entirely in assembler, and did things like reading the entire source into RAM and treating it as an array)
This was the problem. There weren't decent hobbyist dev options for either the Amiga or the ST until 1987, 88. At launch time (84 for ST, 85 for Amiga) there wasn't much at all. And so those machines didn't get the same kind of enthusiast love that the C64 etc. did. _So many_ of the software studios of the 80s got their start among hobbyists on 8 bit machines.
But that was half the fun of doing learning to hack on a C64. Adding coder tools typed in from MLX code from Compute! or Compute!'s Gazette and learning assembly by taking apart programs in Monitor was a deep learning experience for many beginning 6502 coders.
It's sad that they didn't last, but the chip was simply an evolutionary dead end. I've recently thought about finding one to give my grandson in an attempt to pry away from a tablet his parents gave him.
The crop of tablet/cell-addicted kids is a sad state of affairs.
I think you're missing the point of my argument. I was complaining that the ST and Amiga did not ship as easily programmable, nuts-and-bolts-visible, platforms like the C64 and Apple II etc. did. I too learned a lot on my VIC-20. But when I got my Atari ST I had to wait a while til I got a compiler (Personal Pascal and then later GFA BASIC and Modula-2) so I could do anything interesting with it.
As for 6502 being an evolutionary dead end -- it's still being made, and still being used in actual products. You'd be surprised what still has a 6502 or 6502-based core in it. It is a wonderful chip - simple easy to learn ISA, absolutely stellar interrupt responsiveness, and easy to interface.
>the company started out supplying a Fortran compiler for the Altair 8800
I would suppose maybe at some point they did (not sure on this) but it's long been my understanding that BASIC was their start.
Per https://en.wikipedia.org/wiki/Microsoft: Microsoft was founded by Paul Allen and Bill Gates on April 4, 1975, to develop and sell BASIC interpreters for the Altair 8800.
Per https://en.wikipedia.org/wiki/Altair_8800: The computer bus designed for the Altair was to become a de facto standard in the form of the S-100 bus, and the first programming language for the machine was Microsoft's founding product, Altair BASIC.
And, so, was my first computer and my first BASIC programing. Just to read someone saying that people who began programing in basic are already beyond repair ;)