A very nice paper on 4 taboos of #programming (explicit control transfer [#GOTO], low-level programming [#assembly], #flowcharts, and global variables) - with a neat theoretical background in #anthropologic taboo theory.
@stefanhoeltgen it's always fun that we condemn goto but are totally okay with exceptions that could be caught pretty much anywhere (good luck finding this in a large code base or worse when different things are caught at different scopes...) which basically brings us back to the fact that jumps that end up god-knows-where are just bad for maintainability and readability
@kwramm I am totally with you!
In Knuth's 1974 extensive paper you can find a chapter (p. 209) about that topic: that GOTO is nearly unavoidable when it comes to exception handling:
@stefanhoeltgen Is it possible to write an kernel without embedding a single line of assembly? Perhaps, writing the main binary object in a way, so that the file resembles the assembly equivalent?
25 years old, but only cited 19 times (accordion to Google Scholar), despite the insightful topic.
Thanks for bringing it up!
@stefanhoeltgen this is very interesting reading, and I'm definately one of the people coming from functional programming with no global variables who was (and still is) often baffled by event driven programming.
@jimbob @stefanhoeltgen I'm the C(/C++) guy who really likes everything I see in Rust, except that I end up having to pass an object to *every* function.
Wrong scope is a real problem, but some things *are* global scope.
@stefanhoeltgen @NewtonMark self taught TI Extended Basic in high school - many sins with GOTO