Earlier quoted context omitted.
My friend once said: - B.S. = bull shit - M.S. = more shit - PhD = piled higher & deeper
Permanent Head Damage is what my advisor would tell me ;)
Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders
181–190 of 206 posts
Re: Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders
#182I read Dijkstra's goto considered harmful in college, circa 1970. I was a young programmer at the time, and it made me think and reconsider how and why big programs were often hard to understand. Years later, in grad school, my research was on program verification. Dijkstra was a big influence on the field. I attended a lecture at UT Austin that he gave before moving to the US. Dijkstra's approach to proving the corr…
Program verification is a fool's errand and Dijkstra would have been the first to tell you this. The correct approach is program construction following derivation rules that do not admit error. You don't need to verify a program produced from a specification this way anymore than you need to prove a proof by construction. It baffles me that to this day the distinction defies comprehension for so many in our field.
Re: Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders
#183Earlier quoted context omitted.
Program verification is a fool's errand and Dijkstra would have been the first to tell you this. The correct approach is program construction following derivation rules that do not admit error. You don't need to verify a program produced from a specification this way anymore than you need to prove a proof by construction. It baffles me that to this day the distinction defies comprehension for so many in our field.
Could you give examples of this?
Bugs can still occur of course, but if one restricts oneself to valid manipulations the bugs will be found in the specification and reflected in the code. It's not a magic bullet, and that's one of the reasons TLA+ was invented, it helps with complexity on the specification side. However a method like the one Dijkstra shows in the referenced paper can be used to faithfully implement the TLA+ checked specification.
Re: Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders
#184It is remarkable how much he contravened modern academic norms: no work to bring in external funding, relatively few papers, very little collaboration, almost no PhD students. It's not an exaggeration to say that a young researcher with these characteristics today would likely get fired from any high-ranked American research university before even coming up for tenure review. Perhaps our modern academic metrics of me…
That reminds me of the anecdote where one of Google’s hiring committees realized that they wouldn’t have gotten hired had they been judged by their own standards. It makes you wonder how much talent gets filtered out when we apply very stringent metrics to grade candidates.
Re: Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders
#185I read Dijkstra's goto considered harmful in college, circa 1970. I was a young programmer at the time, and it made me think and reconsider how and why big programs were often hard to understand. Years later, in grad school, my research was on program verification. Dijkstra was a big influence on the field. I attended a lecture at UT Austin that he gave before moving to the US. Dijkstra's approach to proving the corr…
AI programming assistants Given what I've seen of AI today (works reasonably well at the best of times, but is sensitive to unusual cases and can produce totally nonsensical results otherwise; and nearly impossible to actually debug), I remain highly skeptical.
Re: Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders
#186Earlier quoted context omitted.
Probably because the cost associated with constructing such proofs for the vast majority of modern software use cases (like showing ads on 8 different browsers) is too high (cheaper to just hire QA teams), and most programmers are not simultaneously software engineers, computer scientists, and mathematicians.
> cost associated with constructing such proofs ... is too high People assume this is true because it has been repeated endlessly. I think it is an issue of granularity. For example; both Dijkstra's GCL and Hoare's Triples (fine granularity) vs. Meyer's DbC (coarse granularity) can be expressed using Assertions to build Preconditions/Postconditions/Invariants as "correctness proof" throughout a real-world software sy…
> For example; both Dijkstra's GCL and Hoare's Triples (fine granularity) vs. Meyer's DbC (coarse granularity) can be expressed using Assertions to build Preconditions/Postconditions/Invariants as "correctness proof" throughout a real-world software system
The average dev at an average company will read this and not understand 90% of your sentence. Again, the vast majority of devs are not computer scientists nor mathematicians.
They are good at what they do, which is building what their bosses ask for using whatever web framework they specialize in.
Re: Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders
#187Earlier quoted context omitted.
My wife is an organic chemist by education and for every R&D job she applied to, there were tens to hundreds of applicants with PhDs. Having "only" a Master's degree, she had no chance. Pretty much all her college friends went to do a PhD, just so they could get a job. She's a happy software tester now :-)
Is there something wrong in this? Better qualified candidates were preferred for a research job. Of course, if you argue that the job didn't actually require PhD-level knowledge/experience, then the problem is in oversaturated job market of the field, not in the PhD system.
And if you think an oversaturated job market pushing people into doing PhD's they don't need for the actual job isn't a problem for "the PhD system" then I call you short sighted.
Re: Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders
#188«Edsger W. Dijkstra, “Recursive Programming,” Numerische Mathematik 2 (1960): 312–18, doi:10.1007/bf01386232. » The link brings to a paywall. FFS do they really have the courage to ask 42,64€ for a paper from 1960 ?
MR33, Mathematisch Centrum, Amsterdam, 1960. https://ir.cwi.nl/pub/9253
Re: Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders
#189Earlier quoted context omitted.
My wife is an organic chemist by education and for every R&D job she applied to, there were tens to hundreds of applicants with PhDs. Having "only" a Master's degree, she had no chance. Pretty much all her college friends went to do a PhD, just so they could get a job. She's a happy software tester now :-)
Is there something wrong in this? Better qualified candidates were preferred for a research job. Of course, if you argue that the job didn't actually require PhD-level knowledge/experience, then the problem is in oversaturated job market of the field, not in the PhD system.
It might be different in Process Chemistry, which is where the best lab work is work. Perhaps those who have the magic in scaling up a reaction into production are like those who can debug anything? I've never worked with those groups or with the Analytical chemists in Development.
Disclaimer: I have a PhD, but never wished to go into academia due to the politics. And yeah, it's a union card.
Re: Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders
#190Earlier quoted context omitted.
First, even UT Austin doesn't run their CS program as EWD would have wanted. See his comments when they switched to Java. Second, I suspect (but cannot prove) that this problem is why computer science grads need a couple of years of close supervision on the job before you can trust them with anything.
They need supervision because they haven't been apprentices gaining practical experience yet. College (especially the sciences) is not about apprenticeships. If you just want "grunt programmer[s]", we need proper apprenticeships and trade schools. Like electronic technicians and plumbers go through.