50 Years of Pascal
Pascal, as defined by Wirth, is just horrible.No "fopen" to open files of a given name in the filesystem.In fact, no "open/creat", nor any other system calls at all.No "extern", no "#include", no user-created libraries, no ability to create a .a file, or even a .o file without main().Actually, no system libraries, either; just a few built-in functions (sin and cos, but no tan; ln but no log).No "default" on case statements.No "break" or "continue" statements; only "goto".No bitwise operators for and/or/xor.No equivalent of C's && and || operators, where the second argument is guaranteed not to be evaluated if the first one determines the result.And, for everyone who complains about C strings, all Wirth Pascal strings are fixed-length arrays of characters. So, you can't pass the constant string 'foo' to a function that is expecting an array of 4 characters.Finally, in TeX, Knuth says he found the fact that when you get around to defining a forward function, you must NOT repeat the parameter list (names, types) again, to be so objectionable that he chose to use global variables to communicate with forward functions instead.All of people's fond Pascal memories are actually due to extensions in Turbo Pascal, etc.