Gibt es einen Grund, warum ein Semikolon anstelle eines anderen Symbols als Zeilenabschluss gewählt wurde?
Ich möchte die Geschichte hinter dieser Entscheidung kennen und hoffe, dass die Antworten zu Einsichten führen, die zukünftige Entscheidungen beeinflussen können.
programming-languages
syntax
Ein Coder
quelle
quelle
Antworten:
Im Englischen wird das Semikolon beispielsweise zum Trennen von Elementen in einer Anweisungsliste verwendet
Wenn Sie beim Programmieren mehrere Anweisungen trennen und einen Punkt verwenden, kann dies leicht zu einem Dezimalpunkt führen. Die Verwendung des Semikolons bietet eine einfach zu analysierende Methode zum Trennen der einzelnen Programmanweisungen, wobei die normale englische Zeichensetzung beibehalten wird.
Bearbeiten zum Hinzufügen
In den Anfangszeiten, als Speicher teuer und die Verarbeitung langsam war und die ersten Programmiersprachen entwickelt wurden, war es erforderlich, das Programm zur Verarbeitung in separate Anweisungen aufzuteilen. Einige Sprachen erforderten, dass jede Anweisung in eine Zeile gesetzt wurde, damit der Wagenrücklauf als Anweisungsbegrenzer fungieren konnte. Andere Sprachen erlaubten ein freieres Format für das Textlayout und erforderten daher ein bestimmtes Trennzeichen. Dieses Zeichen wurde als Semikolon ausgewählt, höchstwahrscheinlich aufgrund der Ähnlichkeit mit seiner Verwendung in der englischen Sprache (dies muss eine Vermutung sein; ich war zu diesem Zeitpunkt nicht da) und da es keinen Konflikt mit der anderen Zeichensetzung erzeugte Zeichen und Symbole, die für mathematische oder andere syntaktische Zwecke benötigt wurden.
Erneut bearbeiten
Die Notwendigkeit für ein Abschlusszeichen geht zurück auf die Anforderungen für das Parsen des Sprachtextes. Die frühen Compiler wurden in Assembler-Sprache oder in einigen Fällen direkt in Handarbeit erstellten binären Maschinenanweisungen geschrieben. Ein Sonderzeichen, das das Ende der Anweisung identifiziert und den zu verarbeitenden Textabschnitt begrenzt, erleichtert die Verarbeitung erheblich. Wie ich oben sagte, haben andere Sprachen den Wagenrücklauf oder Klammern verwendet. Algol, Pascal, Ada, BCPL, B, C, PL / M und andere Sprachfamilien verwenden zufällig das Semikolon. Was die erste Person betrifft, die diesen speziellen Charakter benutzte, gehe ich in der Geschichte nicht weit genug zurück, um mich zu erinnern. Seine Wahl und Annahme ist als vollkommen sinnvoll
Abschließend denke ich, dass mehr Zeit für diese Antworten und Kommentare aufgewendet wurde, als für die Entscheidung, das Semikolon zum Beenden einer Anweisung bei der Gestaltung der ersten Sprache zu verwenden, in der es auf diese Weise verwendet wurde.
quelle
Viele Sprachen verwenden eine Syntax, die C nachempfunden ist (die B nachempfunden ist - danke @Crollster). Wie aus den Kommentaren hervorgeht, gibt es eine lange Kette solcher Sprachen ... B wurde von PL / I inspiriert, dem ALGOL bei der Verwendung von
;
als Trennzeichen vorausging .Da in C das Anweisungsende steht
;
, folgen diese Sprachen.Was den Grund betrifft, warum es in C als Anweisungsbegrenzer ausgewählt wurde - möglicherweise aufgrund seiner Verwendung in Englisch, um "voneinander abhängige Anweisungen anzuzeigen" .
C wurde auch auf dem PDP-11 zu einer Zeit erfunden, in der nur begrenzter Speicher für Zeichensätze zur Verfügung stand, sodass die Erfinder der Sprachen innerhalb dieser Einschränkungen arbeiten mussten.
quelle
FORTRAN verwendete den Wagenrücklauf, um Anweisungen abzugrenzen. Verwendeter COBOL-Zeitraum. LISP hat nichts benutzt und sich bei allem auf Klammern verlassen. ALGOL war die erste Sprache, die Semikolon zur Trennung von Anweisungen verwendete. PASCAL folgte dem Beispiel von ALGOL und verwendete Semikolon, um Anweisungen zu trennen.
PL / I hat ein Semikolon zum Beenden von Anweisungen verwendet. Es gibt einen Unterschied, der in PASCAL leicht zu erkennen ist. Ada folgte PL / I in diesem Punkt und nicht ALGOLs.
Semikolon als Trenn- oder Abschlusszeichen für Anweisungen wurde von der Informatik-Community schnell als nützliche Notation akzeptiert, und meines Wissens folgte jede nachfolgende blockstrukturierte Sprache dem Vorbild von ALGOL und verwendete Semikolon, um Anweisungen zu trennen oder zu beenden.
Ich war vor vielen Jahren gesagt , dass BCPL sowohl Semikolon verwendet und Wagenrücklauf als Anweisung Separatoren / Abbrechern, aber ich habe nie die Sprache selbst und bin nicht in der Lage , dies zu überprüfen. Irgendwann wurde die Verwendung des Wagenrücklaufs zum Trennen oder Beenden von Anweisungen von den BCPL-Nachkommen gestrichen. BCPL zeugte B, B zeugte C, C zeugte C ++, Java, D und eine ganze Reihe von Dingen, die wesentlich weniger durchdacht waren als PASCAL und Ada.
quelle
Einige Sprachen haben andere Symbole verwendet - alte Versionen von BASIC verwendeten stattdessen zum Beispiel einen Doppelpunkt.
Wenn man die wenigen Ausnahmen ignoriert, gibt es meines Erachtens zwei Hauptgründe. Das erste ist, dass Sie einfach nach etwas Eindeutigem suchen. Wenn in einem typischen Parser ein ausreichend schwerwiegender Fehler auftritt, mit dem Sie die aktuelle Anweisung nicht weiter analysieren können, versuchen Sie normalerweise, den Parser wieder zu synchronisieren, indem Sie einfach zum Anweisungsabschluss springen und den Parser von der aus neu starten Beginn der nächsten Aussage. Zu diesem Zweck möchten Sie etwas, das normalerweise nirgendwo anders im Code vorkommt, und ein Semikolon ist zufällig ein Symbol mit wenig anderer Bedeutung, sodass es ziemlich einfach ist, es diesem Zweck zu widmen.
Der zweite Grund ist etwas ähnlich, zielt jedoch mehr auf Leute ab, die den Code lesen / benutzen. Wieder kommt es auf die Tatsache zurück, dass das tatsächliche Symbol, das Sie verwenden, nicht viel ausmacht. Die Lesbarkeit hat einen erheblichen Vorteil, wenn Sie das Symbol verwenden, das Ihr Leser für einen bestimmten Zweck zu sehen gewohnt ist, wenn und wann immer dies möglich ist. Das bedeutet nicht, dass C die perfekte Syntax ist und alles andere sklavisch folgen sollte, aber es bedeutet, dass genug Leute mit diesem Syntaxstil vertraut sind, dass eine vage ähnliche Sprache durch das Befolgen viel (und sehr wenig) verliert ungefähr die gleiche Syntax, wo es kann.
Ich stelle fest, dass dies dem Entwerfen von fast jedem anderen Programm ähnelt. Wenn ich ein Programm schreibe, das Windows verwendet, werde ich versuchen, nur die nativen Funktionen der Zielplattform (en) zu verwenden. Viele der Entscheidungen, die verkörpert werden, sind größtenteils willkürlich und können anders getroffen werden, ohne dass die Funktionalität wesentlich beeinträchtigt wird. Ebenso verwirrt eine Änderung der Entscheidungen die Benutzer, ohne dass sie etwas Nützliches bewirken. Die gleichen Grundprinzipien gelten für "Was sollte Aussagen in einer Sprache beenden (oder trennen)?" als "wie sollte eine Bildlaufleiste aussehen" oder "wie sollte ein Tree Control funktionieren?" In all diesen Fällen ist die Entscheidung größtenteils willkürlich, und die Einheitlichkeit bietet an und für sich einen erheblichen Vorteil.
Ich würde hinzufügen, dass in vielen Sprachen das Gleiche passiert, nur so, wie es die meisten von uns vor dem Programmieren gewohnt sind, dass nur wenige Leute darüber nachdenken. Warum verwendet jeder "+", um die Addition anzuzeigen, oder "-", um die Subtraktion anzuzeigen? Weil die Form des Symbols nicht viel ausmacht, aber jeder, der sich einverstanden erklärt, jedem Symbol die gleiche Bedeutung zu geben, ist sehr wichtig.
quelle
Semikolons wurde ursprünglich in Algol 60 als Erklärung vorgeschlagen Separator , kein Terminator.
Vor Algol 60 war Fortran die einzige Programmiersprache auf hoher Ebene, für die jede Anweisung in einer eigenen Zeile stehen musste. Anweisungen, die sich über mehrere Zeilen erstrecken, wurden wie Do-Loops als merkwürdig und als Anweisungsblöcke angesehen.
Die Designer von Algol 60 haben erkannt, dass Anweisungen eine hierarchische Struktur benötigen (Wenn-Dann-Andern, Do-Loops, Case-Anweisungen usw.) und ineinander verschachtelt werden können. Die Idee, dass jede Aussage in einer eigenen Zeile steht, ergab also keinen Sinn mehr. Sequenzielle Zusammensetzung von Aussagen der Form S1; S2; ...; Sn optional eingeschlossen in beginnen - Ende Klammern genannt wurden zusammengesetzte Anweisungen und passen in die hierarchische Struktur von Aussagen von Algol ins Auge gefasst 60. So, hier das Semikolon eindeutig eine Aussage Separator , kein Terminator.
Dies führte in der Praxis zu Problemen. Algol 60 hatte auch eine "leere Aussage", die durch das Schreiben von nichts angezeigt wurde. Man könnte also " begin S1; end " schreiben, wenn das Semikolon so erscheint, als würde es S1 beenden. Aber der Algol 60-Compiler hat es wirklich als Trennzeichen zwischen S1 und einer unsichtbaren leeren Anweisung behandelt, die darauf folgt. Diese Feinheiten waren für praktische Programmierer ein bisschen viel. Nachdem sie an zeilenorientierte Sprachen wie Assembly und Fortran gewöhnt waren, dachten sie wirklich an Semikolon als Terminator für Anweisungen. Wenn Programme geschrieben wurden, wurde normalerweise ein Semikolon an das Ende der Anweisungen gesetzt, wie folgt:
und das Semikolon sah wirklich wie ein Abschlusszeichen für die erste Anweisung aus. Wenn die Programmierer das Semikolon als Abschlusszeichen behandeln würden, würde die folgende Anweisung einen Syntaxfehler ergeben:
weil das Semikolon das "wenn" abbricht und so das "sonst" baumelt. Die Programmierer waren zutiefst verwirrt.
Daher hat PL / I, der Nachfolger von IBM für das zeilenorientierte Fortran, beschlossen, das Semikolon nicht als Trennzeichen , sondern als Abschlusszeichen für Anweisungen zu verwenden. Die Programmierer waren mit dieser Wahl zufrieden. Die Mehrzahl der Programmiersprachen folgte. (Pascal widersetzte sich dem Trend, aber sein Nachfolger Ada gab es auf.)
[Anmerkung hinzugefügt: Wikipedia-Artikel über Programmiersprachenvergleiche enthält eine schöne Tabelle, in der zusammengefasst ist, wie Semikolon in verschiedenen Programmiersprachen behandelt wird.]
quelle
Dies ist eine reine Vermutungsarbeit, aber wenn man sich eine Standard-QWERTZ-Tastatur ansieht, die auf ASCII-Werte beschränkt ist, wären die natürlichen Zeichen für die Beendigung / Trennung.!?,:; und Wagenrücklauf. von denen!?: sollte sofort für die Annahme mehrerer Schlüssel disqualifiziert werden und die Beendigung der Anweisung wird eine sehr häufige Sache sein. Perioden würden disqualifiziert, weil sie leicht mit Dezimalstellen verwechselt werden, was sie angesichts des begrenzten Platzes der ursprünglichen Computer unnötig kompliziert machen würde, ein Terminator zu sein. Zeilenumbrüche würden disqualifiziert, wenn die Codezeilen möglicherweise länger als die auf einer einzelnen Zeile auf dem Bildschirm angezeigten sind. Daher wäre es schwieriger, ein Programm zu lesen, wenn Zeilen horizontal gescrollt werden müssten. Oder Sie benötigen zusätzliche Zeichen, um eine Fortsetzung in der nächsten Zeile zu erstellen, was wiederum die Komplexität erhöht. das lässt, und; von diesen wird als Option viel häufiger schriftlich verwendet als; Daher wird das Semikolon gewählt, weil es einfacher zu tippen ist, weniger verwirrend, weil es einem Zeichen mit begrenzter Bedeutung eine Bedeutung hinzufügt, und weniger kompliziert, weil Sonderfälle bei seiner Verwendung nicht wirklich existieren.
Das Semikolon wurde gewählt, weil es aufgrund seiner Faulheit und Einfachheit das beste Zeichen war.
quelle
Es ist größtenteils eine willkürliche Wahl. Einige Sprachen haben andere Entscheidungen getroffen. COBOL beendet Anweisungen mit dem
.
Zeichen. FORTRAN, BASIC und Python beenden Anweisungen im Allgemeinen mit Zeilenumbrüchen (mit spezieller Syntax für mehrzeilige Anweisungen). Und Lisp setzt seine Aussagen in Klammern.Der Hauptgrund
;
, der als Trennzeichen / Abschlusszeichen für Anweisungen so beliebt ist, ist, dass die meisten der heute gängigen Sprachen auf ALGOL basieren , das diese Konvention verwendet.Welches andere Symbol könntest du wählen?
Die ASCII-Zeichen # $ @ [] ^ _ `{|} ~ waren in frühen Zeichenkodierungen wie ISO 646 nicht immer vorhanden .
Die Zeichen
()*+-/<=>
werden normalerweise als mathematische Operatoren verwendet und würden bei Verwendung als Anweisungsabschlusszeichen zu mehrdeutigen Syntaxanalysen führen.Ähnliche Probleme würden bei
'
und auftreten"
, die typischerweise als Zeichenkettenbegrenzer verwendet werden.,
, das normalerweise zum Trennen von Funktionsargumenten verwendet wird, und.
das normalerweise als Dezimalpunkt (oder als Begrenzer in Konstrukten wiesome_struct.some_field
) verwendet wird.Das geht
!%&:;?
.Die Wahl von
!
oder?
würde wahrscheinlich keine technischen Schwierigkeiten verursachen, aber ihre englische Bedeutung würde dem Programm die falsche Stimmung verleihen.Das
&
wäre eine vernünftigere Wahl als Anweisungstrennzeichen (nicht als Abschlusszeichen), weilkann als Befehl gelesen werden, um etwas A und dann etwas B zu tun. Die meisten Sprachen mit einem
&
Operator verwenden es jedoch als logisches oder bitweises UND .Das
%
Vorzeichen kann in Anweisungen wie verwirrend seininterest_rate = 2.99%
(die die Variable auf2.99
anstelle der erwarteten setzen würden0.0299
). Natürlich hat die bekannte mathematische Bedeutung von%
C nicht daran gehindert, sie als Restoperator zu verwenden.Also das geht
:
und;
.:
ist eine vernünftige Wahl und wird in der Tat in den meisten Dialekten von BASIC als Trennzeichen zwischen Zeilen verwendet.Hat
;
aber die englische Grammatik auf seiner Seite; Es kann verwendet werden, um Klauseln innerhalb eines Satzes zu trennen.quelle
Anstatt zu versuchen, Ihre Leitfrage zu beantworten, ist es meiner Meinung nach besser, sich auf Ihre implizite Frage zu konzentrieren:
Wenn Sie mehr über das Design und die Implementierungshistorie von Programmiersprachen erfahren und einen besseren Einblick in den Prozess erhalten möchten, ist der Ablauf der Konferenz zur Geschichte der Programmiersprachen ein sehr guter Anfang. (Ich denke, Sie benötigen eine ACM-Mitgliedschaft, um auf das Verfahren zugreifen zu können.)
Anhand Ihrer Überschriftenfrage als Beispielfrage, die Sie möglicherweise anhand des HOPL-Verfahrens beantworten möchten, möchte ich Folgendes anführen: Leute, die eine neue Programmiersprache entwerfen, tun dies normalerweise, weil sie die betrachten, die sie kennen irgendwie kaputt / mangelhaft. Ihre neue Sprache soll einerseits diesen Mangel beheben. Andererseits kopieren Sprachdesigner auch Designelemente aus anderen Sprachen, die sie für gut halten, oder ändern einfach nicht die Elemente, mit denen sie kein Problem hatten.
Insbesondere der letzte Teil ist wichtig: Anstatt herauszufinden, welche Programmiersprache als erstes Semikolon als Abschlusszeichen verwendet hat und warum viele andere Programmiersprachen dies kopiert haben, werden Sie wahrscheinlich mehr lernen, indem Sie sich Sprachen ansehen, die nicht kopiert wurden es. Smalltalk zum Beispiel ließ sich zwar stark von Simula inspirieren, tat es aber nichtKopieren Sie die Syntax und insbesondere die Verwendung von Semikolons als Abschlusszeichen. Es hat die Abschlusszeichen (Trennzeichen wirklich) zu einem Punkt geändert und verwendet das Semikolon für etwas anderes. Umgekehrt könnte die erste Sprache, die jemals ein Semikolon als Anweisungsabschluss verwendet hat, einen Grund gehabt haben, dies von der Sprache zu ändern, die zuvor verwendet wurde. Es ist auch möglich, dass es die erste Sprache war, die das gesamte Konzept eines Anweisungsabschlusszeichens eingeführt hat (oder dies unabhängig von anderen Sprachen getan hat), und dass das Semikolon aus irgendeinem Grund verwendet wurde, der jetzt für die Zeit verloren ist. (Ich vermute, dass letzteres der Fall ist, da keiner der anderen Befragten in der Lage war, ein Zitat von der Person zu erheben, die das Semikolon eingeführt hat, anstatt nachgerüstete Annahmen darüber zu machen, warum das Semikolon eine gute Wahl war.) Punkt, Ich denke, Sie werden mehr lernen, wenn Sie sich ansehen, warum Sprachdesigner Dinge geändert haben, anstatt warum sie sie kopiert / aufbewahrt haben. Wenn Menschen Dinge ändern, die sie normalerweise wollen oder erklären müssen, tun sie dies nicht, wenn sie Dinge kopieren oder beibehalten, weil „warum sollten wir es ändern? So wird's gemacht! “
quelle
Es geht um Sichtbarkeit.
Frühe Anweisungstrennzeichen waren das '.' wie in COBOL und neuer Zeile, Wagenrücklauf in FORTRAN.
Die CR erwies sich als einschränkend, da es schwierig ist, eine Aussage über mehrere Zeilen zu verteilen.
Punkthaltigkeit verursachte ein interessanteres Problem. Wenn Sie englischen Text lesen, verarbeitet Ihr Gehirn die Punkte auf einer unterschwelligen Ebene. Sie sind sich bewusst, dass ein Satz beendet ist, und Sie können eine Atempause einlegen, aber Sie bemerken das nicht wirklich. das signalisierte es. Auch in vielen Schriften das '.' ist das kleinstmögliche Zeichen, das manchmal als einzelnes Pixel gerendert wird. Fehlende oder zusätzliche Punkte waren die häufigste Fehlerursache in COBOL-Programmen.
Aus frühen Fehlern lernen ALGOL wählt also einen bestimmten Terminator aus, der den Ablauf einer Anweisung über mehrere Zeilen hinweg ermöglicht, und einen, der für den menschlichen Leser sichtbar und leicht erkennbar ist. Das Semikolon ist im gewöhnlichen Englisch sowohl groß als auch ungewöhnlich genug, um nicht unbewusst verarbeitet zu werden.
quelle
Meines Erachtens wurde es gewählt, weil ein expliziter Anweisungsabschluss erforderlich war, der sich von einem Wagenrücklauf / einer neuen Zeile unterscheidet. In den Tagen von 80-Spalten-Bildschirmen war es häufig genug, eine einzige Codezeile über mehrere Zeilen zu verteilen, sodass die Verwendung von \ r oder \ n für den Anweisungsabschluss nicht funktioniert.
Semikolons waren nur praktisch, weil sie in logischen / mathematischen Anweisungen nicht verwendet werden. Insofern stehen sie in keinem wesentlichen Widerspruch zum tatsächlichen Inhalt der Aussagen.
Persönlich halte ich die fortgesetzte Verwendung des Semikolons zusammen mit den Stilanforderungen, um Zeilen unter 80 Zeichen zu halten, für aufrichtig dumm und anachronistisch. Sprachen wie Python haben ausführlich demonstriert, dass Sie ohne sie leichter verständlichen und prägnanten Code schreiben können. Wenn Sie Probleme mit Zeilen haben, die länger als 80 Zeichen sind, benötigen Sie einen größeren Monitor.
quelle
Hier sind zwei Fragen: Warum ALGOL Semikolon bekam und warum andere Sprachen danach gingen.
Die erste Frage wird hier bereits auf vielfältige Weise beantwortet.
Als zweite wurde The ALGOL sehr häufig als Pseudocodesprache für das Schreiben von Algorithmen verwendet. So wurden Semikolons für Benutzer verschiedener Sprachen schnell zur Selbstverständlichkeit. Und natürlich wurden sie für die jüngeren Sprachen genommen.
quelle
Ich könnte mich irren, aber ich denke, das hat etwas damit zu tun, dass in vielen Assemblern ein Semikolon verwendet wurde, um einen Kommentar zu beginnen, der normalerweise nach einer Anweisung gesetzt wird. Alles nach a
;
war ein Kommentar und nicht mehr Teil der Anweisung.In diesem Fall müssen die Anweisungen beendet werden, wenn Sie sie in einen Interpreter eingeben. Kurzbefehle (z. B. mathematische Ausdrücke) können durch einfaches Drücken der Eingabetaste beendet werden, um dem Interpreter mitzuteilen, dass der Ausdruck berechnet werden kann und ein Ergebnis liefert. Manchmal wollte man jedoch mehrere Codezeilen für den Befehl eingeben. Eine Möglichkeit, dies zu erreichen, bestand darin, ein Sonderzeichen als Abschlusszeichen für den Befehl zu verwenden, anstatt nur von der Eingabetaste abzuhängen. Auf diese Weise kann der Benutzer mehrere Codezeilen gleichzeitig eingeben, da die Eingabetaste sie noch nicht an den Interpreter gesendet hat. Erst wenn der Interpreter das Abschlusszeichen in einer mit Enter eingegebenen Zeile findet, führt er es endgültig aus und berechnet sein Ergebnis.
Kombinieren Sie nun diese beiden Dinge, und das Semikolon scheint eine naheliegende Wahl für das abschließende Zeichen zu sein: Es gibt an, wo der Anweisungsteil endet und der Kommentarteil beginnt Alle Zeilen des Ausdrucks wurden bisher gepuffert und ausgeführt, da die Anweisung gerade beendet wurde. Jetzt befinden wir uns in einem Kommentar (zumindest bis zum Ende dieser Zeile, da die nächste Zeile im Code beginnt wieder in den Modus, einen neuen Ausdruck / eine neue Anweisung beginnen).
Dies setzt natürlich voraus, dass es wirklich das Semikolon war, das für Kommentare von der Person verwendet wurde, die auf die Idee gekommen ist, es als Anweisungsbeendigungszeichen wiederzuverwenden. Wäre es irgendein anderes Zeichen gewesen, hätten wir möglicherweise einen anderen Anweisungsabschluss erhalten.
Inb4: Nein, dies ist kein historischer Bericht. Ich habe keine Beweise dafür, dass Semikolons auf diese Weise zum Leben erweckt wurden. Es ist nur so, wie ich es mir vorstellen kann.
quelle
Die meisten Sprachen verwendeten das Semikolon, da es zu diesem Zweck bereits weit verbreitet war und Änderungen keinen Sinn machten.
Und wenn Sie die ersten Sprachen berücksichtigen, die diese Wahl treffen, müssen Sie sich überlegen, welche Alternativen es gibt. Wenn Sie eine Sprache entwerfen, möchten Sie, dass die erforderlichen Zeichen verfügbar sind. Zu diesem Zeitpunkt wurden die Zeichensätze mit 6 Bits codiert, wobei häufig einige Muster reserviert und einige Zeichen nicht fest definiert sind nationalen Varianten der ISO-646 - die US - Variante kennen ist auch unter dem Namen ASCII - , die die Codes für „gemeinsame“ Zeichen wiederverwenden wie
[
,#
oder$
, und die Wirkung in einem Kontext sehen , wo es nur halb so viele Codepositionen sind und Buchstaben und Ziffern, von denen mehr als die Hälfte reserviert sind).Es gab wahrscheinlich kein anderes Zeichen, das als Anweisungstrennzeichen so intuitiv verwendet werden konnte (
.
ist wahrscheinlich bereits der einzige ernstzunehmende Anwärter für dieses Kriterium) und zu einer Zeit, als die Parsing- und Lexingtheorie noch in der Ausarbeitung war (.
ist ), ohne lexing- oder parsing-Schwierigkeiten einzuführen nicht in Frage wegen seiner Verwendung in reellen Zahlen).quelle
Ein weiterer Grund für die Verwendung von Semikolon ist, dass es sich um eines der Zeichen handelt, die wir nicht benötigen oder häufiger verwenden.
Nehmen wir an, wir verwenden es häufiger als Variablennamen oder ähnliches und wenn Semikolon als Schlüsselwort oder als Operator verwendet worden wäre, wäre dies ein Symbolkonflikt für den Compiler gewesen, daher war es wichtig, ein Symbol zu verwenden, das nicht verwendet wird oft in der Codierung verwendet.
Ich glaube, Programmiersprachen im C-Stil haben es populär gemacht, und dann wollten die Autoren neuer Programmiersprachen das Rad nicht neu erfinden, und sie haben es bis jetzt weiter verwendet.
quelle