Hallo,
Ihre hackermäßige Natur führt zudem häufig zu schlechterer Lesbarkeit und Wartbarkeit der Programme.
... ich in genau diesem Punkt entschieden widerspreche. Nach meiner Erfahrung ist Programmcode, der bewusst auf optimale Performance getrimmt ist, meistens sogar besser lesbar und verständlich, weil er "straightforward" ist, weil er ohne Umschweife auf den Punkt kommt.
Ein Hack ist für mich ...
Moment, da reden wir von unterschiedlichen Dingen. Ich stimme dir zu, was die Charakterisierung von Hacks angeht. Aber unter "ihre hackermäßige Natur" verstehe ich etwas ganz anderes - nämlich eine sehr zielstrebige, kompakte und meist schlecht bis gar nicht dokumentierte Art zu programmieren.
Diese Charakteristik ist es auch, die C den Ruf eingebracht hat sehr schnell und resourcensparend zu sein. C setzt exzessiv auf die manuellen Optimierungsfähigkeiten der Programmierer und bietet ihm dafür sehr viele lowlevel Routinen an, um bspw. direkten Einfluss auf das Speicherlayout nehmen zu können.
Stimmt, aber all das ist transparent und klar dokumentiert und damit weit vom Begriff "Hack" entfernt.
Per se ist C nämlich eine eher langsame Sprache, zumindest in dem Sinne, dass der Compiler vergleichsweise wenig Möglichkeiten hat automatisiert Optimierungspotenzial zu erkennen und auszuschöpfen.
Einige Compiler können das allerdings beeindruckend gut. Ich habe mir vor 15..20 Jahren oft beim Debuggen den Assembler-Code angesehen, den damals der Borland-C-Compiler produziert hat, und war gelegentlich beeindruckt von den Optimierungen, die der an meinem Code noch vorgenommen hat.
So long,
Martin