3 ms·
This was hugely useful to me, and I appreciate the copious links. But I am still stuck on something. In the early days, you programmed the home computers with a
by fusiongyro 9y ago
This was hugely useful to me, and I appreciate the copious links. But I am still stuck on something. In the early days, you programmed the home computers with assembler (it was the truth) or you used co-equal non-truth languages like C or Pascal. Later on, the OSes were all written in C, so the application code was being written in C (or mixed C + assembler) and you had FFI problems if you weren't using C. But what happened in between these that caused the OSes to be written in C rather than Pascal? Was Pascal just not perceived to be useful as a systems language?
Politics and Unix would explain it if, people were borrowing and/or aping Unix in their OSes, or if people just generally had the impression that C was more powerful. Is that kind of the direction you're pointing?
- pjmlp 9y agoIn the 8 bit days, home computers where programmed in Assembly, Basic and Forth. Anything else required being loaded from tape or floppy, including running CP/M instead of the ROM firmware. Remarkable systems in these days Spectrum, C64, Tandy, Atari, MSX, Apple. You can find a few programming books here: http://atariarchives.org/ http://atariarchives.org/ http://www.worldofspectrum.org/documentation.html http://www.worldofspectrum.org/documentation.html Then we moved into 16 bit, the major platforms being MS-DOS, Lisa and MacOS, Atari and Amiga. MS-DOS was coded in Assembly, Lisa and MacOS in Object Pascal, Atari and Amiga used a mix of Assembly and BCPL. MS-DOS and AmigaOS had quite a few UNIX influences on them. Regarding my experience in Portugal, MS-DOS applications were being mostly programmed in Assembly, Pascal, C, C++, Basic and Clipper. Then there were some outliers using Prolog, Modula-2, Forth. Microsoft and Borland were the two biggest vendors on the market and supported almost the same set of languages, with Borland ones being more programmer friendly. Amiga were usually programmed in Assembly, Basic, AMOS, Modula-2 and C. Mac OS was using Object Pascal until by System 7 release they decided to switch to C++. UNIX started to be quite relevant by the mid-90's, and many wanted to continue the work on their home computers, that were doing at work or university on the expensive computer centres running some form of UNIX. For example, I wrote K&R C code on MS-DOS for OS classes where the teacher would bring a PC tower into the class running Xenix, where each group would get a turn trying to execute their UNIX assignments. Think a bit like how the Web influenced the desire to have JavaScript everywhere with node, it was a similar experience. UNIX was being adopted by companies, the other contender being VMS (using BLISS as systems language). With C companies had an ANSI/ISO standard ratified in 1989, while with Pascal, there was a de facto standard Turbo Pascal/Object Pascal with ISO being largely ignored, but they were confined to MS-DOS/Mac OS.
- fusiongyro 9y agoThanks! I really appreciate your sharing this with me.