Warum denken so viele dass man in C++ gar keine Websites erstellen kann, obwohl das mit CGI ja wohl geht!?
7 Antworten
Dass man mit C-Sprachen ein Backend programmieren kann, kann dir jeder sagen, der sich ein bisschen auskennt. Wobei C# hier deutlich öfter zum Einsatz kommt als C++.
Und nur weil man mit C++ ein Backend programmieren kann heißt das nicht, dass man das unbedingt sollte. Die Stärke von C++ ist, dass es sehr performant und optimierbar ist. Allerdings kann man sich in C++ auch sehr schnell ins eigene Bein schießen, wenn man die Sprache nicht gut beherrscht.
Dass komplette Backends in C++ geschrieben werden, ist daher sehr selten. Stattdessen werden eben lieber Sprachen wie C#, Go, Java, JavaScript/TypeScript oder PHP verwendet, die ein deutlich besseres Software-Ökosystem für die Webprogrammierung bieten, und gleichzeitig kann man, falls unbedingt nötig, auch C++-Module in diese einbinden. Wenn das Backend also irgendwas tun muss, bei dem die Performance sehr wichtig ist, dann kann man genau diesen Teil in C++ programmieren, aber der Rest ist dann trotzdem in einer anderen, für Backends gängigeren Sprachen umgesetzt.
Ein Backend allein ist aber auch noch keine Webseite. Auch wenn man ein Backend mit einer C-Sprache programmiert, muss das am Ende HTML ausgeben, das der Browser darstellen kann. Das geht prinzipiell mit fast jeder Programmiersprache. Grundsätzlich muss nur das HTTP-Protokoll in einer Programmiersprache implementierbar sein, damit man sie als Backend-Sprache benutzen kann.
Wenn man sich aber nicht ganz genau überlegt, welche Sprache man benutzt, schafft man sich eventuell sehr langfristige Probleme.
Alle Inhalte Inhalte dynamisch via CGIs erzeugen zu lassen und das gesamte Backend in C (C++) zu schreiben ist meistens nicht opportun - einfach weil es unnötig viel (teure) Entwicklerzeit kostet.
Es ist - ich sag's mal vorsichtig - ziemlich ungebräuchlich. Aber es ist weder illegal noch völlig falsch! Das war einmal anders, als CGI die einzige Möglichkeit war dynamische Webseiten zu erstellen, damals hat man durchaus öfters mit Compilersprachen als CGI gearbeitet.
Heute nimmt man Modulbasierte Sprachen - das Programm wird nur noch ein mal interpretiert und steht dann zur Verfügung, bis der Webserver neu gestartet wird (oder jemand das Programm ändert.)
Aber nochmal: Compilersprachen als CGI sind nur ein bisschen veraltet und ungebräuchlich - aber keineswegs illegal!
C ist wenigstens nicht dafür gemacht Webseiten zu erstellen.
Und im normalen Schulunterreicht wird auch nicht behandelt wie man das machen würde.
Weiterhin ist die Frage warum man C für etwas verwenden sollte was mit Html usw. viel schneller und effektiver geht.
Man kann davon ausgehen, das fast alles in C programmiert wurde. Selbst Programmieroberflächen, die eine völlig andere Sprachen als Grundlage verwenden.
... und natürlich kann man mit CPP Websites erstellen (CPP ist nur eine Erweiterung von C).