Wirth was always dissatisfied with Pascal from day one. That is why he eventually created Modula-2 and Oberon/2/L/etc. If you are interested in something cool, check out
Oberon+ (
https://oberon-lang.github.io/).
But by the time he had refined things it was too late. Delphi had already burnt out because C++ and VB and the like were taking the world by storm.
My experience has always been that schools are unbalanced in their approaches, and either:
Ā Ā ā¢ waste time on C basics, or
Ā Ā ā¢ expect you to figure out basics yourself
I personally think that by the time you get to Uni, having decided to learn to program, you would have already taken the first steps yourself at home.
Even back in the days of BBS and useful knowledge mainly via bookstore it was not too difficult to hack at your machine and Make Stuff Goā¢.
I am unsure what pedagogy is most useful. As long as you learn to develop code with proper structure then all is good. If you need to learn at some point how pointers work or other machine structure and the like, you should hopefully have the right mindset already instilled to make that a very simple thing to pick up.
Personally, I have never considered C to be a very good teaching language. It requires too much deep diving for even simple stuff, like getting a string input from the user, for example. A simple task that most languages can do for you, but not C. (Thereās a reason that stupid ācs50ā library from Harvard, of all places, is so popular.)
Imma gonna stop rambling now.