3 ms·
It seems to me that OSDev.org is unnecessarily married to the idea of "low level == C": https://wiki.osdev.org/Languages https://wiki.osdev.org/Languages Would
by bmer 3y ago
It seems to me that OSDev.org is unnecessarily married to the idea of "low level == C": https://wiki.osdev.org/Languages https://wiki.osdev.org/Languages
Would be interesting if someone with knowledge (e.g. David Chisnall) could help clarify whether this seeming of mine is seemly.
- throwaway44023 3y agoFor a long time, that was what everyone used. But there always were tutorials about other languages - C++, Pascal, even C#. Now Rust is gaining traction.
- kjs3 3y agoSince OSDev is community project, so I think that says way more about the community than any strong bias on the part of OSDev. That said, a lot of "low level" is concerned with shoving bits around efficiently, not higher level abstractions useful for writing web browsers and such. C (for all it's issues) has a pretty good impedance match for that use case. The reality is there have always been other languages[1], and not all of them codified the evil stream-of-bytes paradigm. We've been writing OSes in Ada since the 80s. Pascal variants were somewhat common back in the day (e.g. Charles River PERC, CDC Cyber NOS). Apple was on the Pascal train for a long time. Unisys Clearpath is still written (and sold) in their highly extended Algol variant (ESPOL)[2]. I've used OSes written in Modula-2 & Modula-3. There's a number of folks that are trying FreePascal as an OS language. Of course, there was a healthy LispOS population at one brief, shining point in time (sigh...Genera). Tektronix and a few others had Smalltalk machines. IBM still writes a lot of low-level stuff in PL/I dialects across it's proprietary product lines (i Series, z Series). Intel wrote it's first ones (e.g. iRMX, ISIS) in a PL/I dialect (PL/M). And CP/M is there too. Then you can get to the really niche OS writing languages: JOVIAL, anyone? [1] The source code for some of these legacy OSes is out there. Studying it might be instructive. [2] Clearpath is the current incarnation of MCP from the Burroughs Large System mainframes (e.g. B5000, B6500, etc.). Stack based and very interesting; now runs as a VM on top of Xeon servers. Not only can you still buy Clearpath, you can download a hobbyist version to try out locally: https://www.app5.unisys.com/library/gmmail/emails/documents/Learn_CP_OS_2200_MCP_OS/email.htm https://www.app5.unisys.com/library/gmmail/emails/documents/...
- filleduchaos 3y agoThe page you link to straight-up has a guide for evaluating if any given language would be suitable to implement a kernel in. How on earth is that unnecessarily married to the idea of "low level == C"?