by Paul Cantrell | at Minnebar 17
In 1968, the infamously grumpy computer scientist Edsger Dijkstra published a polemic called “Go To Statement Considered Harmful” in which he made a striking argument: GOTO, a programming language feature widely considered essential at the time, was such a bad idea that not only should programmers stop using it, but it should be removed from high-level programming languages altogether. A decades-long fight ensued, but Dijkstra essentially won the day: new languages now rarely support GOTO, and even when they do, programmers largely pretend they don’t.
The idea that removing features can make programming languages better is both surprising and exciting. What programming language features that we consider essential today might be the next GOTO, withering and vanishing from high-level languages of the future?
In this talk, we’ll look at several candidates: raw memory access, inheritance, reference types, and null. Drawing on examples from several programming languages, we’ll look at some of the problems with these features, the alternatives, and the tradeoffs.
This talk will be accessible to anyone with beginning programming experience. It will have some tasty tidbits for hard-core programming language nerds, but if you have some idea what variables, loops, and objects are, then you’ll be fine! And if you don’t, you can still show up for the puns.
Paul fell in love with programming at first sight on an Apple ][+ and never looked back. He teaches computer science at Macalester College and is a freelance software developer (often with the fine folks at Bust Out).
Living a secret double life as a classically trained composer and pianist and artistic director of The New Ruckus, he brings a musician's passion for aesthetics and nuanced detail to the craft of writing software, thus making his bio sound all fancy.
Does this session sound interesting? You may also like these:
This will add your name to the list of interested participants. It will help us gauge interest for scheduling purposes.