Live data from Hacker News

A Parable by Dijkstra (1973)

cs.utexas.edu

101–107 of 107 posts

Re: A Parable by Dijkstra (1973)

#101

Earlier quoted context omitted.

> Related: we now have "vocational schools" for programming too. They're called "bootcamps", for some reason. Bootcamps are a joke. Germany has had proper vocational schools for programmers for decades. After high school, you can spend three years to become a Fachinformatiker (it's difficult to translate, but basically means "applied computer specialist"). There are two subflavors, Anwendungsentwicklung (application…

The real problem here in the US is that we have gotten away from tracking students at all levels, and we were never even doing it much compared with most of Europe or Asia to begin with. It's dragging down the whole system. But I don't want to totally derail this thread, so I'll just leave it there.

US has lots of its specific problems, but here we're really talking about an issue which affects universities worldwide almost universally - that university degrees became a differentiator on the job market. The vast majority of undergrads these days are not seeking advanced education or trying to push the state of the art forward - they attend universities to get a piece of paper and some skills that'll land them a better job. As universities compete for students and are (indirectly) graded by how well they prepare them for jobs, a feedback loop has formed that slowly but surely turns undergraduate education into vocational one, usually to great dismay of the professors.

Re: A Parable by Dijkstra (1973)

#102
post #26

Earlier quoted context omitted.

> the least lucky passenger would have to walk six car lengths I just want to elaborate on this to show which assumptions you are making. There are two ways to make a paired unit: --+ and -+-. In your scenario I think you assume the first. The end of the train is thus ...+----+, since you mention the second last car's orientation being reversed. The +'s represent toilets. Then, what you are saying is to consider a pa…

> I just want to elaborate on this to show which assumptions you are making. There are two ways to make a paired unit: --+ and -+-. Why are there three characters to represent a pair? Do you mean something like this: car with toilet: [+-] car without toilet: [--] my pair: [+-][--] your pair: [-+][--] ? > This is then the "extra few feet" that he talks of. Using my notation (sorry to flip it): [-+][--][-+][--] That's…

Your bracket notation in effect works the same as mine. The difference is that -+- could be any of [-+][--] or [--][+-] by symmetry and so leaving out brackets. In my notation "+" is a character which does not occupy space. Hence [-+][--][-+][--] is the same as -+--+-.

Sorry about the error earlier: "...-+-+-" was a typo that I couldn't edit anymore.

Re: A Parable by Dijkstra (1973)

#103

I'll bite. What's the morale that he's implying? That algorithms can be simplified by slightly lifting the constraints?

That some problems can be solved more easily with a different data structure.

I think it was Robert Tarjan that wrote a book on that topic, but I can't find it.

Re: A Parable by Dijkstra (1973)

#104
post #26

Earlier quoted context omitted.

> the least lucky passenger would have to walk six car lengths I just want to elaborate on this to show which assumptions you are making. There are two ways to make a paired unit: --+ and -+-. In your scenario I think you assume the first. The end of the train is thus ...+----+, since you mention the second last car's orientation being reversed. The +'s represent toilets. Then, what you are saying is to consider a pa…

Yes, though I think the last three feet refers to the vestibule connecting the two carriages, which a passenger in the non-toilet carriage must traverse.

Thanks, that does make sense. So he means three extra feet of travelling that our equivalence relation with (-,+-) ~ (-+,-) ignores.

Re: A Parable by Dijkstra (1973)

#105
TGV trains in France have a very strict structure. For the TGV atlantique lines, for example, "short" trains contain exactly 10 cars (and "long" trains are composed of two "short" trains), with the following distribution:

- Car 1 and 10 are engines, and include some second class seats. - Cars 2 and 3 are first class. - Car 4 is the bar-restaurant. - Car 5 is first class. - Cars 6, 7, 8 and 9 are second class.

All the infrastructure is designed to treat the train as a single unit, during all operations at the shunting yard, in repair workshops, and son on.

And the position of toilets (including special toilets for nappy changes) is fixed.

Re: A Parable by Dijkstra (1973)

#106
post #86
post #78

Earlier quoted context omitted.

Projects running over-budget Projects running over-time Software was very inefficient Software was of low quality Software often did not meet requirements Projects were unmanageable and code difficult to maintain Software was never delivered Yeah, that one.

A "crisis" would imply that: 1) we don't get increasingly bigger and more powerful systems 2) we're behind some previously existing "no crisis" state Both (1) and (2) are factually wrong. Projects running over-budge, over-time, often not meet requirements etc, are not a crisis in the actual meaning of the world. It's just a normal state of affairs. And despite that we have got from the laughingly primitive software i…

> Both (1) and (2) are factually wrong.

You are factually wrong because you know only the status quo that emerged from that crisis.

> Projects running over-budge, over-time, often not meet requirements etc, are not a crisis in the actual meaning of the world.

> It's just a normal state of affairs.

To you it is.

To the people in the 1960s, it wasn't.

Because they had previously experienced a state where the hardware imposed such drastical limits on the possible size and complexity of software that each programmer working on a project could intimately know and understand every piece of code in it and the requirements that influenced it.

The change from that to one where programmers understand only part of a project is absolutely fundamental and completely changes the way you have to work to achieve your goals. Now your project will fail if you cannot manage and divide-and-conquer its complexity in some way.

Re: A Parable by Dijkstra (1973)

#107
post #77
post #9

So in the end the permanently coupled tuple of cars is handled as a single car, it kind of proves that every car must have a toilet? Or perhaps the next manager reiterates the rationale and decides to put just one toilet every two car tuples...

But twice as long and articulated.

Yes, the articulation is the only difference from a span-bolstered car with 8/12 axles.
Post reply on HN