Welche Art von Thema kann unter Programmierern zu Kontroversen führen?
Programmierung ist ein sehr herausforderndes Thema, da sie verlangt, dass man einerseits sehr logisch und korrekt arbeitet, andererseits aber auch sehr kommunikativ und kreativ. Viele mittelmäßige Programmierer erreichen ein Leistungsplateau, weil sie es nicht gut schaffen, ihren Code in einfache Worte zu fassen, so dass die Lesbarkeit mit steigender Komplexität drastisch abnimmt und sie irgendwann nicht mehr weiterkommen.
Das bedeutet aber auch, dass im Berufsalltag die meisten "Abkürzungen" nehmen, indem sie für sich selbst Grundregeln aufstellen, die sie nicht mehr hinterfragen, da man andernfalls alles hinterfragen und zerreden könnte.
Somit entstehen beliebte Streitthemen bei banalen Fragen wie Einrückungen von Klammern oder Zeilen, Sprachen die Klammern verwenden oder Leerzeichen etc.
Desweiteren entstehen sie am anderen Ende, wo die Fragen so kompliziert werden, dass die meisten sich einfach erstmal für eine Lösung entscheiden und erst später sehen, ob sie zu Problemen führt. Dadurch sind beispielsweise die zwei Strömungen in der Objektorientierung entstanden. Die eine dreht sich um Sprachen wie C++, die andere ist der ursprünglichen Definition des Begriffs treuer und folgt der Denkweise von Alan Kay, dem Begründer des Begriffs und Autor der Sprache Smalltalk.
Dieser Streit taucht an vielen Stellen wieder auf. Stark vereinfacht interessieren sich die einen mehr dafür, was ein Objekt kann, während es die anderen mehr interessiert, was es ist.
Wenn jetzt ein Sprachfeature erlaubt, eine Variable zu deklarieren, ohne ausdrücklich hinzuschreiben, was sie ist, dann ist das für die einen eine ganz tolle Idee, und für die anderen die dümmste Erfindung seit langem.
Player p = getEnemy();
var enemy = getEnemy();
Die erste Codezeile sagt ausdrücklich, dass p ein Player ist, während die zweite nur sagt, dass enemy das ist, was aus getEnemy herauskommt.
Der dritte Ort, an dem gerne Streitfragen entstehen, ist der, wo Wissenschaft und Ehrendenken aufeinandertreffen.
Auch wenn wir Programmierer und gerne gebildet geben, sind viele von uns doch im Geiste Ingenieure. Wenn dann einer ankommt und sagt "Warum machst du das mit der altmodischen Methode, die du jahrelang erlernt hast? Nimm doch dieses moderne Verfahren, was jeder kann.", dann trifft das viele persönlich.
Ein beliebtes Beispiel für das letzte Thema ist die Frage, ob HTLM eine Programmiersprache ist oder nicht. Wer versucht, den Begriff Programmiersprache wissenschaftlich zu definieren, der wird sehen, dass es fast unmöglich ist, eine Definition zu finden, bei der HTML keine Programmiersprache ist, alle anderen "gefühlten" Programmiersprachen aber schon. Wer aber bei den beliebten Memes zum Thema "HTML ist keine Programmiersprache" mitmacht, den interessiert in der Regel die Argumentation dahinter nicht im Geringsten, sondern es geht meist nur darum, sich von Leuten, die weniger können, abzusetzen.