I have a saying that I used around the office: "Lets put the Science back in to Computer Science". I think it really annoyed everyone else after the 20th time. But it's true - many people cling to ideas and methods long after any objective observer would have called them a failure. A one size fits all modernist approach is common. See Sun's pimping of Java as THE programming language for all circumstances. It should be clear to anyone that Java does not have a place in high performance numerical computing. Clearly there is much wishful thinking going on here, rather than objective measure and redefinition of science.
Hence, the following snippet courtesy of "Futurist Programming Notes". It looks like a pretty old reflection, but it's useful as a backwards looking futuristic meditation.
Notes on computer science tradition
- Unscientific - The acceptance of ideas depends more on personalities than on technical merits.
- Anti-Intellectual - Alternative ideas are discouraged.
- Stodgy - The primary concepts haven't changed in 20 years.
- Dogmatic - Irrelevant criteria are used to evaluate peoples' work.
- Arrogant - most NEW ideas are feared and rejected.
- Insular - isolated from other disciplines.
Not all of these criticisms are fair and some of them are being worked on (especially the Insular bit), but some of the first ones definitely apply. Think about this list next time you are arguing the merits of highly dynamic languages (Python, Ruby, etc) versus "standard" languages such as Java. Are their arguments based on sound evidence, or is it merely dogma at work?