Das ist aber schon ein ziemlich seltsames Kriterium. Es ist doch viel sinnvoller, statt namensgleicher Schlüsselwörter die jeweiligen Konzepte der verschiedenen Programmiersprachen zu vergleichen. [...] Das ist aber schon ein ziemlich seltsames Kriterium. Es ist doch viel sinnvoller, statt namensgleicher Schlüsselwörter die jeweiligen Konzepte der verschiedenen Programmiersprachen zu vergleichen.
Nein, der Vergleich hinkt etwas.
Verschiedene Namen, die das Gleiche machen findest du häufig. Gleiche Namen, die verschiedenes machen, sind allerdings selten.
Wie gesagt, kennst du denn eine Sprache, die switch-case (unter diesem Namen) verwendet, das etwas anderes macht als Gleichheitsprüfung?
Ich denke, es gibt schon einen Grund, warum man so eisern daran festhält. Hab mich nicht ausgibig damit beschäftigt, aber mit scheint, dass switch/case von der Funktionsweise her noch ziemlich an Assembler angelehnt ist. Der Switch-Befehl springt anhand einer Tabelle einfach in die passende Code-Zeile (Wert == 5 -> Zeile 14, 6 -> Zeile 17, ...), da wird dann weitergemacht. Deshalb muss am Ende auch ein break oder return stehen, sonst fällt man in den nächsten Bereich rein, selbst wenn dessen Bedingung nicht gegeben ist. So was hast du mit if-then-else nicht, das kann nur switch.
Mittlerweile führt die Java-Version von Switch einen equals-Befehl aus (ging früher nicht, da musste man Strings manuell prüfen, dafür durfte früher der Wert auch null sein, das darf er jetzt nicht mehr), damit wird ist die Sache mit den Tabellen gegessen, das geht wirklich nur, wenn man vorgegebene fixe Werte hat. Mittlerweile ist man weg vom speicher- und resourcenschonenden Programmieren und ist dafür beim lesbaren Programmieren angekommen, das ist wichtiger.