Hacker News new | past | comments | ask | show | jobs | submit login

The thing is, this isn't unique to tech companies. In every industry, people ignore best practices or even regulations, prefer politics over information, familiar over innovative, have fiefdoms and feuds, and basically everything that happens in society at large where there are power vacuums or opportunities.

It's a double-edged sword that is both a source of innovation and stagnation, and it is called being human. We do our best to keep the detrimental effects to a minimum, and have done a pretty decent job of it over the past few hundred years. Not perfect, but better.




"Best practices" is too often (in computer science, at least) a way to mean "Drunken distortions of the manuscripts of Dijkstra."

Basically all of the modern languages in common use are (either; rarely both) clones of his work on ALGOL (like Go, for example) or heavily inspired from his manuscripts.

Dijkstra is easily the most-misinterpreted and cargo-culted figure in computer science, and most people don't even know who he is! "GO TO Statement Considered Harmful" is a great paper, for example, but based on how it's talked about, it seems unlikely that 90% of people who are against the use of GOTO have actually read the paper, or have any logical explanation for why it shouldn't be used.

Dijkstra would strongly consider dropping everything and fleeing to a ranch in Idaho if he saw C++ in common use, for example, but it seems like C++ programmers (sorry for stereotyping, but programming communities do trend in one direction or another) tend to be the first to espouse the values and 'truths' of his writing and opinions.

I may be slightly biased, though, because Dijkstra has been proven wrong about the best way to write programs (by typing your code into a computer; something Dijkstra was against strongly), and that he hated APL so much that he went as far as to diss a Turing Award-winner (Alan Perlis) in his death because Perlis was an advocate of the language:

1968 was also the year of the IBM advertisement in Datamation, of a beaming Susie Meyer who had just solved all her programming problems by switching to PL/I. Those were the days we were led to believe that the problems of programming were the problems of the deficiencies of the programming language you were working with.

How did I characterize it? "APL is a mistake, carried through to perfection. It is the language of the future for the programming techniques of the past: it creates a new generation of coding bums." I thought that programmers should not be puzzle-minded, which was one of the criteria on which IBM selected programmers. We would be much better served by clean, systematic minds, with a sense of elegance. And APL, with its one-liners, went in the other direction. I have been exposed to more APL than I'd like because Alan Perlis had an APL period. I think he outgrew it before his death, but for many years APL was "it."


Not to take away from Dijkstra's brilliance but the problem with the narrative above is that Dijkstra wasn't part of the team that developed Algol 60 and that can easily be seen by the fact that his name is not on the Algol 60 Report or on the Revised Algol 60 Report. He did write an early book on Algol 60, he did write the first Algol 60 compiler and he did plenty of work on block structure language design but he didn't design nor was he a major participant in the design of Algol 60 itself.


Don't forget that misguided few paragraphs he wrote on "zero-based indexing" which have haunted us ever since.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: