Tag Archives: philosophies

The right tool

The right tool

Ich habe in den vergangen Tagen eine Reihe von Artikeln über Programmierer, ihre Werkzeuge/Entwicklungsumgebungen, ihre verrückten Ideen[1,2] und warum die meisten Programmierer nicht programmieren können[3] gelesen.

Immer wieder enden Diskussionen insbesondere um Programmiersprachen in einem Kräftemessen, bei dem persönliche Vorlieben über tatsächliche Nutzbarkeit gestellt werden. Immer wieder werden bestimmte Tools hervorgehoben und als Lösung sämtlicher Probleme präsentiert werden.

Wenn jemand einen Nagel in die Wand hauen möchte um ein Bild aufzuhängen, so wird er dafür einen Hammer nehmen. Die Vorstellung einen Nagel mit einem Schraubenzieher in die Wand zu befördern ist widersinnig. Genauso würde ich nicht versuchen die Schraube mit einem Hammer in die Wand zu drehen. Warum also versuchen Programmierer immer wieder ihr Lieblingswerkzeug (den Schraubenzieher) für als Lösung für jedes Problem(Schraube, Nagel) heranzuziehen, wo es doch eine Reihe von wesentlich angenehmeren Werkzeugen gibt. Die Verfechter von Open-Source-Technologie sagen: Warum ein Werkzeug kaufen, wenn du unser Werkzeug anpassen und erweitern kannst. So wird aus einem gewöhnlichem Handschraubenzieher der Akkuschrauber mit Bits für die verschiedenen Schraubenarten. Das macht mir die Arbeit mit Schrauben tatsächlich leichter, aber den Nagel kann ich immer noch nicht besser nutzen. Um den tatsächlichen Komfort zu haben muss ich leider in den Baumarkt gehen und einen Hammer kaufen. Letztlich wird der Hammer vermutlich sogar billiger sein, als der Akkuschrauber zumindest, wenn ich die Zeit berechnet ;)

Man soll mich bitte nicht falsch verstehen, ich bin ein großer Freund von Open-Source Software, was ich nur gerade anprangere ist der Absolutheitsanspruch. Nur weil Sprache X eine ganz tolle Syntax hat und sich Problem Y in ihr mit einer Schönheit und Eleganz lösen lässt die Ihresgleichen sucht, ist der Umkehrschluss nicht, dass Problem A in X genauso einfach zu lösen ist. Vielleicht gibt es eine Sprache B mit der es einfacher geht.

Zusammengefasst lässt sich sagen: Es gibt nicht “das eine Werkzeug”, es gibt nur solche mit denen sich ein bestimmtes Problem besser lösen lässt.

[1]http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html

[2]http://www.sics.se/~adam/pt/expansion.html

[3]http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html

Posted in Private, Thoughts | Tagged , , , | 1 Comment