Friday, November 04, 2005

teaching to use tools properly

Why the hell are most academic computer scientists of the opinion that it is not important to learn using the tools for their daily work properly? Actually I found that most researchers at a university for instance actually don't use a revision control system in a way that it helps them to track revisions of their developed software (what typically a revision control system is designed for) and most of them don't have a clue what a linker is actually doing.

So, why is that the case? You expect those people to be quite intelligent (often even with some amount of arrogance when comparing themselves to "simple" people working in the industry). I think this is often a result of that sort of arrogance because if you talk to such people you are often told that it is of no academic interest to learn about existing tools. I understand that there is no academic conference where you can publish a paper on how to compile a C++ application. But couldn't it still be useful to understand the tool you are using to save much of your valuable time by not needing to work around problems that result from improper usage of the tools? And of which actual use is a benchmark report about various algorithms implemented in C++ when the fastest one works unreliably because the implementor did not understand the aliasing rules?

The same problem occurs when teaching students. In recent times it becomes more and more a common practice for many teachers at universities to expect students to be no longer able to learn an additional programming language or something like that on their own. Instead they start to standardize to one programming language for all courses just to make sure every student has at least seen it once before. The very same teachers then complain that most students are no longer capable to do productive work in a project. When should students learn autonomous work when they have to learn only exactly what the teacher tells them in the course instead of being forced to learn some additional stuff that is useful to understand the topic?

In my opinion those academics should understand that they are not superior compared to someone working in the industry but they have a different focus. _Both_ sides could and should learn from each other. Where academics have a clear focus on trying much interesting stuff, a person working for a company is more interested in creating a product that is of an actual use and does actually work. Have you ever tried to use software from an academic project in a productive environment?

No comments: