First, notice I say "and it's derivitives", so I'm putting C#, C++, PHP, Java, Javascript, LSL, etc... Not just "C".
Second, they ALL share being needlessly cryptic, having a structure nowhere near that of assembly (despite the wild and nonsensical claims to the contrary, line numbered BASIC was closer to ASM than C in terms of syntax!), lacking all the tools to prevent errors in the first place that pascal does. No forward declaration, typo's instantly become new variables, complete lack of range checking, compilers so stupid they resort to =, == and === as separate operations, complete lack of a real STRING type, did we mention a complete lack of range checking and lack of a real string type so buffer overflows are inherently the name of the game? (admittedly modern pascal's have tread into this #DDD idiocy with pChar), the seemlingly random and inconsistent use of -> vs. . on STRUCT, the outright annoying idiocy of .h files (because maintaining two files that redeclare the same thing is SO useful.. admittedly I'm the same way about interface/implementation in unit), willy-nilly error handling...
... and did we mention it being needlessly cryptic? This is even MORE true of C++, which is even MORE half-assed and pointlessly so than C. It is probably the worst object implementation I've dealt with, and on the whole seems carefully crafted to make 100% sure every program is susceptible to buffer overruns, memory leaks, and illegible inconsistent code.
Though you do have a point, bad code is bad code, regardless of what language it's written in; the difference to me is the amount of bad code C lets past the precompiler, compiler and dozen other points at which they could easily have been trapped.
As the joke goes, Pascal won't let you shoot yourself in the foot
You want to see REALLY pointlessly cryptic though, have a good look at Rust... A language for the people who thought that C is a bit too verbose and clear for their tastes -- which is a bit like saying the Puritans who settled in Boston in 1630 traveled across the pond because the CoE was a bit too warm and fuzzy for their tastes.
Bookmarks