Blah-Archiv » Programmierung http://localhost/blah-dev Kurz und knapp und blah... Thu, 01 Aug 2013 18:58:27 +0000 de-DE hourly 1 http://wordpress.org/?v=3.6 Das ist ja eine tolle statistische Idee, die kö… http://localhost/blah-dev/2013/07/09/das-ist-ja-eine-tolle-statistische-idee-die-koe/ http://localhost/blah-dev/2013/07/09/das-ist-ja-eine-tolle-statistische-idee-die-koe/#comments Tue, 09 Jul 2013 12:57:07 +0000 Nachtwächter http://localhost/blah-dev/2013/07/09/das-ist-ja-eine-tolle-statistische-idee-die-koe/ Das ist ja eine tolle statistische Idee, die könnte direkt vom Institut für Theoretischen und Angewandten Bullshit kommen: Man stelle eine Rangliste der Popularität von Programmiersprachen danach auf, wie oft über Suchmaschinen nach Dokumentation gesucht wird.

Das Ergebnis überrascht mich kein bisschen. Java wird gefolgt von PHP wird gefolgt von C# wird gefolgt von Python wird gefolgt von C++.

Das gibt (allerdings mit einer Überbetonung von Java bei solcher Betrachtung) ziemlich genau die Rangfolge wieder, wie oft man wegen gewisser Altlasten dieser Sprachen beim Proggen immer wieder einmal in eine Doku gucken muss, weil die Standard-Bibliothek mit irrsinnig fetten Schnitstellen entworfen wurde, die sich kaum jemand einprägen kann, weils – wie in Python – erhebliche Unterschiede zwischen den verschiedenen Versionen gibt, weil – wie in PHP – das gesamte Sprachdesign in sich selbst inkonsistent und vollständig unlogisch ist oder weil – wie in C++ – große Teile der Syntax schlicht hirnrissig sind (und zudem um eine gnadenlose Standardbibliothek ergänzt werden) und die Fehlermeldungen des Compilers alles andere als eine Hilfe sind, wenn man einmal in eine der vielen Fallen getappt ist.

Was sich da darstellt, ist – wie oben schon gesagt, mit einer leichten Verzerrung bei Java – eine Rangliste von Programmiersprachen, die trotz größerer Schwächen eine gewisse Beliebtheit haben. Für den portablen Makroassembler namens »C« muss ich jedenfalls niemals etwas außerhalb meiner man-pages nachschlagen (modernere Menschen lesen hier einfach: in der im IDE verfügbaren Hilfefunktion), und ich tippe drauf, dass C immer noch eine wichtige und beliebte Programmiersprache ist… ;)

]]>
http://localhost/blah-dev/2013/07/09/das-ist-ja-eine-tolle-statistische-idee-die-koe/feed/ 5
Komischer Code des Tages: Dieser Operator für d … http://localhost/blah-dev/2010/07/14/komischer-code-des-tages-dieser-operator-fuer-d/ http://localhost/blah-dev/2010/07/14/komischer-code-des-tages-dieser-operator-fuer-d/#comments Wed, 14 Jul 2010 17:47:52 +0000 Nachtwächter http://localhost/blah-dev/2010/07/14/komischer-code-des-tages-dieser-operator-fuer-d/ Komischer Code des Tages: Dieser Operator für die boolesche Negation (in Java und den meisten anderen Sprachen mit C-artiger Syntax ein Ausrufezeichen als Präfix des Ausdrucks) scheint nicht jedem Programmierer bekannt zu sein, und dann werden ganz seltsame Funktionen geschrieben

]]>
http://localhost/blah-dev/2010/07/14/komischer-code-des-tages-dieser-operator-fuer-d/feed/ 0
WTF des Tages: Wie man Zahlen nicht mit führend … http://localhost/blah-dev/2010/06/16/wtf-des-tages-wie-man-zahlen-nicht-mit-fuehrend/ http://localhost/blah-dev/2010/06/16/wtf-des-tages-wie-man-zahlen-nicht-mit-fuehrend/#comments Wed, 16 Jun 2010 19:12:47 +0000 Nachtwächter http://localhost/blah-dev/2010/06/16/wtf-des-tages-wie-man-zahlen-nicht-mit-fuehrend/ WTF des Tages: Wie man Zahlen nicht mit führenden Nullen versehen sollte. m(

(Außer natürlich, man wird für die lines of code oder für die Zeit seiner Tätigkeit bezahlt, egal, wie geist- und ergebnislos sie ist. Dann sollte man wirklich weder irgendeine Bibliotheksfunktion noch eine Schleifenkonstruktion verwenden, sondern einfach das Problem auf die dümmste denkbare Art angehen.)

]]>
http://localhost/blah-dev/2010/06/16/wtf-des-tages-wie-man-zahlen-nicht-mit-fuehrend/feed/ 0
Man kann ja über PHP und das MySQL RDBMS eine M … http://localhost/blah-dev/2010/06/15/man-kann-ja-ueber-php-und-das-mysql-rdbms-eine-m/ http://localhost/blah-dev/2010/06/15/man-kann-ja-ueber-php-und-das-mysql-rdbms-eine-m/#comments Tue, 15 Jun 2010 00:07:58 +0000 Nachtwächter http://localhost/blah-dev/2010/06/15/man-kann-ja-ueber-php-und-das-mysql-rdbms-eine-m/ Man kann ja über PHP und das MySQL RDBMS eine Menge sagen, aber eines auf keinen Fall: Dass es mit dieser Kombination erforderlich ist, so einen Code zu schreiben. Nein, das ist nie erforderlich. Einmal ganz davon abgesehen, dass eine derartige Suche in der Datenbank nicht über Indizes realisiert wird, sondern auf ein einfaches, lineares Durchscannen hinausläuft; viel Arbeit auf der Suche nach den Zeilen, in denen der so »kunstvoll« konstruierte reguläre Ausdruck passt – da könnte man die Daten auch ohne die Datenbank verwalten. Aber scheiß auf Performance, wer so programmiert, hat ganz andere Probleme. Und wenn es (mit realistischen Datenmengen) zu lahmarschig wird, denn wird eben ein schnellerer Server genommen. Ist ja Geld des Kunden.

]]>
http://localhost/blah-dev/2010/06/15/man-kann-ja-ueber-php-und-das-mysql-rdbms-eine-m/feed/ 1
Programmier-Fail des Tages (in Visual Basic): Au … http://localhost/blah-dev/2009/08/24/programmier-fail-des-tages-in-visual-basic-au/ http://localhost/blah-dev/2009/08/24/programmier-fail-des-tages-in-visual-basic-au/#comments Mon, 24 Aug 2009 16:44:50 +0000 Nachtwächter http://localhost/blah-dev/2009/08/24/programmier-fail-des-tages-in-visual-basic-au/ 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!*

]]>
http://localhost/blah-dev/2009/08/24/programmier-fail-des-tages-in-visual-basic-au/feed/ 0
Suche des Tages: »objektorientiert prog … http://localhost/blah-dev/2008/12/17/suche-des-tages-objektorientiert-prog/ http://localhost/blah-dev/2008/12/17/suche-des-tages-objektorientiert-prog/#comments Wed, 17 Dec 2008 17:51:50 +0000 Nachtwächter http://localhost/blah-dev/2008/12/17/suche-des-tages-objektorientiert-prog/ 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.

]]>
http://localhost/blah-dev/2008/12/17/suche-des-tages-objektorientiert-prog/feed/ 1
Perl 6: There Is More Than One Way To Sc … http://localhost/blah-dev/2008/12/15/perl-6-there-is-more-than-one-way-to-sc/ http://localhost/blah-dev/2008/12/15/perl-6-there-is-more-than-one-way-to-sc/#comments Sun, 14 Dec 2008 23:10:10 +0000 Nachtwächter http://localhost/blah-dev/2008/12/15/perl-6-there-is-more-than-one-way-to-sc/ Perl 6: There Is More Than One Way To Screw It Up

]]>
http://localhost/blah-dev/2008/12/15/perl-6-there-is-more-than-one-way-to-sc/feed/ 1
Offenbar ist ICQ nicht darauf ausgelegt, … http://localhost/blah-dev/2008/07/29/offenbar-ist-icq-nicht-darauf-ausgelegt/ http://localhost/blah-dev/2008/07/29/offenbar-ist-icq-nicht-darauf-ausgelegt/#comments Tue, 29 Jul 2008 17:55:05 +0000 Nachtwächter http://localhost/blah-dev/2008/07/29/offenbar-ist-icq-nicht-darauf-ausgelegt/ 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.

]]>
http://localhost/blah-dev/2008/07/29/offenbar-ist-icq-nicht-darauf-ausgelegt/feed/ 0
Was bekommt jemand von Google dafür, da … http://localhost/blah-dev/2008/03/14/was-bekommt-jemand-von-google-dafuer-da/ http://localhost/blah-dev/2008/03/14/was-bekommt-jemand-von-google-dafuer-da/#comments Fri, 14 Mar 2008 12:43:32 +0000 Nachtwächter http://localhost/blah-dev/2008/03/14/was-bekommt-jemand-von-google-dafuer-da/ 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.

]]>
http://localhost/blah-dev/2008/03/14/was-bekommt-jemand-von-google-dafuer-da/feed/ 4