Programmier-"Niveau"
-
Xin schrieb:
Es gibt keinen einen Thread über die letzten Jahre. Es gibt mehrere.
Du hast selber aus dem Thread zitiert. Da wirst du ihn doch wohl wiederfinden...
-
Hi Hustbaer,
hustbaer schrieb:
@muemmel
Es gibt nunmal bestimmte Dinge die ein Programm unübersichtlich und unwartbar machen.kann nicht sagen, dass Du mir damit was neues sagst.
Dummerweise sind genau die Programmierer die kein RAII verwenden üblicherweise auch die die nicht besonders gut und/oder diszipliniert sind.
oder eben die, die es aus anderen Gründen nicht nutzen können.
z.B. Delphi ist da ein wenig hartleibiger als C++. Bei einfachen Variablen gehts nicht und bei Objekten muss zumindest der Zeiger am Funktionsanfang deklariert werden ohne gleich was initialisieren zu können. Aber sollte ich deswegen Delphi in die Tonne werfen?RAII, Pattern, Templates sind Mittel zum Zweck, aber nicht der Zweck selber. Wenn man damit den Zweck erfüllt ist es gut, muss man dafür Abstriche am Zweck machen, ist man auf dem falschen Weg. (ja, es gibt Gründe, dem Zweck Vorrang zu geben. zum Beispiel die Programmgröße. Wenn ich ein leeres Programm mit Delphi XE2 mache, hab ich 7-8 MByte. Ist für meinen Zweck unvertretbar, also wird die neue Umgebung nur beim Programmieren genommen aber auf die Möglichkeiten von Delphi 2007 beschränkt, auch wenn da das eine oder andere nicht geht und die fertige Version mit Delphi 2007 erzeugt.)
aber aus irgend einem anderen Grund total unwartbaren Code schreibt ist er trotzdem ein schlechter Programmierer.
Und daran ändert sich auch nix wenn du bestimmte Dinge als "zu hoch gehängte Akademische Glocke" bezeichnest.
Warum sollte ich mir bei "Wegwerfcode" viele Gedanken machen. für kleine Einzwecklösungen wird der Code so runtergeschrieben, wie er die Aufgabe erfüllt und gut ist. Allerdings unter dem Gesichtspunkt "für was habe ich schon was da und was muss neu geschrieben werden".
Was unter Umständen weiter ntzbar ist wird ausgegliedert (und bei mir möglichst ne VCL-Komponente draus gemacht) und der Rest muss nur funktionieren.
Muss man dann aber "heilig sprechen", also als unveränderlich. Wenns dann doch mal recycled werden soll muss mans noch mal neu in Form bringen. Aber da das meist die Ausnahme ist, lohnt es nciht aus allem ein großes Projekt zu machen.Die wenigsten unwartbaren Programme sind für den Benutzer gut.
Erweiterung:Die wenigsten Programme sind für den Benutzer gut.
Also ist es IMO eine Voraussetzung halbwegs sauberen Code zu schreiben, wenn man ein gut bedienbares Programm haben will. Es ist aber eben auch nur eine Voraussetzung, und für sich genommen noch nicht ausreichend.
Spätestens wenn man ihn später warten muss, merkt man dass die Einschränkung "halbwegs" besser nicht da stehen sollte.
Und nachdem das Thema hier das Programmieren war, und nicht User-Interface-Design, würde ich mal sagen: deine Einwände sind völlig off-topic
Nicht ganz, ein vernünftiges UI lässt sich nur realisieren, wenn der Entwickler schon beim Entwurf in Gedanken beim Nutzer war. Die meisten Programme scheitern nicht an fehlenden Programmiergrundlagen, sondern an unzureichender Bedienphillosophie. Das eine muss sich im anderen wiederfinden und umgekehrt.
Gruß Mümmel
-
@Xin, Shade of Mine
Ob eine Kommunikation ohne Vokabeln funktioniert, hängt erstmal davon ab, was man unter Vokabeln versteht. Wenn als Vokabel auch jegliche Geste (z.B. Schulterzucken wenn man etwas nicht versteht) und alle anderen möglichen Formen des Ausdrucks gelten, ist Kommunikation logisch unmöglich. Wenn eine Vokabel allerdings im Sinne von Vokabeln beim Lernen einer Sprache ist, dann ist es natürlich auch ohne Vokabeln möglich, zu kommunizieren (z.B. über Gesten, ...)
-
Geniale Einsicht.
-
pyhax schrieb:
@Xin, Shade of Mine
Ob eine Kommunikation ohne Vokabeln funktioniert, hängt erstmal davon ab, was man unter Vokabeln versteht. Wenn als Vokabel auch jegliche Geste (z.B. Schulterzucken wenn man etwas nicht versteht) und alle anderen möglichen Formen des Ausdrucks gelten, ist Kommunikation logisch unmöglich. Wenn eine Vokabel allerdings im Sinne von Vokabeln beim Lernen einer Sprache ist, dann ist es natürlich auch ohne Vokabeln möglich, zu kommunizieren (z.B. über Gesten, ...)Das habe ich mehrfach geschrieben (dass Sprache und Vokabeln als Abstrakt zu sehen sind und man sich auch mit Händen und Füßen verständigen kann).
Aber das ist eigentlich irrelevant. Da ich idR von verbaler Kommunikation geredet habe und dort sind die Vokabeln das zentrale Element.
Bedenke: ein zentrales Element ist nicht das einzig existierende Element.
-
pyhax schrieb:
@Xin, Shade of Mine
Ob eine Kommunikation ohne Vokabeln funktioniert, hängt erstmal davon ab, was man unter Vokabeln versteht. Wenn als Vokabel auch jegliche Geste (z.B. Schulterzucken wenn man etwas nicht versteht) und alle anderen möglichen Formen des Ausdrucks gelten, ist Kommunikation logisch unmöglich.Dann wäre Vokabel aber gleichzusetzen mit Kommunikation.
Ich verstehe unter einer Vokabel ein Wort in Verbindung mit (s)einer Bedeutung in einem vorher definierten Kontext. Arm: Kontext Körper: Extremität, Kontext Geld: zuwenig, Kontext Englisch: Waffe.
Eine Floskel hingegen ist mehr als eine Vokabel, besitzt aber eine eigenständige Semantik. Wenn etwas wie die Faust auf's Auge passt, dann hat das vermutlich nichts mit geschlossenen Händen oder Augen zu tun. Würden wir die Semantik abfragen würde etwa die Hälfte sagen, dass wenn etwas wie die Faust auf's Auge passt, es genau passt und die andere, dass es überhaupt nicht passt. Dazu gibt mindestens eine Umfrage und ist relativ ausgeglichen.
Das Schöne ist ja, dass Deine Frage, wie man "Vokabel" definiert, genau das ist, was ich beschreibe. Wir stellen fest, dass wir uns in einer Sache nicht sicher sind, treten einen Schritt zurück und besprechen, wie wir die Vokabel "Vokabel" definieren, statt zu sagen, Du hast ja keine Ahnung, wenn Du nichtmals die Bedeutung von "Vokabel" kennst.
Wir können nie davon ausgehen, dass wir Worte mit der identischen Semantik verwenden. Wenn wir das tun, sind Missverständnisse hochwahrscheinlich, also ist die Kommunikation fehlerhaft. Deswegen bringt es - imho - auch nichts, die ausgefallensten Buzzwords parat zu haben, weil man sich sowieso erst abgleichen muss. CRTP ist so ein Buzzword, dass ich so oder so erst abfragen würde, ob überhaupt das gleiche gemeint ist. Wenn ich sowieso frage, was gemeint ist, brauche ich mir das auch nicht zu merken und es ist zu selten, als dass es in meinem aktiven Wortschatz ist.
pyhax schrieb:
Wenn eine Vokabel allerdings im Sinne von Vokabeln beim Lernen einer Sprache ist, dann ist es natürlich auch ohne Vokabeln möglich, zu kommunizieren (z.B. über Gesten, ...)
Wobei es die gleichen Missverständnisse geben kann. ^^
Fragt Dich ein Taucher, ob alles okay ist (Daumen + Zeigefinger zusammen, andere Finger gespreizt) und Du gibst "Daumen hoch" zurück, dann ist wohl irgendwas im Argen, wenn Du auf einmal "Auftauchen!" signalisiert.
Daher werden diese Zeichen nahezu vor jedem Tauchgang (außer die Gruppe kennt sich) nochmal kurz über Wasser definiert und klargestellt, damit es unter Wasser klappt.
-
Ist für dich Compiler auch ein Buzzword?
CRTP steht für ein Idiom. Genau wie FBI für eine Organisation steht.
Schau dir mal die Definition von "buzzword" an.
-
Xin schrieb:
Wir können nie davon ausgehen, dass wir Worte mit der identischen Semantik verwenden. Wenn wir das tun, sind Missverständnisse hochwahrscheinlich, also ist die Kommunikation fehlerhaft. Deswegen bringt es - imho - auch nichts, die ausgefallensten Buzzwords parat zu haben, weil man sich sowieso erst abgleichen muss. CRTP ist so ein Buzzword, dass ich so oder so erst abfragen würde, ob überhaupt das gleiche gemeint ist. Wenn ich sowieso frage, was gemeint ist, brauche ich mir das auch nicht zu merken und es ist zu selten, als dass es in meinem aktiven Wortschatz ist.
Das Argument mit dem Beispiel ist genial und zeigt auf, warum du in wiederkehrtende Muster verfällst. Das Argument macht kein Sinn, weil wir (einschließlich dir) inzwischen Wissen, was CRTP ist.
Genauso mit dem Erklärung von RAII (Implementierungssicht vs Anwendungssicht), Variable mit Offset (Erklärungsmodell vs Realität), ...
-
Zeus schrieb:
Das Argument macht kein Sinn, weil wir (einschließlich dir) inzwischen Wissen, was CRTP ist.
Anscheinend wissen wir nichtmals so genau, was "Vokabel" bedeutet.
Ich würde kein Geld verwetten, dass hier alle CRTP identisch definieren würden. Für mich ergibt das Argument daher durchaus Sinn.
-
Xin schrieb:
class B : public A<B>
Hat doch schon ein kluger Mann in diesem Thread gemacht.
-
Zeus schrieb:
Xin schrieb:
class B : public A<B>
Hat doch schon ein kluger Mann in diesem Thread gemacht.
CRTP ist was man damit macht. Das da oben ist nur ein Sprachmittel.
-
otze schrieb:
Zeus schrieb:
Xin schrieb:
class B : public A<B>
Hat doch schon ein kluger Mann in diesem Thread gemacht.
CRTP ist was man damit macht. Das da oben ist nur ein Sprachmittel.
Häh?
-
Zeus schrieb:
otze schrieb:
Zeus schrieb:
Xin schrieb:
class B : public A<B>
Hat doch schon ein kluger Mann in diesem Thread gemacht.
CRTP ist was man damit macht. Das da oben ist nur ein Sprachmittel.
Häh?
Wette gewonnen...
Besten Dank für den klugen Mann.
-
Hauptsächlich geht es hier darum Wörter so zu definieren, dass man Recht hat.
-
Xin schrieb:
Wir können nie davon ausgehen, dass wir Worte mit der identischen Semantik verwenden. Wenn wir das tun, sind Missverständnisse hochwahrscheinlich, also ist die Kommunikation fehlerhaft. Deswegen bringt es - imho - auch nichts, die ausgefallensten Buzzwords parat zu haben, weil man sich sowieso erst abgleichen muss. CRTP ist so ein Buzzword, dass ich so oder so erst abfragen würde, ob überhaupt das gleiche gemeint ist. Wenn ich sowieso frage, was gemeint ist, brauche ich mir das auch nicht zu merken und es ist zu selten, als dass es in meinem aktiven Wortschatz ist.
gerade das fachjargon (darum ging es doch eigentlich?!) erlaubt es leuten einigermaßen effektiv zu kommunizieren, die sich auf grund von sprachbarrieren schlecht verstehen. wer das nicht aendert, hat dann eben probleme zu folgen. so weit meine erfahrung.
-
MrBurns schrieb:
Hauptsächlich geht es hier darum Wörter so zu definieren, dass man Recht hat.
Das ist nicht wirklich auszuschließen. Daher wäre es ja schön, wenn man sich darauf einigen könnte, dass man sich an Definitionen nicht klammern sollte, sondern sie in Frage stellt, um die Idee möglichst verlustfrei zu transportieren.
mezzo mix schrieb:
Xin schrieb:
Wir können nie davon ausgehen, dass wir Worte mit der identischen Semantik verwenden. Wenn wir das tun, sind Missverständnisse hochwahrscheinlich, also ist die Kommunikation fehlerhaft. Deswegen bringt es - imho - auch nichts, die ausgefallensten Buzzwords parat zu haben, weil man sich sowieso erst abgleichen muss. CRTP ist so ein Buzzword, dass ich so oder so erst abfragen würde, ob überhaupt das gleiche gemeint ist. Wenn ich sowieso frage, was gemeint ist, brauche ich mir das auch nicht zu merken und es ist zu selten, als dass es in meinem aktiven Wortschatz ist.
gerade das fachjargon (darum ging es doch eigentlich?!) erlaubt es leuten einigermaßen effektiv zu kommunizieren, die sich auf grund von sprachbarrieren schlecht verstehen. wer das nicht aendert, hat dann eben probleme zu folgen. so weit meine erfahrung.
Nie bestritten.
Meine Erfahrung - nicht nur in diesem Thread - ist aber, dass man sich darauf nicht verlassen sollte. Wenn jeder glaubt alles verstanden zu haben, war die Kommunikation zwar effektiv, aber nicht zielführend. Nutzt ja nichts, wenn effektiv ein Bild vermittelt wurde, aber jeder ein anderes hat. ^^Sich auf einem zweiten Weg abzusichern, bei dem man explizit andere Vokabeln verwendet, kann helfen. Sehr schön sind dann auch unbeteiligte Dritte, die einfach mal passende Fragen zu seinem Verständnis in den Raum werfen und guckt, ob beide Seiten eine übereinstimmende Antwort liefern.