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 C
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