Warum ist C ++ so wählerisch?

Sie kommen, um schnell zu schätzen wissen, dass C ++ etwa als Richter bei einem Buchstabierwettbewerb so wählerisch ist. Alles muss einfach so sein, oder der Compiler wird es nicht akzeptieren.

Interessanterweise hat es nicht so sein: Einige Sprachen wählen zu versuchen, einen Sinn aus zu machen, was auch immer Sie es geben. Die extremste Version dieser eine Sprache, die von IBM für Großrechner in den 1970er Jahren bekannt als PL / 1 (dies verkündet war stand # 147-Programming Language 1 # 148-). Eine Version dieses Compiler versuchen würde Sinn machen aus, was auch immer man es warf.

Einige Nerds (wer soll namenlos bleiben) verwendet, um immense Spaß während der späten Nächte im Rechenzentrum erhalten, indem der Compiler mit einem Programm zu foltern, bestehend aus nichts anderes als das Wort # 147-IF # 148- oder # 147-WHILE. # 148- Durch einige gequälte Logik, PL / 1 würde ein ganzes Programm aus diesem einen Befehl konstruieren.

Das andere Lager in Programmiersprachen, das Lager, zu dem C ++ gehört, ist gegenteiliger Ansicht: Diese Sprachen zwingen den Programmierer genau zu sagen, was sie will. Alles muss ausgeschrieben werden. Jede Erklärung wird geprüft, gegen jeden und jede Nutzung, um sicherzustellen, dass alles passt. Keine fehlenden Semikolon oder falsch deklariert Etikett bleibt ungestraft.

Es stellt sich heraus, dass die # 147-starke Liebe # 148- Ansatz von C ++ ist tatsächlich effizienter zu gestalten. Das Problem mit der PL / 1 # 147-freie Liebe # 148- Ansatz ist, dass es in seinem Verständnis von fast immer falsch war, was beabsichtigt ist. PL / 1 endete die Schaffung eines Programms auf, die kompiliert aber tat etwas anderes als das, was beabsichtigt war, wenn es ausgeführt wird. C ++ erzeugt einen Compiler-Fehler, wenn etwas nicht überprüfen - Sie zu zwingen, Ihre Absichten klar und eindeutig zum Ausdruck bringen.

Es ist eigentlich viel einfacher, die Kompilierung Fehler erzeugt von C ++ als die so genannten Laufzeitfehler durch einen Compiler erstellt finden und zu beheben, die es annimmt, versteht, was Sie wollen, aber bekommt es falsch.

Menü