6 ms·
"Barbara Liskov invented the architecture that underlies modern programs." Basic explanation of this claim: she invented CLU, the first language without goto s
by BubRoss 7y ago
"Barbara Liskov invented the architecture that underlies modern programs."
Basic explanation of this claim: she invented CLU, the first language without goto statements.
- ubertakter 7y agoI don't think your statement is intended to be dismissive, but it is a bit... sparse. Related to CLU: It introduced a lot of concepts together in one language. "Key contributions include abstract data types,[6] call-by-sharing, iterators, multiple return values (a form of parallel assignment), type-safe parameterized types, and type-safe variant types." [1] Liskov also has other contributions[2]. Per the article, she says herself in the early days there were a lot of big problems to solve, so it was somewhat easier to make a "big" contribution. It's interesting to look at where many modern concepts came from. It would be interesting to dig in to these a little more. Time is the one resource that's hard to come by though. [1] https://en.wikipedia.org/wiki/CLU_(programming_language) https://en.wikipedia.org/wiki/CLU_(programming_language) [2] https://en.wikipedia.org/wiki/Barbara_Liskov https://en.wikipedia.org/wiki/Barbara_Liskov
- BubRoss 7y agoThe original title was just clickbait that said something like 'an interview with the architect of modern software' so I was giving a very sparse overview that was still not just a mystery title.
- blotter_paper 7y agoReading about the history of so many major design decisions coming from one person also makes me wonder how different modern languages would be without the contributions of that person. Would we be more or less where we are, but a couple years behind? Would we have gone a different route with some of these decisions?
- jrochkind1 7y ago"The first language without goto's" is quite obviously HUGE! On it's own.
- rurban 7y agoMostly she is known for the Liskov substitution principle (LSP), contravariance of argument types and covariance of the return type. Many OO languages/designers still don't get that right. https://en.wikipedia.org/wiki/Liskov_substitution_principle https://en.wikipedia.org/wiki/Liskov_substitution_principle "FUNCTIONS THAT USE POINTERS OR REFERENCES TO BASE CLASSES MUST BE ABLE TO USE OBJECTS OF DERIVED CLASSES WITHOUT KNOWING IT." - https://web.archive.org/web/20151128004108/http://www.objectmentor.com/resources/articles/lsp.pdf https://web.archive.org/web/20151128004108/http://www.object...
- dang 7y agoPlease don't use allcaps for emphasis on HN. It's basically yelling. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=by%3Adang%20emphasis&sort=byDate&type=comment https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...
- rurban 7y agoIt's not for emphasis, it's a literal citation from the URL.
- dang 7y agoOk, but it's the convention here not to post entire sentences in uppercase, even if they appeared that way in the original. It's the same with titles; some titles are typeset in uppercase, or come from older documents where that was the convention. We edit those for the same reason: in the context of a text-based internet forum, allcaps is like yelling.
- chess_buster 7y agoExcept in direct literal quotes.
- ZenPsycho 7y agoisn't it also the convention not to bicker about the rules in the comments?
- deleted 7y ago[deleted]