Jede Programmiersprache hat ihre eigenen „Macken“, wie zum Beispiel seltsame Syntax, einzigartige Funktionen oder nicht standardmäßige Implementierungsmethoden. Programmierer haben auch ihre eigenen Gewohnheiten, die viele Programmierer, sogar einige erfahrene Entwickler, verrückt machen, wenn sie mit einer neuen Sprache konfrontiert werden. Die Funktionen dieser Sprachen werden manchmal zu Stolpersteinen für Programmierer, und manchmal verstehen Programmierer diese Funktionen langsam und passen sich ihnen allmählich an und mögen sie. Obwohl es in allen Sprachen unzählige Funktionen gibt, diskutieren Programmierer nicht so viele. In diesem Artikel haben wir die zehn seltsamsten Funktionen von Programmiersprachen aufgelistet, die Programmierer am meisten in den Wahnsinn treiben.
1. „+“ ist in JavaScript ein Verbindungsoperator.
Seltsame Funktion: In JavaScript ist „+“ ein überladener Operator, der das Pluszeichen zwischen Zahlen (+) darstellt auch eine Verbindung zwischen Saiten. Wenn in einer „+“-Operation einer der Operanden eine Zeichenfolge ist, konvertiert JavaScript den anderen Operanden in eine Zeichenfolge. Zu diesem Zeitpunkt ist „+“ ein Verkettungsoperator, sodass das Ergebnis von „1“ + 1 „11“ ist '.
Ursachenanalyse: Die Hauptursache dieses Problems liegt darin, dass JavaScript eine schwach typisierte Sprache ist. Obwohl „+“ wie Python auch ein Verbindungsoperator zwischen Zeichenfolgen ist, ist Python eine stark typisierte Sprache. Wenn Programmierer Zeichenfolgen und Ganzzahlen addieren möchten, meldet das Programm einen Fehler.
2. Eine Klasse in Perl muss TRUE zurückgeben
Seltsame Funktion: Klassen in Perl-Sprache enden oft mit einer return 1-Anweisung, denn wenn die letzte in der Klasse die Anweisung ist Gibt keinen TRUE-Wert zurück, tritt ein Fehler auf.
Ursachenanalyse: Klassen in Perl können einige Initialisierungsarbeiten und Unterroutinen enthalten. Wenn die Datei geladen ist, beginnt Perl zu prüfen, ob das Programm erfolgreich ausgeführt wurde, indem es nach einem TRUE-Rückgabewert sucht. Auch wenn die Klasse keinen Initialisierungscodeteil enthält, erwartet Perl, dass die Klasse am Ende einen TRUE-Wert zurückgibt, andernfalls wird eine Ausnahme ausgelöst.
3. Trigramme in C und C++
Seltsame Funktion: C und C++ unterstützen 9 Trigramme, die das Trigramm vor der anschließenden Verarbeitung von Zeichen wie „??!“ umwandeln in / konvertiert werden, wodurch der Quellcode schwerer lesbar wird und manchmal unerwartete Probleme auftreten.
Ursachenanalyse: Die Drei-Zeichen-Gruppe wurde ursprünglich verwendet, um frühen C-Programmierern bei der Eingabe einiger Zeichen zu helfen, die auf der Tastatur nicht verfügbar waren, wie z. B. geschweifte Klammern.
4. Groß-/Kleinschreibung in PHP
Seltsame Funktion: Bei Bezeichnern wird in vielen Programmiersprachen die Groß-/Kleinschreibung beachtet, in PHP-Funktions- und Klassennamen wird die Groß-/Kleinschreibung jedoch nicht beachtet. Das ist in Ordnung, aber was Programmierer am meisten verwirrt, ist, dass bei den Variablennamen, Konstanten und Klassenattributen von PHP die Groß-/Kleinschreibung beachtet wird.
Ursachenanalyse: Höchstwahrscheinlich handelt es sich bei PHP um eine Programmiersprache, die sich nach und nach aus CGI-Skripten entwickelt hat.
5. 0 in Ruby steht für TRUE
Seltsames Merkmal: In Ruby steht der Wert 0 für TRUE, was im völligen Gegensatz zu anderen Sprachen wie C und Python steht Diese 0 in der Sprache steht für FALSE, was viele Entwickler verwirrt, die neu bei Ruby sind.
Ursachenanalyse: In Ruby sind nur die Bool-Werte FALSE und Null gleich FALSE, alle anderen sind TRUE und 0 ist dasselbe wie andere Zahlen.
6. Verwenden Sie Leerzeichen, um „Blöcke“ in Python zu trennen
Seltsame Funktion: Es werden weder Satzzeichen noch Schlüsselwörter verwendet, um zu bestimmen, zu welchem Teil eine bestimmte Codezeile gehört. Die falsche Anzahl an Leerzeichen oder das Mischen von Leerzeichen und Tabulatortasten kann zu Fehlern führen.
Ursachenanalyse: Dies hängt möglicherweise mit den Bemühungen von Python zusammen, besser lesbaren Code zu erstellen und die Eingabe zu reduzieren, und viele Code-Editoren unterstützen jetzt die automatische Einrückung.
7. Array-Subskription in C-Sprache ist wie Zeigerarithmetik
Seltsame Funktion: Zeiger in C-Sprache werden zusätzlich zur Behandlung von i als Index in Array a dargestellt als a [i], C ermöglicht auch die Darstellung desselben Elements als i[a].
Ursachenanalyse: In der C-Sprache sind Arrays wie Zeiger im Speicher, also a[i] = *(a+i) = *(i+a) = i[a].
8. Vordefinierte Variablen in Perl
Seltsames Feature: Perl hat eine lange Liste spezieller Variablen, und alle haben verwirrende Namen. Diejenigen, die keine Perl-Experten sind, müssen oft die Perl-Dokumentation zu Rate ziehen, um die Bedeutung dieser Codes zu verstehen.
Ursachenanalyse: Diese Variablen liefern normalerweise einige Informationen über die Programmausführung, wie z. B. Prozess-ID ($$), Fehlermeldung ($@) und Übereinstimmung mit regulären Ausdrücken ($^R).
9. JavaScript fügt automatisch ein Semikolon ein
Seltsame Funktion: JavaScript behandelt die Verwendung eines Semikolons als Ende einer Anweisung nur als Option, da es automatisch ein Semikolon einfügt, z. B. nachher ein Newline-Zeichen. Dies führt jedoch normalerweise zu einem Fehler, wenn keine Ausnahme ausgelöst wird.
Ursachenanalyse: Das Semikolon wird der Einfachheit halber eingefügt, damit Programmierer, insbesondere Programmieranfänger, die JavaScript-Syntax sehr einfach finden.
10. Typkonvertierung mit Integer in Java
Seltsame Funktion: Java konvertiert automatisch den ursprünglichen Typ in ein Objekt, z. B. den Typ int in ein Integer-Objekt, die Standardeinstellung Ganzzahlobjekt Der Wert liegt zwischen -128 und 127. Dies kann zu Problemen führen, wenn „==“ zum Vergleichen zweier Ganzzahlen mit demselben Wert verwendet wird (gibt nur TRUE zurück, wenn -128-127, andernfalls FALSE).
Ursachenanalyse: Durch diese Konvertierung wird die Codemenge für Programmierer reduziert und die Leistung verbessert.