Hacker News new | ask | show | jobs
by pjc50 3689 days ago
That's some serious sour grapes by Allen. Her assertion that Fortran and COBOL are higher level than C is .. difficult to support given the reliance of both languages on GOTO.

The assertion that compilers weren't taught any more is just silly.

3 comments

Here's an experienced C programmer and fan telling you a list of ways Fortran is higher-level and superior to C for numeric programming:

http://www.ibiblio.org/pub/languages/fortran/ch1-2.html

Most everything here is subjective, inaccurate, or outdated by C99, save Fortran's multi-dimensional array handling which is legitimately superior to C despite partial reconciliation by VLAs.
Well, darn, there goes that. I'll have to re-examine it with C99 reference to assess it's accuracy.
I don't think it's quite that bad, but "for numeric programming" is a very important caveat here. As is "define higher-level".
I think higher level would be effecient, English-like representation that's closer to algorithm pseudo-code than managing machine details.
I don't remember seeing many GO TO's in post-F77 FORTRAN. When did this exchange happen?
Higher level does not necessarily mean more modern language features and paradigm - it only means language's computation model is farther removed from the actual hardware.

Allen was specifically discussing auto-optimizations (what we nowadays would just call 'compiler optimizations') and essentially argued that low level languages, in the quest of allowing fine-grained manual optimization, prevent many types of advanced auto-optimizations.

Specifically speaking, it is well known that FORTRAN still often beats C in numerical calculations just by the virtue of not supporting pointer aliasing (especially pointers pointing to arbitrary positions in the middle of an array which is being looped over).

Fortran is certainly higher level than C, given lack of aliasing and no decay of arrays into pointers.
You should bookmark this for future discussions bringing up Fortran. Great write-up.

http://www.ibiblio.org/pub/languages/fortran/ch1-2.html