[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 =
one.
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.
Dani=EBl
(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