4 ms·
C was created to write Unix on PDP-11 hardware. Prior to that operating systems were typically written in assembler. C was seen as a high level assembler and on
by GianFabien 4y ago
C was created to write Unix on PDP-11 hardware. Prior to that operating systems were typically written in assembler. C was seen as a high level assembler and only later ported to other hardware.
Realistically, C should have been restricted for writing operating systems and device drivers. It is far too low-level for application programming. But since it was often the only portable high level language, software vendors adopted it for purposes that it was never designed to handle. That was partly the reason that C++ and Objective C emerged.
- danuker 4y agoAlso Java and Python.
- pjc50 4y agoAlso Java and Python... what? This sentence no verb.
- hdjjhhvvhga 4y agoRelatively quickly we got Pascal, and the Borland dialect got widely adopted in the academia. Unfortunately, because of teething problems (various dialects, TP only available for DOS/Windows etc.), eventually it lost the battle with C. It's a pity as we would have to deal with much less bugs over those years.
- pjmlp 4y agoAlso note that the Borland dialect got inspiration from Apple's Object Pascal (TP 5.5) and UCSD (TP 4.0). The switch in what customer base to target was what done more damage to Borland, more than anything else. Delphi could still be a major language on the PC world at least.
- pjmlp 4y agoC was created to port Unix V6 into PDP-11 hardware, after a couple of failed attempts with B.
- aap_ 4y agov4 was the first kernel written in C, and the assembly kernel before that already ran on a PDP-11. I doubt anyone even considered using B for this.
- pjmlp 4y agoI stand corrected, it was v4 and not v6, yeah. For a while they used improved B versions, what Dennis calls New B, Embryonic C and Neonatal C, regarding the language evolution. https://www.bell-labs.com/usr/dmr/www/chist.html https://www.bell-labs.com/usr/dmr/www/chist.html
- pjc50 4y agoOnly portable language with free or vendor implementations. It was initially tied to the rise in UNIX; being the C operating system meant that it had to have a C compiler, even if it wasn't always a part of the vendor install. That's why GNU set out to build a compiler before building an operating system. Similar to how the microcomputer era spread interpreted BASIC as the language of choice. If you wanted another language, you'd not only have to actively choose it but you'd have to pay money for it.
- canadianfella 4y ago[dead]
- flohofwoe 4y agoC++ and Objective-C emerged because everybody had too much of the OOP Kool-Aid during the late 80's and early 90's.