Live data from Hacker News

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

inference-review.com

51–60 of 206 posts

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

#52

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…

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.

Working at a smaller company, I knew a few people in the hiring committee that had unreasonable standards. We used to tease them that they wouldn't pass their own standards when they were hired. Fortunately we didn't need unanimous approval of candidates.

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

#53
post #6

What are the greatest advances in CS of the last decade?

To me -- a casual novice -- it sounds like a lot of recent CS work results in things like CAP Theorem/consensus, NLP/AI models, AGI, practical tools for verification/formal methods.

I don't think we've made much progress towards AGI, but having reliable approaches to object recognition in images is fairly new, as is putting enough of that sort of thing together to make a self driving car.

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

#54
post #38

Somehow this gives me the impression he is a bit overrated, and he somehow developed a bit of cult-like following.

Not at all true. The Dutch are famously known to be blunt and direct which seems to be a national trait(eg: https://www.thrillist.com/travel/nation/dutch-culture-brutal...).

Think of Dijkstra as Sherlock Holmes thought of himself; viz.

My dear Watson,” said he, “I cannot agree with those who rank modesty among the virtues. To the logician all things should be seen exactly as they are, and to underestimate one’s self is as much a departure from truth as to exaggerate one’s own powers.

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

#55

One fun item I'm lucky enough to own is a core memory stack from Dijkstra's Electrologica computer, ca.1958 or so -- very low density obviously. This machine is where the first working Algol compiler was written.

How do you come across something like that?

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

#56
post #6

What are the greatest advances in CS of the last decade?

The crown has to go to machine learning and neural network advancements. This builds on the increase in data and processing capacity, but it's still an amazing advancement over a mere 10 years. One may argue that the actual CS has been around for longer but I don't think that's giving enough credit to recent advancements.

1. classification (Andrew Ng @ YouTube): https://www.wired.com/2012/06/google-x-neural-network/

2. Language Translations (NLP, word2vec): https://www.technologyreview.com/2020/10/19/1010678/facebook....

3. Transfer learning

4. SnapChat's Face Filters and real time ML for AR: https://screenrant.com/snapchat-anime-face-filter-lens-effec...

5. Apple iPhone's neural engine and Face ID

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

#57
post #24

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…

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…

Which school did you go to?

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

#58
post #45
post #38

Somehow this gives me the impression he is a bit overrated, and he somehow developed a bit of cult-like following.

I genuinely wonder what gave you this impression. Dijkstra made seminal contributions to at least three subfields of computer science: algorithms (his optimal shortest path algorithm), programming languages (ALGOL -with others, but still- and his "goto considered harmful" paper), and concurrency theory (semaphores), just to state the most well-known ones...

I agree. I get the impression that he formalized several problems and provided a solution to them, e.g. the Dining Philosophers Problem: https://en.wikipedia.org/wiki/Dining_philosophers_problem

I think he is actually underrated. I'd have liked to be introduced to his proof notations during some formal courses on my CS formation, which was never mentioned.

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

#59
post #44

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…

"The Humble Programmer" is an exercise in self-mockery, as Dijkstra has always been very conscious of the value of his work. https://www.cs.utexas.edu/~EWD/transcriptions/EWD03xx/EWD340...

>"The Humble Programmer" is an exercise in self-mockery

Definitely not! It is a philosophical paper.

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

#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 definitions introduce lexical non-local scopes.)

Dynamic scoping is easier to implement than lexical scoping. With lexical scoping, the run-time must incorporate some mechanism to find the stack frame of a lexical parent (as seen in the program's source code) to access a nonlocal variable's value. In dynamic scoping the run-time can just follow the stack frame order (starting at the top) to find a nonlocal variable's binding.

Early LISP used dynamic scope. Scheme had lexical scope from the beginning. Common Lisp had both mechanisms and programs can use both.

The implementation of recursion also has to address proper access to nonlocal variables in functions that are values themselves and are passed as arguments to other functions. Do these functions access the nonlocal variables based on their call location or their lexical location in the source code? These problems with functions as arguments are known as the upward and downward funarg problems. Knuth wrote the man-boy program to test Algol 60 implementations in these areas.

Another complication for implementors of Algol 60 was parameter passing by-name, which is neither by-value nor by-reference. I don't recall any other well known language that has subsequently made that non-intuitive (to me) choice. I believe that Algol 68 abandoned call by-name, but it's been 25 years since I looked at the Algol 68 standard.

Post reply on HN