http://www.lysator.liu.se/c/bwk-on-pascal.html
complains about pascal:
- having to declare array size prevents writing generic functions
- the lack of compile-time evaluated constants forces more computation at runtime
- the lack of closures forces you to store state above where it is used, rather than in the function that uses it
- "there is no way for two routines to share a variable unless it is declared at or above their least common ancestor. Fortran COMMON and C's external static storage class both provide a way for two routines to cooperate privately, without sharing information with their ancestors. "
- Pascal has various ordering constraints on declarations. These are hard to satisfy in a large program.