logoalt Hacker News

mlajtosyesterday at 8:35 PM3 repliesview on HN

Very interesting flip! For much of his life, Dijkstra opposed functional programming. He even more strongly criticised FP from Backus and APL from Iverson, which are both very funcional/function-level.

As he said, Java is a mess and any sensible person would oppose the switch from Haskell to Java. I am almost sure he never used any of them. Might have read about them, but highly doubt he run any on computer.

As for the high-level status of Haskell and APL — both languages are very mathematical. Haskell goes very into the abstract realm of computation, while APL tackles very raw form of computation. Semantically, Haskell is way more high-level. In terms of economy of notation and unified concepts, APL has no match.


Replies

theszyesterday at 11:29 PM

Haskell is the best imperative language [1].

[1] https://stackoverflow.com/questions/6622524/why-is-haskell-s...

Haskell have array-oriented programming embedded DSLs, like REPA [2] and Accelerate [3].

[2] https://hackage.haskell.org/package/repa

[3] https://hackage.haskell.org/package/accelerate

The most used (by me) Vector package has boxed (efficient) and unboxed (J-like) arrays. With these arrays having map, fold, scan, fromList/toList, zip and unzip combinators, one can have as terse (in the operator count sense) notation as one wishes for.

Jtsummersyesterday at 8:40 PM

> Might have read about them, but highly doubt he run any on computer.

Nice goalpost shifting. Anyways, you also neglected that he was a major proponent of structured programming and the author of the letter "Go To Statement Considered Harmful". The idea that he would oppose high-level languages is not based in reality. Specific languages, yes, but not because they are high-level as your silly original comment claimed.

show 1 reply