Dijkstra said I am mentally mutilated — story about BASIC and Haskell
It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.
BASIC
I happened to find some of my old BASIC textbooks at the attic that brought sweet memories. Reading the BASIC Cat code years later reminded me of Edsger’s quote…
In a feeble attempt to prove Dijkstra wrong, I will rewrite the BASIC code shown above in HaskellHaskell An advanced, purely functional programming language
— one of the favorite programming languages of both Edsger and me.
I am not going to throw a full blown monadic rewrite here. Instead I will keep the code close to the original so we can see how they were solving basic animation problems back then.
The most difficult part of porting the BASIC to Haskell was setting up OpenGL under NixOS. But the net result looks exactly like years ago:
You can find the code on github.
Still… I keep asking myself - am I really mentally mutilated? Should I go with type recursion with functors and catamorphisms, in the spirit of The Evolution of a Haskell Programmer, to prove Dijkstra wrong ?
I will leave that for another blog post. Wish you all a happy and productive day!