[fpc-pascal] even linus torvalds prefer pascal over c

Daniël Mantione daniel.mantione at freepascal.org
Sat Dec 2 11:49:35 CET 2006

Op Sat, 2 Dec 2006, schreef Micha Nelissen:

> Bisma Jayadi wrote:
> > Linus concluded, "the C language has scoping rules for a reason. *If I
> > wanted a language that didn't allow me to do anything wrong, I'd be
> > using Pascal.* As it is, it turns out that things that 'look' wrong on a
> > local level are often not wrong after all."
> Well, Linus is not too fond of "standard Pascal" (but neither am I ;-)
> ), read the following about goto and labels:
> (http://kerneltrap.org/node/553/2131)
> <quote>
> On 12 Jan 2003, Robert Love wrote:
> > On Sun, 2003-01-12 at 15:22, Linus Torvalds wrote:
> > > No, you've been brainwashed by CS people who thought that Niklaus
> > > Wirth actually knew what he was talking about. He didn't. He
> > > doesn't have a frigging clue.
> >
> > I thought Edsger Dijkstra coined the "gotos are evil" bit in his
> > structured programming push?
> Yeah, he did, but he's dead, and we shouldn't talk ill of the dead. So
> these days I can only rant about Niklaus Wirth, who took the "structured
> programming" thing and enforced it in his languages (Pascal and
> Modula-2), and thus forced his evil on untold generations of poor CS
> students who had to learn langauges that weren't actually useful for
> real work.

Wirth motivated his choices in an article in 2005 about "bad ideas" that 
people came up over the last decades. He still cosiders allowing goto in 
Pascal a mistake, and says he "didn't have the guts at that time" to 
remove goto. (He later removed it from Modula-2).

The reality of the matter is that the original Pascal simply wasn't ready 
for removing goto (for instance, standard Pascal does not have break and 
continue). Looking at the use of goto in the Free Pascal sources, I see 
few situations were a non-goto solution is more attractive than the current 

So in essence, I don't disagree with Linus here.

However, it should be noted, and this is what Linus forgets in his rants, 
is that Dijkstra and Wirth lived in an age were people were coding Cobol, 
Basic and  Fortran programs without any high level structures at all. They had 
correctly concluded that in an ideal world, there would be ne need for 
goto, and were trying to design the ideal language. History has proved 
them almost completely right. The fact that in a real world practical 
situation the need for goto sometimes exists, doesn't make their enourmous 
contribution to informatics(1) invalid.


(1) I'm using the in English not so common "informatics" instead of 
    "computer science", because Dijkstra greatly disliked the term).

More information about the fpc-pascal mailing list