Presented with kind permission from Owen Hartnett.
To all C and C++ programmers who may read this page by intention or mistake: Don't feel offended. C is and always has been a very powerfull language and I do use it myself. This page is intended as humour. However, do take note of points 5 and10. Very true, very true,...
Top 10 reasons why Pascal is better than
by Owen Hartnett (good one, Owen !)
Owen's Top 10
Top 10 reasons why Pascal is better than C
1. Pascal, noble language as it is, was named after a famous French mathematician and philosopher, Blaise Pascal. C was named after a Sesame Street character.
2. Pascal's inventor, Nicholas Wirth, and parameter passing conventions coalesce to form a nifty pun: You can pronounce his name by reference: Wirth or by value: Worth. C was invented at Bell Labs, where they wouldn't know a joke from a transistor.
3. There is only one Pascal, as defined by Wirth, while C has (shall we say?) several fathers: Kernighan & Ritchie, Harbison & Steele, Barnum & Bailey, and Laurel & Hardy.
4. In C, the following variable names are all different: thesame, TheSame, theSame, and THESAME. Nuff said.
5. In Pascal, when you fool with a pointer or handle, you know you're fooling around with a pointer or handle. In C, you could be fooling around with anything. C is the ultimate language for computational promiscuity.
6. In Pascal, we *know* how big an integer is.
7. C is used by liberal, Democratic, Mike Dukakis types of programmers. Pascal is a favorite of the GOP. Hey, we know what the big language at Berkeley is, don't we?
8. C is the only language in the civilized world that still refuses to recognize the $ sign for a hexadecimal constant and continues to promote that base pretender to the throne: 0x00.
9. Pascal has well-defined rules for Scope, while C appears to be using Listerine. This accounts for the medicine breath of many C programmers.
10. In C, you can do this:for(;P("\n").R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);
In Pascal, you CAN'T do this :for(;P("\n").R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);
Copyright ©1998 Owen Hartnett
Back to the Embedded Pascal Page