[fpc-pascal] The reason why linus torvalds hate-pascal

Andreas Berger Andreas at TheBergerClan.org
Fri Apr 18 14:27:24 CEST 2008


>> for a := 0 to x do
>> for b := 0 to y do
>>   for c := 0 to z do
>>      if (...) then
>>      begin
>>          // Do something and then exit all loops
>>          exit;  // Or maybe: goto OutSideOfLoops;
>>      end;
>>
>> In Pascal I can't change the 'a' and 'b' values to force the end of 
>> the loop. So what other GOOD option do I have but to use exit or goto?
>
> Use a while or repeat loop. The whole point of a for-loop is exactly 
> to have the compiler ensure (to the best of its abilities) that you do 
> not accidentally modify the loop variables.
>
Well, if you think an exit is ugly, image changing this code into while 
loops. May as well use assembly.

OT: The only things I dislike about pascal is that the value of a 
variable at the end of a for loop is undefined. It should remain at the 
value it had when exiting the loop.

Andreas




More information about the fpc-pascal mailing list