Jede Programmiersprache, die ich kenne (Perl, Javascript, PHP, Python, ASP, ActionScript, Commodore Basic) verwendet einfache und doppelte Anführungszeichen zur Abgrenzung von Zeichenketten .
Dies führt dazu, dass man sich immer wieder an folgende Stellen wenden muss große Längen um Anführungszeichen korrekt zu behandeln, da das Anführungszeichen im Inhalt von Zeichenketten sehr häufig vorkommt.
Warum verwenden Programmiersprachen nicht ein anderes Zeichen zur Abgrenzung von Zeichenketten ein Begriff, der im normalen Sprachgebrauch nicht verwendet wird \, | oder { } zum Beispiel), damit wir einfach mit unserem Leben weitermachen können?
Stimmt das, oder übersehe ich etwas? Gibt es eine einfache Möglichkeit, in einer modernen Programmiersprache keine Anführungszeichen mehr für Zeichenketten zu verwenden?
drucken <<<END
Ich weiß von hier dokumentieren Syntax, aber für kleinere Zeichenkettenmanipulationen ist sie übermäßig kompliziert und erschwert die Formatierung.
ENDE;
[UPDATE] Viele von Ihnen haben darauf hingewiesen, wie wichtig es ist, nur ASCII-Zeichen zu verwenden. Ich habe die Beispiele aktualisiert, um dies zu berücksichtigen (die Backslash die Rohr y Hosenträger ).
6 Stimmen
Sie sagen, dass Programmierer gehen müssen große Längen Anführungszeichen in Zeichenketten zu verwenden - aber warum? Ich kenne keine Programmiersprache, die nicht über einen anständigen und recht einfachen Escape-Mechanismus für Anführungszeichen in Strings verfügt.
1 Stimmen
Dafür gibt es viele Gründe: PHP hat magische Anführungszeichen, die manchmal ein- und manchmal ausgeschaltet sind, was bedeutet, dass unerfahrene Programmierer nicht sicher sind, ob sie Anführungszeichen auslassen sollen. Außerdem muss man beim Speichern, Drucken, bei der Verwendung von Funktionen wie eval() usw. immer im Auge behalten, ob eine Zeichenkette escaped ist oder nicht. Und das bedeutet, dass das Risiko einer Sql-Injection für Leute, die keine Best Practices anwenden, dramatisch ansteigt.
0 Stimmen
Wie viele Tastenanschläge benötigen Sie, um diese Zeichen (¤, |, § oder µ) zu erhalten? Alles über 2 ist (IMO) weniger produktiv als die Verwendung von einfachen oder doppelten Anführungszeichen selbst.
1 Stimmen
Das ist bei den meisten Sprachen oder Anwendungen kein Problem. Ihre Kommentare deuten darauf hin, dass es sich um ein Problem bei der Erstellung von MySQL-Abfragen mit PHP und "intelligenten" Anführungszeichen in PHP handelt. Die meisten anderen Sprachen haben keine "intelligenten" Anführungszeichen, und die meisten SQL-Schnittstellen unterstützen vorbereitete Anweisungen.
0 Stimmen
Das ist richtig. Wenn Sie eine Antwort auf diese Frage schreiben wollen, würde ich sie gerne als die beste akzeptieren.
0 Stimmen
Ich bin bei Ihnen. Der Aufwand für die Verwendung eines seltsamen Zeichensatzes zur Abgrenzung einer Zeichenkette ist weitaus geringer als das ständige mühsame Escapen von Anführungszeichen und Testen auf fehlende Escapes. Wir müssen uns darüber im Code Gedanken machen, im Code, der Sql, HTML usw. erzeugt.