Brought to you by the writeup-sometimes-does-mean-reply foundation.

The original teaching language called Pascal may suck bigtime for real-world programming, but I don't think that it is in use for that any more. You are more likely to come across a language that is called Pascal, but is actually an extended version or child language of Pascal, such as Object Pascal, Delphi or Kylix. And most likely you'll agree that it doesn't suck.

The Pascal programming language specification was formed in the days before the 1990s, when a complete class and function library was not yet so important to a new language's success. In some cases, function names chosen in the late 1960s or early 1970s are overly general by today's standards, for instance Copy for string slicing or Open to open a file handle. These are usually kept for backward compatibility, and superseded by more descriptively named functions such as StrMid or FileOpen. In most cases, functions are more intuitively named than their C counterparts.

The layout and maximum length of a string is not cast in stone either. Ever since the move to 32-bit operating systems (i.e. the mid 1990s), Delphi as a modern Pascal has had strings with a 4-byte length indicator, i.e. up to 2Gb in string length. Pascal strings are easier to work with in almost every respect than the counterpart in C of manually-managed pointers to character arrays

ssd's reasons, which draw heavily on Kernighan's Why Pascal is Not my Favorite Programming Language (see the writeups there) are also not relevant anymore. See also when to use a semicolon in Pascal.

As for SSD's list of issues, Delphi addresses numbers 1 partly through optional and array parameters, and 2, 3, 5 (via a hard typecast), 8, 9, 10, 11, and 12. The ones that look to me like differences to how a programmer who understands only C might narrowly view the world, but are not problems in Pascal, are 3 (the type aliases part), 4, 6, 7.