Comment Re:Shame Really... (Score 2, Informative) 641
Shame really that someone couldn't even do the research to see if such wild claims about MS are in any way true.
f(int x){
.. some code ..
if( cond )
return 0;
else
return f( x + y);
}
Although in C it can look very ugly, for functional languages such as Haskell or Erlang, it is required as you have to express loops through recursion due to only being able to assign to variables once. In these langauges, it looks a lot better as you can pattern match on the value of arguments, allowing you to concisely deal with obvious error or base cases, leaving you to handle the generic cases without worrying about those cases. Scheme implementations are required to implement tail call optimization.
Top Ten Things Overheard At The ANSI C Draft Committee Meetings: (5) All right, who's the wiseguy who stuck this trigraph stuff in here?