Diskussion:Vergleichsoperator
Viel größer/kleiner als
Was ist mit Operatoren wie ">>" (viel größer als) und "<<" (viel kleiner als)?
Die Operatoren "<<" und ">>" sind mir bisher in der Programmierung nur als Bit-Operatoren bekannt. Eine Bedeutung wie viel größer als oder viel kleiner als würde ja zumindest in der Programmierung auch nur wehnig Sinn machen, denn wie soll man viel definieren. Auch in der Mathematik sind mir solche "viel größer als"-Operatoren nicht begegnet. --Computator 22:17, 14. Mär. 2008 (CET)
Im Mathematik und Physik-Schulunterricht ist mir das schon begegnet. Das war aber nur eine Kurzschreibweise um zu verdeutlichen, dass eine Variabel deutlich größer als eine andere ist (um mehrere Dezimalstellen), bei den Gültigkeitsvorraussetzungen, was unter Umständen für Aufgabenstellungen oder Herleitungen bedeutsam sein konnte, in denen keine genauen Werte verwendet werden konnte. Ein Beispiel, das mir spontan einfällt, aus der Wellenoptik, ist die mathematische Beschreibung des Doppelspaltexperiment, wo die Kleinwinkelnäherung verwendet werden kann, wenn d >> a (also d deutlich größer als a ist). Es handelt sich dann aber eher um eine Abkürzung, als um einen Vergleichsoperator.--JMK4189 23:36, 19. Aug. 2008 (CEST)
"Es handelt sich dann aber eher um eine Abkürzung, als um einen Vergleichsoperator." Ich überlege gerade, ob diese Schlussfolgerung wirklich stimmt.--JMK4189 16:01, 20. Aug. 2008 (CEST)
- Ich denke, daß sie nicht stimmt. Wenn a „groß gegen“ b ist (das ist die Formulierung, die ich kenne), ist es jedenfalls auch größer als b (wobei der Umkehrschluß nicht stimmt).
- Diese Operatoren passen sicherlich schlecht in die Tabelle. Da Vergleichsoperatoren aber nicht dadurch definiert sind, daß sie in Programmiersprachen realisiert sind bzw. werden können, sollten wir sie jedenfalls erwähnen; vielleicht unter einer Überschrift „Unscharfe Vergleiche“ o. ä. --Tobias 14:01, 9. Mär. 2010 (CET)
Einträge von Programmiersprachen
Sollte man in der Spalte, wo "C, C++, Java, C#" als Überschrift steht, nicht auch PHP auflisten? PHP ist ja ziemlich polulär und gebräuchlich. Ich denke auch, das mehr Menschen PHP benutzen als C, C++ usw, von daher ist es auch wieder eine Hilfe. --J monday 00:01, 19. Jan. 2008 (CET)
In der Spalte "C, C++, Java, PHP, C#" müsste auch noch JavaScript stehen. PHP und Lua sind ja schließlich auch "nur" Scriptsprachen. Außerdem dürfte der Bekanntheitsgrad von JavaScript sehr hoch sein. (Ich hatte damals meine Signatur vergessen.) --Computator 19:12, 9. Jan. 2009 (CET)
ungleich mit #
Ich kenne aus der Programmiersprache Oberon2 ungleich als #. Gibt es noch weitere Programmiersprachen in denen # vorkommt? Oberon2 ist jetzt nicht gerade so bekannt, als das ich es neben C++ und Java auflisten würde. -- JMK4189 17:26, 18. Mai 2008 (CEST)
Markierung mit (*) ist absolut unübersichtlich
Hallo, die Markierung mit eine * ist doch absolut unübersichtlich. Man weiß nicht, ob das nun zum Operator gehört oder nicht. --Wikieditoroftoday (disk.) 00:12, 11. Nov. 2008 (CET)
- Ich stimme dir da zu. Vielleicht sollte man für PHP eine extra Spalte einfügen, denn es gibt noch weitere Besonderheiten. So kennt PHP für "ungleich" auch <> und nicht nur !=. Ein kurzer Satz zur Besonderheit von == und != vs. === und == sollte als Erläuterung auch drin sein. 23:11, 24. Nov. 2008 (CET)
- Ich halte das auch für unverständlich oder zumindest für verwirrend. Daher habe ich jetzt mal PHP in eine eigene Spalte in der Tabelle überführt. --BSDev 20:08, 9. Jan. 2009 (CET)
Java identisch und gleich
in Java ist identisch der == Operator und die Gleichheit wird mit .equals festgestellt. Die Tabelle ist daher nicht ganz korrekt. (Der vorstehende, nicht signierte Beitrag – siehe dazu Hilfe:Signatur – stammt von 132.252.242.14 (Diskussion • Beiträge) 12:11, 13. Dez. 2008)
- Vielleicht sollte man unter der Tabelle Besonderheiten in einzelnen Sprachen kurz erläutern. Das würde sich bei PHP, Java und C# hierbei anbieten. --BSDev 20:15, 9. Jan. 2009 (CET)
- Dem würde ich nicht ganz zustimmen. Mit == wird bei einfachen Datentypen, wie Ganzzahlen oder Gleitkommazahlen, die Gleichheit überprüft. Handelt es sich allerdings um zusammengesetzte Datentypen, wie z.B. Arrays, wird in der Tat nicht auf Gleichheit, sondern auf Identisch geprüft. Dort ist, wie du sagst .equals nötig. Das liegt daran, dass in Wirklichkeit nur die Referenzen auf den Speicher, in dem das Array liegt verglichen wird und die ist auch bei gleichen, unabhängigen Arrays nunmal unterschiedlich. --JMK4189 16:53, 11. Jan. 2009 (CET)
- Das klingt sehr danach, als sollten wir wirklich einen Abschnitt für sprachliche Besonderheiten hinzufügen. In C# z.B. ist die Bedeutung von "==" abhängig davon, ob es sich um Wert- oder Referenztypen handelt. -- BSDev (Diskussion) 17:02, 11. Jan. 2009 (CET)
- Ich habe so meine Zweifel, ob das wirklich sinnvoll ist. In diesem Artikel soll ja nicht Programmieren beigebracht werden, sondern es soll ein Überblick über Vergleichsoperatoren und dabei ein kurzer Übersicht über die verschiedenen Schreibweisen in wichtigen Sprachen gegeben werden. Das in Java für die Überprüfung auf Gleichheit von Arrays die Methode .equals verwendet werden muss ist da eher nebensächlich. Es ist ja schließlich auch bei Array eine Überprüfung auf Gleichheit, wenn man == verwendet: Es werden halt ungünstigerweise nur die Referenzen verglichen. Es wäre also nicht einmal Sachlich falsch. Es wäre eher falsch eine Methode als Vergleichsoperator zu bezeichnen. Übrigens: In JavaScript gibt es auch Identischoperatoren (===,!==)[1].--JMK4189 01:56, 14. Jan. 2009 (CET)
Entspricht, ungefähr gleich...
Mir fehlen hier zumindest Hinweise auf solche (zugegebenermaßen unscharfen) Biester wie
- „entspricht“ (≅, wenn ich mich richtig erinnere)
- „ungefähr gleich“ (≈)
- „groß gegen“ bzw. „klein gegen“ (im jeweiligen Kontext wesentlich größer bzw. kleiner; wenn ich mich recht erinnere, als >> bzw. << geschrieben, was zugegebenermaßen bei Programmiersprachen üblicherweise mit dem Shift-Operator belegt ist).
Diese Operatoren sind zwar üblicherweise in Programmiersprachen nicht implementiert (ich kenne jedenfalls kein Gegenbeispiel); dennoch gehören sie m. E. der Vollständigkeit halber aufgeführt. --Tobias 13:49, 9. Mär. 2010 (CET)
Identität
- Python unterstützt dieselben Vergleichsoperatoren wie PHP, mit dem Unterschied, was mit Identität gemeint ist und wie es ausgedrückt wird.
- für (klassisches, also nicht objektorientiertes) Rexx ist alles ein String; mit Strings kann gerechnet werden, solange sie sich (z. B. durch Ignorieren randständiger Leerzeichen usw.) als Zahlen interpretieren lassen. Um die Tabelle nicht zu überfrachten, habe ich zunächst nur entsprechende Anmerkungen zu den Operatoren = und == hinzugefügt; es gibt aber alle numerischen Vergleichsoperatoren auch als String-Versionen (dann ohne numerische Normalisierung, und deshalb schneller; >> statt >, >>= statt >=, etc.), und zusätzlich (in Analogie zum Ungleichheitsoperator) Negationsversionen von größer-gleich (\< als "nicht kleiner") und kleiner-gleich.
Möglicherweise sollten wir die verschiedenen Bedeutungen von Identität in verschiedene Zeilen stecken... dann hätten wir allerdings einige Zeilen, die nur von Rexx bevölkert wären... --Tobias 13:49, 9. Mär. 2010 (CET)
lg le
In Perl und anderen Sprachen gibt es auch vergleiche nur für Text. Ich lgaub wenn wir dafür neue Spalten einfügen wird auch klarer was eigentlich in der shell passiert. Lichtkind (Diskussion) 19:40, 16. Jun. 2020 (CEST)