4 ms·
I read this title and automatically assumed this was going to be about Dijkstra. While perhaps less directly impactful on the industry, in computer science tea
by sspiff 3y ago
I read this title and automatically assumed this was going to be about Dijkstra.
While perhaps less directly impactful on the industry, in computer science teaching and academia, there are few names who loom as large as his.
He has touched so many aspects of computer science that we now consider fundamental.
- hiAndrewQuinn 3y agoSame here. He's probably the closest thing this field has to a Euler, or maybe an Erdös.
- KuriousCat 3y agoI too thought about EWD!
- NhanH 3y agoThe whole structured programming practically birthed the industry, so it’s hard to say he has less direct impact in the industry though.
- Animats 3y agoIt was controversial at the time. Dijkstra advocated "single entry, single exit" for each control block. Programs should be composed of such blocks. Makes for very neat flowcharts. Good for entry and exit conditions. Single entry wasn't that controversial. Single exit, though, means no "break", or "continue" for loops, and no early returns from functions. This forces a rather convoluted style. Try writing a loop of the form "get thing, if done quit, process thing, put thing" in that style. You have to have two calls to "get thing", or extra flags. Turns out you don't need that for program proofs, once you have machine assistance to make sure all the cases were covered. It makes for cleaner hand proofs, though. (I never met Dijkstra. Knew people who worked with him.)
- Munksgaard 3y ago> Single exit, though, means no "break", or "continue" for loops, and no early returns from functions. Sounds like pretty standard functional programming a la Standard ML or Haskell, or am I missing something?
- amiga386 3y ago> a rather convoluted style It may be standard for them, but it's why functional languages are niche while C, C++, C#, Java, JavaScript and Python dominate.
- Munksgaard 3y agoThat's a bold claim, do you have any evidence to back that up with? To be clear, I agree that it could be a reason, along with a multitude of others. I think that discerning which is the most substantial reason (if any such exist) is hard if not impossible.
- amiga386 3y agoI don't, I just have the feelings and impressions of various programmers, which is anecdata. I think the pattern that emerges is that the popular languages I listed are multi-discipline, they can be adapted to whichever paradigm you prefer, even if it's a little cumbersome, and over time they adopt the key features of other languages, while retaining their existing benefits. In other words... you can get the best features of Haskell in Python, but you can't get the best features of Python in Haskell?
- nyssos 3y ago> you can get the best features of Haskell in Python Haskell's best features relative to more mainstream languages are HM-style type inference, higher-kinded types, and typeclasses - none of which are possible in a language without real static types.
- 3y ago