Was bringt ein Kaffeeautomat in der Bibliothek? Es gibt leider nur wenige Bibliotheken mit einem Kaffeeautomat. Der Grund dafür ist, dass die Bücher dadurch dreckig und beschädigt werden können. Doch ich mein, man kann sich auch die Bücher ausleihen und auch dort werden die Bücher dreckig. Beim Ausleihen ist die Gefahr, dass die Bücher beschädigt werden sogar um Vieles höher als, wenn man sie in der Bibliothek liest. Der Kaffee von dem Automaten belebt und erweckt die Lernenden und Lesenden in der Bibliothek. So etwas ist immer sehr praktisch. Nur leider wird es zum Beispiel kein Kaffeeautomat eingeführt. Aber irgendwann setze ich mich durch und überrede unsere Schule und die Stadt, dass es einen Kaffeeautomaten in der Bibliothek gibt. Das Schlimme an allem ist, dass man noch nicht mal seinen eigenen Kaffee mitbringen darf, auch aus dem Grund, wieso der Kaffeeautomat nicht in der Bibliothek eingeführt wird. Ich denke auch nur, dass das so eine allgemeine Ausrede ist. Die wollen doch nur verhindern, dass irgendwelche Schnorrer in die Bibliothek kommen und schnorren. Aber es gibt auch Kaffeeautomaten, wo man erst Geld reinstecken muss, um einen Kaffee zu bekommen. Da spielt dann das Geld eine Rolle. So ein Kaffeeautomat ist meistens recht überteuert.

Seit 30 Jahren jeden Tag der gleiche Programmierfehler, der sowas von offensichtlich ist. Ist er das wirklich? Menschen machen nunmal Fehler, das liegt nicht an C selbst, sondern daran, dass 99% aller Menschen eben zu blöd für C sind. Menschen machen Fehler, das ist so und hat ausnamsweise mal nichtsmit Blödheit zu tun. Man sollte überhaupt alle C-Bibliotheken ein für alle Mal in den Mistkübel befördern und von Leuten, die es wirklich können, neu programmieren lassen. Wobei gilt: Einer programmiert, drei kontrollieren. Bei Fehlern: Weg damit, Ursache finden, das ganze nochmal von vorne. Siehe Extreme Programming: erst Test schreiben, dann programmieren, Test laufen lassen und so lange Fehler suchen, bis der Test erfolgreich war. Und das alles zu zweit. Vorzugsweise sollten außerdem nicht überall null-terminierte Strings benutzt werden, sondern Strukturen mit dazugehörigen (trusted) Methoden. Ich benutze für Stringoperationen in C eine selbstprogrammierte, zur Zeit noch experimentelle Bibliothek, die solche Strukturen und dazugehörige Funktionen zur Verfügung stellt. Damit kann man per sstrcat() notfalls auch einfach im Blindflug einfüllen, ohne dass es zu einem Overflow kommt. Umwandlung von 0-terminiertem String zu Struktur und von der Struktur zum0-terminierten String gibt’s natürlich auch. Und da das immer noch Fehleranfällig ist, sollte man das automatisieren … wenn man die korrekte Benutzung undInitialisiserung der Strukturen erzwingen könnte … warum C, wenn es C++ gibt? Und jetzt bitte keinen “weil es effizienter ist”-Blödsinn. Wenn ich in C++ hocheffizient entwickeln will, kann ich das ohne Weiteres. Mit Verzicht auf virtuelle Funktionen und Vererbung, statt dessen Templates verwenden (wenn kein Laufzeitpolymorphismus benötigt wird, dann kann man damit alles erschlagen), und inline-Funktionen. Wenn man nur ein einziges Mal ganz kleine Teile des Programmes richtig programmiert, dann kann man wesentlich effizienter Programmieren, weil man nicht an jeder Ecke irgendwelche konfusen Stringoperationen mit fragwürdigen Checkings durchführen muss, sondern alles gekapselt in einer halbwegs intelligenten Bibliothek vorhanden ist. Da kann ich wieder nur auf XP verweisen.
Read More