Live data from Hacker News

Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders

inference-review.com

91–100 of 206 posts

Re: Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders

#91

It 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…

Perhaps. I can't really speak to his career before he came to UT Austin in 1984, he was already very famous (Bjarne Stroustroup at Texas A&M/Columbia or Brian Kernighan at Princeton famous); if I remember, his chair was created for him as a full professor and without many of the usual duties of a professor. (One of his stipulations was that he not be made Chairman of the department.)

According to the article, as a young researcher, he was

* A "programmer" (something like a research assistant, perhaps?) at the Mathematisch Centrum (Mathematical Centre) in Amsterdam.

* Professor in the mathematics department of the Eindhoven University of Technology from 1962-1973. (As I understand, the "external funding" thing is less of a problem in mathematics. Also, I have no idea how tenure works there.)

* Finally, research fellow at the Burroughs Corporation.

It's true, he didn't have many direct PhD students (two?!), but his collaborations were many. (I don't know if the Tuesday Morning Group at UT is still active,[1] but it was rather well known and its members produced a great deal of what is now "theoretical computer science".)

If you're trying to compare Dijkstra to J. Random Young Researcher, J's gonna have a hard time any way you look at it.

[1] UT no longer requires automata theory or formal logic for CS undergraduates. They're dead to me.

Re: Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders

#92

It 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…

They sure do. Here is Freeman Dyson; the Physicist without a PhD ( https://www.quantamagazine.org/a-math-puzzle-worthy-of-freem... ); Oh, yes. I’m very proud of not having a Ph.D. I think the Ph.D. system is an abomination. It was invented as a system for educating German professors in the 19th century, and it works well under those conditions. It’s good for a very small number of people who are going to spend their…

My friend once said:

- B.S. = bull shit

- M.S. = more shit

- PhD = piled higher & deeper

Re: Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders

#93
post #65
post #24

Earlier quoted context omitted.

People used to say of my alma mater that the teaching was decent but the facilities were amazing. There was a feel on campus that the people who were really going to 'make it' were only putting in B- or C+ work and spending the rest of their time working on side projects. There were very few days in a given year when more than half of the computer labs were full at the same time, and with Unix boxes you can always re…

> I'd be curious to know if Dijkstra had access to a similar embarrassment of riches. Dijkstra spent a good chunk of the latter part of his career at the University of Texas in Austin. There was plenty of access to facilities there, but that wasn't really what his research was about. He wrote longhand (scans here: https://www.cs.utexas.edu/users/EWD/ ) and didn't really use much technology directly in his work. This…

Famously, Dijkstra did not have a computer for most of his time there. He either typed his work on a manual typewriter (early in his career) or wrote it longhand in his elegant Dijkstra font (https://news.ycombinator.com/item?id=7796919). His secretary would print out his emails for him to read and respond to.

Eventually, he got a Macintosh (IIRC, Cynthia Matuszek (https://www.csee.umbc.edu/~cmat/) was the one who set it up for him. (Hi!))

Re: Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders

#94
Good read. For anyone interested in seeing the human side of Dijkstra, I recommend this documentary: https://www.youtube.com/watch?v=RCCigccBzIU

When I watched it I was both studying Computer Science and learning Dutch, so it was twice as interesting. The version I linked provides English subtitles.

Re: Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders

#95
post #65

Earlier quoted context omitted.

> I'd be curious to know if Dijkstra had access to a similar embarrassment of riches. Dijkstra spent a good chunk of the latter part of his career at the University of Texas in Austin. There was plenty of access to facilities there, but that wasn't really what his research was about. He wrote longhand (scans here: https://www.cs.utexas.edu/users/EWD/ ) and didn't really use much technology directly in his work. This…

This is the difference between computer science and software engineering. And the vast majority of people who graduate with a CS degree are going to work as software engineers, not as computer scientists. They are therefore being mis-educated to the degree that their CS program agrees with Dijkstra's philosophy. (Which doesn't mean that Dijkstra is wrong about CS. It just means that a CS degree shouldn't be the passp…

Yes, this is why computer science students from schools like Stanford, Carnegie Mellon, MIT (well, it's an engineering school, anyway), and UT Austin (EWD's stomping grounds) are almost completely unemployable in the software-related industries. All of the employers learned pretty quickly that they were all grossly incompetent.

Re: Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders

#96

Earlier quoted context omitted.

> 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. He wouldn't even get in an university to get the chance to be fired. And that's not specific to the US, it applies to nearly all developed or developing countries. That person wouldn't be able to get much past a PhD…

You’re right. The right of passage for most US computer science PhD programs is publications in the “right” journals and conferences. If you don’t publish you will rarely get past your thesis proposal. I think there are very few, very select professors in the US that prohibit publishing prior to graduating. But their count is likely in the single digits. Also, by some miracle you manage to graduate by minimal publish…

Yes, it's true. EWD published almost nothing.

http://www.netlib.org/bibnet/authors/d/dijkstra-edsger-w.htm...

(The ones marked "circulated privately" are the EWD series.)

Re: Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders

#97
post #82

I 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…

Take a look at Frama-C or Ada Spark sometime; they apply the predicate transformer semantics style to code and do pretty well. But yeah, incomplete specifications are always fun.

Re: Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders

#98
post #95

Earlier quoted context omitted.

This is the difference between computer science and software engineering. And the vast majority of people who graduate with a CS degree are going to work as software engineers, not as computer scientists. They are therefore being mis-educated to the degree that their CS program agrees with Dijkstra's philosophy. (Which doesn't mean that Dijkstra is wrong about CS. It just means that a CS degree shouldn't be the passp…

Yes, this is why computer science students from schools like Stanford, Carnegie Mellon, MIT (well, it's an engineering school, anyway), and UT Austin (EWD's stomping grounds) are almost completely unemployable in the software-related industries. All of the employers learned pretty quickly that they were all grossly incompetent.

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.

Re: Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders

#99
post #60

> ALGOL 60 included a series of novel features, such as recursion, which was supported in a much more complex manner than logicians had ever envisaged...Recursive procedures in ALGOL 60 are much more complex than in Lisp. Can anyone explain how this "much more complex" recursion works?

Early LISP implementations used dynamic scope. This means that non-local references in a function search for the variable's binding in the call chain: if A calls B then when B uses nonlocal variable x it refers to the x in A, not necessarily the x that belongs in the lexical parent of B as seen in the source code. (Unlike C, Algol/Pascal/LISP can all define functions inside of other functions. These nested function d…

Haskell's call-by-need is a close relative of by-name (the resulting thunk is only evaluated once).

Re: Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders

#100
post #87

Earlier quoted context omitted.

I'm not sure that's fair. If you have objects that escape downwards (so X calls Y, y creates some item i, i gets returned to X) then you can't have a stack. i may be overwritten at the next call of anything else, as the stack grows over it. I guess they do escape analysis and where items are provably local, stack allocate them. If not, plonk them on the heap. A call frame is an object like any other, so they go on th…

I got the stack reference from https://eprints.illc.uva.nl/383/1/PP-2010-04.text.pdf , which says: “Dijkstra’s quest to generalize led him to use the well-known concept of a stack (i.e., a continuous portion of computer memory) as a run-time object, rather than a mere compile-time object as was the case in Samelson and Bauer’s ALCOR compiler.” Digging deeper, I found https://www.illc.uva.nl/Research/Publications/Repo…

I was unclear I'm afraid, I was elaborating on your comment about lisp allocating madly, so lisp and not programs in general.

Moving to a stack costs, in that you can't do some things, per my original comment. You gain efficiency for what you can do though.

> used a stack to parse expressions and generate machine code for them

Prob this https://html.duckduckgo.com/html?q=dijkstra%20shunting%20yar... which I thought came from dijkstra but your digging suggests not, didn't know! (edit: it did https://en.wikipedia.org/wiki/Shunting-yard_algorithm) infix -> rpn which matches a stack very well (can evaluate as an interpreter, or emit code as a compiler. Not very efficient but it works).

Edit: much credit for digging and reading before posting, wish I could give you several upvotes for that.

Post reply on HN