Does nobody wonder why in operating systems and drivers only "C" and assembly is used? There are many good reasons to stick with "C".
Not hard to say that above is not a true statement.
A lot of papers have been written.
Think actions do speak loud.
HP Pascal/Modcal was early 1980.
Left out "USCD Pascal Operating System" that also existed back then.
Oberon (operating system)
https://en.wikipedia.org/wiki/Oberon_(operating_system)Granted this is research.
But
Hewlett-Packard used pascal & modified pascal internally for many years.
HP 3000
https://en.wikipedia.org/wiki/HP_3000The PA-RISC based HP 3000's operating system was written primarily in Modcal, HP's extended version of Pascal.
HP Modal was a big thing inside some parts of HP.
HP series 200 of which the HP9826 model is one of series, had all most all code written in Modcal.
The System & the languages were written in Modcal with very little Assembly.
Need to remember that Modcal foundation is Pascal or an extension of Pascal.
It is a fact that HP Pascal for many systems was actually the internal Modcal compiler with the ability to set a compiler switch removed.
Back then a lot of products were made for internal use in HP and only later sold to public.
HP did not tell the world what had a foundation based Modcal. Even if you looked at the code, the change from pure pascal was very small.
So how many others used other than "C" and thought of it as internal secret?
When you have a good compiler that understands Pascal rules that do not exist in "C", It is not hard to change source syntax(what you type) to have a different input syntax.
This above is all pascal like languages.
Forth (programming language)
https://en.wikipedia.org/wiki/Forth_(programming_language)This was often used for embedded systems.
If what I read is correct, it is becoming the initial boot language for PC's
An this does not count the many language X to "C" output methods.
Gain the benefit of better source checking and still use "C" as final step when needed.
What is really needed is not just a compiler, but an IDE that can do source syntax & language rule checking while editing the program.
The higher level languages often have many ways to look at source. These views also need to be a part of the IDE.
Sad to say but "C" has little capability to adapt to Newer/other things with out creating a bigger mess.
And most if not all of "C"'s problem areas have been fixed more than once. Changes that can not be added to "C" with out breaking existing code.
Little things can make a huge difference to the compiler writer.
Poor syntax is a big one.
When you remove the "FORWARD" key word from pascal this is a huge change.
With "FORWARD" you can have the headers for procedures or functions before the actual source code for the procedure or function. You can have a two pass compiler. This is where the source code is read two times to get code output. This also lets compiler function with less memory as only global & current is needed.
With out forward you get a global find problem where syntax matters.
With good foundation you can add to language.
You could have "Interrupt" function where hardware directly calls language function and no middle hidden code needed to get a "C" function to run.
It's a simple fact that the more you type, The better job the compiler can do. The more the compiler can help finding errors.
Type more or input more and save time later in process.