Live data from Hacker News

A Parable by Dijkstra (1973)

cs.utexas.edu

21–30 of 107 posts

Re: A Parable by Dijkstra (1973)

#23

Moral: The engineer who conceived of the innovation was forgotten and not compensated for it, and the train owners made the bulk of the money. Sounds like software engineering to me!

Also, note how the shunting department was severely underequipped, "and it was only by virtue of the most cunning ingenuity, that they could just manage". Also sounds very realistic to me.

That, plus a manager inventing and enforcing specific requirements for dubious reasons, causing trouble in the company, and - as 'jancsika points out in their comment - quite likely introducing many new problems into the product.

Re: A Parable by Dijkstra (1973)

#24

I thought the moral was going to be that accommodating toiletless cars cost more than simply building all cars with toilets.

Yea, that's where I thought it was going too. I've been on a lot of project lately that try to pre-optimize instead of building a solution and then determining where the bottlenecks are.

A lot of times when we try to build for speed, the real bottlenecks are no where we think they'd logically be.

Re: A Parable by Dijkstra (1973)

#25

Moral: The engineer who conceived of the innovation was forgotten and not compensated for it, and the train owners made the bulk of the money. Sounds like software engineering to me!

Nah, it'd be more realistic if they were stuck with this expensive mess, and had to reverse all their work, and still had to do one toilet per car, because no one figured out this solution.

And the one guy who would have thought of this, they passed on three months before because he wanted 10% more in salary.

/cynicism

Re: A Parable by Dijkstra (1973)

#26

When the shunting person persuaded everyone to imagine the two-car units as if they were symmetrical, the passengers still complained. Toilets can break, and when they did the doubly unlucky passenger would be forced to walk four car lengths to get to the nearest toilet. Also, those helpful arrows would be guiding the passenger the wrong direction for two of those car lengths. So we have comments that go out of sync…

> 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 passenger located at the ^ symbol: ...+--^--+. In this configuration, your observation makes sense.

I do think that a more practical solution is to work only with (-+,-) pairs. The symmetry that Dijkstra talks of is then that (-+,-) and (-,+-) are equivalent for the purposes of the problem. Then an end of a train would be: ...-+-+-. This is then the "extra few feet" that he talks of.

Re: A Parable by Dijkstra (1973)

#27
The greater point I took away was that sometimes someone who's not involved in solving a problem can see a solution while those who are do not.

In that respect programming is often as much an art as it is a practice.

Re: A Parable by Dijkstra (1973)

#28
post #13

Is Haskell still a preferred introductory language to enter the Functional Paradigm with? Or do you think other alternatives do a better job at that than Haskell ? I'm learning Scheme with the SICP Book ATM, and am confused where to go next to get better at Functional thinking(and programming).

Haskell. If programming languages were mountains, Haskell is Everest. Conquer it and other languages can be mastered in your sleep. Go further.

I never did alpinism, I guess Everest would be a good place to start with...

Re: A Parable by Dijkstra (1973)

#29
post #28

Earlier quoted context omitted.

Haskell. If programming languages were mountains, Haskell is Everest. Conquer it and other languages can be mastered in your sleep. Go further.

I never did alpinism, I guess Everest would be a good place to start with...

it's not even in the Alps!
Post reply on HN