5 ms·
The only reason C is as popular as it is is that it was used to write Unix, which was widely distributed and implemented. The rest is just following on that. It
by MaysonL 8y ago
The only reason C is as popular as it is is that it was used to write Unix, which was widely distributed and implemented. The rest is just following on that. It's just like the reason human (and other mammals) have their optic nerve passing through the retina creating a blind spot: pure historical accident.
- oytis 8y agoYes and no. It can explain why C dominates over other low-tech languages, like e.g. Pascal. But when people talk about replacing C they usually mean replacing it with some feature-rich language. And why C survives and dominates certain areas despite lacking all the fancy features is a totally different question.
- edwinyzh 8y agoHello, why you can Pascal a low-tech language? Recently I heard about 'low-tech programming', not sure what does it actually mean.
- C1sc0cat 8y agoPascal isn't a low level language its a teaching one
- _0ffh 8y agoThat's an age old discussion. The practical Pascal variants like Turbo Pascal and Quick Pascal, which compiled to native code, are essentially on par with C regarding the features. That includes access to absolute memory addresses, port I/O and the speed of the resulting code. I've done over a decade of Turbo Pascal coding, and going on three decades of C, and I agree they feel like essentially much the same thing.
- C1sc0cat 8y agoHumm ok but sounds risky I can recall PET programming where you would poke raw assembly code and BBC basic could inline Assembly , not sure that means BASIC is a low level language.
- clouddrover 8y agoIt's worth checking out the current state of Pascal: https://www.embarcadero.com/products/delphi https://www.embarcadero.com/products/delphi https://www.freepascal.org/ https://www.freepascal.org/ It's just as capable as any other language. I don't know what your definition of "low level" is, but I suppose you mean inline assembly, manual memory management, and pointers. Pascal has inline assembly: http://docwiki.embarcadero.com/RADStudio/Rio/en/Inline_Assembly_Code_Index http://docwiki.embarcadero.com/RADStudio/Rio/en/Inline_Assem... Pascal has manual memory management: http://docwiki.embarcadero.com/RADStudio/Rio/en/Memory_Management_Index http://docwiki.embarcadero.com/RADStudio/Rio/en/Memory_Manag... Pascal has pointers: http://docwiki.embarcadero.com/RADStudio/Rio/en/Pointers_and_Pointer_Types_(Delphi) http://docwiki.embarcadero.com/RADStudio/Rio/en/Pointers_and...
- flohofwoe 8y agoWhen C was created there have been already higher-level, more complex, safer etc... languages. The language ecosystem wasn't much different from today, just with fewer choices. Having a language that's simple, has a low runtime-overhead and can be implemented in a simple compiler is a quality that quite obviously is still valuable. C would have vanished like a lot of other languages that got out of fashion. I don't think UNIX has much to do with it, otherwise C wouldn't have survived the 80's and 90's when other operating systems (Windows!) ruled supreme and UNIX operating systems were the underdog.
- pjmlp 8y agoWindows never ruled supreme on the server room. That place always belonged to mainframes and later UNIX, due to its "cheap" price versus mainframes.
- AnimalMuppet 8y agoPerhaps. But C didn't rule on the mainframes, either. Your story seems to be that C won because of UNIX, which won because of the server room. But the server room was a small chunk of landscape, and code was being written for the whole landscape, not just for the server room. And C won all over the place - the server room, the desktop, and the embedded space. It didn't win on the desktop because of influence from the server room.
- pjmlp 8y agoBy your definition JavaScript won not because of the browser, but because it is such a wonderfull programmaing language.
- AnimalMuppet 8y agoIt is useless to have a conversation with those who will not listen.
- 8y ago
- v_lisivka 8y agoYep, UNIX is the IDE for C. UNIX contain C compiler by default, which makes it very easy to distribute programs written in C.