[comp.lang.pascal] 10 Reasons

mjensen@ccwf.cc.utexas.edu (Marc S. Jensen) (11/24/90)

I saw this in a magazine recently, and just thought you all might find
it amusing:


10 Reasons Why Pascal is Better than C, by Owen Hartnett
========================================================

1. Pascal, noble language as it is, was names after a famous French mathema-
tician 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 around 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
Listering. This accounts for the medicine breath of many C programmers.

10. In C, you can do this:

for(;P("\n"),R--;P("|"))for(e=C;e--;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);

In Pascal, you can't do this:

for(;P("\n"),R--;P("|"))for(e=C;e--;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);



-- 

Marc Jensen
mjensen@ccwf.cc.utexas.edu
University of Texas at Austin
-----
"Never attribute to malice that which is adequately explained by stupidity!"

zhou@brazil.psych.purdue.edu (Albert Zhou) (11/24/90)

	This article is quite amusing. Where is it published? I would be
interested in reading the whole article, and xerox some funny illustrations
if there is any.

graham@convex.com (Marv Graham) (11/28/90)

In article <40100@ut-emx.uucp> mjensen@ccwf.cc.utexas.edu (Marc S. Jensen) writes:
>10 Reasons Why Pascal is Better than C, by Owen Hartnett
>========================================================
>4. In C, the following variable names are all different: thesame, TheSame,
>theSame, and THESAME. 'Nuff said.

I have alwys looked on this as a reasong to prefer C (which I do).

Marv Graham; Convex Computer Corp.  {uunet,sun,uiucdcs,allegra}!convex!graham

North_TJ@cc.curtin.edu.au (Tim North) (11/28/90)

In article <40100@ut-emx.uucp>, mjensen@ccwf.cc.utexas.edu (Marc S. Jensen) writes:
> I saw this in a magazine recently, and just thought you all might find
> it amusing:
> 
> 
> 10 Reasons Why Pascal is Better than C, by Owen Hartnett
> ========================================================
> 
> 10. In C, you can do this:
> 
> for(;P("\n"),R--;P("|"))for(e=C;e--;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);
> 
> In Pascal, you can't do this:
> 
> for(;P("\n"),R--;P("|"))for(e=C;e--;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);
> 
 
I'm a little confused about the type of th argument to the function P.
In the first two calls to P we're passing in a string literal, but in 
subsequent calls we've got a mixed type expression; e.g.

	P("| " + (*u/4)%2)

Here the argument seems to be the sum of a string literal and an integer. 
What's happening here? Is th first character of the string literal being 
cast to an integer before the addition occurs?

Cheers,
-------------------------------------------------------------------------------
---------        | Dept. Computer Engineering, Curtin University of Technology
   /   o  ----   | Perth. Western Australia.
  /   /  / / /   | Internet: North_TJ@cc.curtin.edu.au
 /   /  / / /    | Bitnet:   North_TJ%cc.curtin.edu.au@cunyvm.bitnet
                 | UUCP:     uunet!munnari.oz!cc.curtin.edu.au!North_TJ
    _--_|\       |------------------------------------------------------------
   /      \      |I don't want to achieve immortality through my work...
-->\_.--._/      |I want to achieve it through not dying!
         v       |                                        -- Woody Allen.
------------------------------------------------------------------------------