Mal wieder etwas lustiges über Programmierer.
Die Top 25 Erklärungen von Programmierer wenn Fehler auftreten.
Jüngste Beiträge zu Programmierung RSS
-
LUCiD
-
Nachtwächter
Programmier-Fail des Tages (in Visual Basic): Au Backe, was machen wir denn mal, wenn wir wegen irgendeines Fehlers keine Zeile in die Logdatei schreiben können? Na, ist doch klar, wir schreiben das als Zeile in die Logdatei, und das versuchen wir so lange rekursiv, bis sich der Fehler nach Voodoo-Art irgendwie selbst erledigt hat oder bis eben der Stack überläuft. *kopfklatsch!*
-
Nachtwächter
Suche des Tages: »objektorientiert programmieren fortran« – komm, jetzt setz dich erstmal hin und hol ein paar Mal tief Luft. Und denn denk noch einmal in aller Ruhe nach. FORTRAN mag eine gewisse Beliebtheit haben, die vor allem darin begründet liegt, dass es sehr viel guten Bibliothekscode und viele bestehende Anwendungen gibt. Es mag auch gelegentlich noch einmal für neue Projekte verwendet werden, nicht, weil es so toll ist, sondern weil es für manche Rechnungen wirklich auf jeden Deut Performance ankommt und FORTRAN nun einmal in sehr effizienten Code übersetzt werden kann. Die objektorientierten Konzepte der Programmierung sind das genaue Gegenteil, allein die Idee einer späten Bindung von Methoden führt eher zu Einbußen in der Performance, die aber angesichts der gezähmten Komplexität einer Implementation tragbar erscheinen. Warum sollte man so etwas kombinieren? Natürlich kann man in jeder Programmiersprache objektorientiert programmieren, wenn man das wirklich will – es wird nur nicht von jeder Programmiersprache unterstützt. (Es kann trotzdem manchmal eine sinnvolle Entscheidung sein.) Zwar unterstützt FORTRAN inzwischen das objektorientierte Programmieren, aber wenn du hin und wieder mal einen Quelltext in dieser allerersten höheren Programmiersprache siehst, wirst du bemerken, dass das kaum jemand tut. Ist ja auch kein Wunder, weil das nicht zusammen passt. Wenn du objektorientiert programmieren willst (oder musst), denn nimm dir doch besser eine Sprache, die dafür gemacht ist und eine etwas zahmere Syntax hat. Wenn du C++ nimmst, kannst du eventuell erforderliche FORTRAN-Libraries leicht dazulinken, falls du das musst. (Und immer daran denken: In FORTRAN werden Funktionsparameter als Referenz übergeben, in C oder C++ musst du also Pointer als Parameter nehmen, sonst kriegst du einen hübschen Coredump bei der Ausführung. Ich habe mal einen halben Tag damit verschwendet, diesen Denkfehler bei mir zu finden.) Aber komm besser nicht auf die Idee, FORTRAN zu nehmen, oder du wirst eine mittlere Macke beim Hacken kriegen.
-
Nachtwächter
-
Nachtwächter
Offenbar ist ICQ nicht darauf ausgelegt, dass dort Menschen teilnehmen, die älter als 40 Jahre sind. Wenn ich mein Geburtsdatum im Profil eingebe (und das ist bei mir eine der wenigen ehrlichen Angaben), denn stellt der verkackte Strunzcode auf dieser Website den 11. März 1966 immer automatisch auf den 31. Dezember 1969 zurück. Dass eventuell auch ältere Leute eine IM-Software nützlich finden und deshalb nutzen wollen, kommt im Weltbild der Programmierer dort offenbar so wenig vor, dass dieser Fall nicht einmal getestet wurde. Meine Vermutung: Die speichern da einfach den Unix-Timestamp in ihrer Datenbank weg, und der zählt einfach nur die Sekunden ab dem 1. Januar 1970, Mitternacht – kommt dann bei der Kalkulation eine negative Zahl wie in meinem Fall -99774000 raus, denn setzen die Programmierer der ICQ-Website einfach ein Datum, dass einen Tag vor dem Startzeitpunkt liegt. Mann oh Mann oh Mann! Wenn ich früher so einen Schrott produziert hätte (nicht, dass ich nicht auch manchmal Schrott gebaut habe), denn hätte ich dafür ziemlich unwirsche Reaktionen von Anwendern abgekriegt, und in so einem Fall sogar völlig zu Recht. Ein Datum als Anzahl von Sekunden zu speichern ist einfach nur absurd und dumm. Jedes anständige RDBMS kennt einen eigenen Typen für das Datum, der in der Regel vier Bytes in der Tabelle belegt, ganz genauso wie ein Unix-Timestamp, aber dabei einen viel größeren Wertebereich hat. Das kann man nicht einmal mit gespartem Speicherplatz oder vereinfachter Arithmetik bei Datumsberechnungen rechtfertigen, das ist einfach nur eine schlecht entworfene Datenbank, bei der sich die Designer offenbar nicht über den Anwendungsfall für dieses Feld klar waren. Und die Programmierer (das machen oft andere Menschen) haben sich dann eher unbeholfen um den Strunz in der Datenbank rumgewerkelt und dabei noch einen zusätzlichen Strunz draufgesetzt. Im Ergebnis hat man ein für Laien völlig unverständliches Verhalten der Software, das zudem noch älteren Menschen klar macht, dass sie auf der flutschbunten Website und generell bei ICQ unerwünscht sind – dass man freundlich dazu aufgefordert ist, zutreffende Anmerkungen im Profil zu machen (die wollen ja mit den Daten handeln), kommt dann noch als Sahnehäubchen auf diese unnötige, technische Diskriminierung älterer Menschen. Ach, was solls: Ich bin wohl zu alt für den Schrott geworden, den man für die heutigen Internet-Dienste produziert.
-
Nachtwächter
Was bekommt jemand von Google dafür, dass er denen eine komplette, neue Webanwendung programmiert? Na, aber doch nicht so viel, wo kommt das »arme« Google denn hin, wenn dafür auch ein bisschen Geld fließt. Ein dreimonatiges Praktikum soll reichen. Das sind die »schönen, neuen Geschäftsmodelle« unserer Zeit. Wahrscheinlich ist der Empfänger solcher milden Gaben sogar noch froh darüber, weil sich das so gut im Lebenslauf macht, wenn er demnächst wieder um reguläre und bezahlte Arbeit betteln muss.