WebProgrammierung und C++

Hallo!

Ich hab bald nen eigenen Server.
Ein Gästebuch oder Forum habbich auf längere Sicht geplant, in erster Linie ist es aber zu Lernzwecken.
Meine Frage:Ist sowas(Server Gästebuch so Formulare allgemein) mit C++ statt mit PHP/Perl realisierbar und was gibts für Nachteile?
Achso ja und geht MySQL mit C++?

Danke
Merlin

Hallo,

Ich hab bald nen eigenen Server.
Ein Gästebuch oder Forum habbich auf längere Sicht geplant, in
erster Linie ist es aber zu Lernzwecken.
Meine Frage:Ist sowas(Server Gästebuch so Formulare allgemein)
mit C++ statt mit PHP/Perl realisierbar und was gibts für
Nachteile?

Es ist möglich. CGI-Scripte (oder auch „echte“ Programme) werten nur die Kommandozeile, STDIN und Umgebungsvariablen aus - keine Magie also.

Nachteile sind

  • für Perl und PHP gibt es jede Menge geeignete Bibliotheken
  • man erzeugt mit C/C++ leicht Sicherheitslücken (weil man Zeiger und nicht nur Referenzen hat, und es keine bound checks für Arrays gibt).
  • für CGI-Programmierung muss man häufig Strings manipulieren, und dafür ist Perl einfach sehr gut geeignet, C++ eher suboptimal

Achso ja und geht MySQL mit C++?

Ja, das geht.

Grüße,
Moritz

Hallo,

Ich hab bald nen eigenen Server.
Ein Gästebuch oder Forum habbich auf längere Sicht geplant, in
erster Linie ist es aber zu Lernzwecken.
Meine Frage:Ist sowas(Server Gästebuch so Formulare allgemein)
mit C++ statt mit PHP/Perl realisierbar und was gibts für
Nachteile?

Es ist möglich. CGI-Scripte (oder auch „echte“ Programme)
werten nur die Kommandozeile, STDIN und Umgebungsvariablen aus

  • keine Magie also.

Nachteile sind

  • für Perl und PHP gibt es jede Menge geeignete Bibliotheken

Nachteil ?
Ich denke doch ein klarer Vorteil , alle Räder sind schon erfunden und viele getestet :wink:

  • man erzeugt mit C/C++ leicht Sicherheitslücken (weil man
    Zeiger und nicht nur Referenzen hat, und es keine bound checks
    für Arrays gibt).

Ist mir nicht klar . Lücken liegen an der Programmierart nicht an der Programmiersprache.

  • für CGI-Programmierung muss man häufig Strings manipulieren,

Aha , Das parsen ist eher ein alter Hut :smile:

und dafür ist Perl einfach sehr gut geeignet, C++ eher
suboptimal

Und auch das liegt am Programmierstiel.

Achso ja und geht MySQL mit C++?

Ja, das geht.

Im wesentlichen die Unterschiede :
C++

  • ist sehr schnell
  • Programmieraufwand gross
  • Compiler (nur Programmierer kann ändern.)
  • Compilierter Code. (Copyright Vorteil)
  • Betriebsystemorientiert.
  • keine Anpassung des Programmablaufs durch Programm hoster.
  • eigene Fehlerbehandlung (Debugging)

Perl/PHP

  • ist im verhältniss zu C++ genauso langsam wie das downloaden
    übers Internet anstatt von Festplatte, deswegen eher für nicht rechenintensive Internetanwendungen.
  • Programmieraufwand klein
  • fast alle Funktionen sind schon als Modul erhältlich und getestet.
  • PainText QuellScript (Copyright Nachteil)
  • kein Compiler (aber Interpreter) es kann mal eben etwas am Programm (Script) geändern werden :smile:
  • Betriebssystem portable
  • leichte Anpassung des Programmablaufs durch Script hoster.

Hallo,

Ich hab bald nen eigenen Server.
Ein Gästebuch oder Forum habbich auf längere Sicht geplant, in
erster Linie ist es aber zu Lernzwecken.
Meine Frage:Ist sowas(Server Gästebuch so Formulare allgemein)
mit C++ statt mit PHP/Perl realisierbar und was gibts für
Nachteile?

Im wesentlichen die Unterschiede :
C++

  • ist sehr schnell
  • Programmieraufwand gross
  • Compiler (nur Programmierer kann ändern.)
  • Compilierter Code. (Copyright Vorteil)
  • Betriebsystemorientiert.
  • keine Anpassung des Programmablaufs durch Programm hoster.
  • eigene Fehlerbehandlung (Debugging)

Perl/PHP

  • ist im Verhältnis zu C++ genauso langsam wie das downloaden
    übers Internet anstatt von Festplatte, deswegen eher für nicht
    rechenintensive Internetanwendungen.
  • Programmieraufwand klein
  • fast alle Funktionen sind schon als Modul erhältlich und
    getestet.
  • PainText QuellScript (Copyright Nachteil)
  • kein Compiler (aber Interpreter) es kann mal eben etwas am
    Programm (Script) geändert werden :smile:
  • Betriebssystem portable
  • leichte Anpassung des Programmablaufs durch Script hoster.

Und der Vorteil schlechthin, da PlainText , und kein Compilieren, kann man z.b. die Start Datei sich selber neuschreiben lassen. Das wäre den eine Programmcode codierte Anpassung des Programmcodes :smile: (Fastr wie Poken auf nem 64er)

z.B. index.pl

  1. Start „Bitte Configurieren“
  2. Starte config.pl
  • Angabe webmaster email
  1. config.pl schreibt neue index.pl (ohne config.pl aufruf, und mit eingetragenem [email protected]

Da beim Webserver wegen des Interpreters eigentlich das Programm Script hier index.pl immer wieder neu gelesen und Interpretiert wird und nicht compiliert werden brauche geht das quasi onDemand.

Mit c++ sehe ich da radikale Probleme, da das compilieren nicht ondemand gehen wird.

Zuletzt :
Perl ist Einfach und regelt fast alles selber (inklusive variablen anlegen und verwalten) , durch die Module ist schon jedes Rad erfunden und der Programmierer, aber auch das Programm oder Kunde kann nach belieben Klartext(plain text) anpassen, ohne Verzögerung oder Compilerprogramm. Textdatei bleibt Textdatei.
Für die meisten aufgaben einer Webseite, etc ist PErl absolut ausreichend. Der Mensch wirds nicht bemerken ob C++ oder Perl die Webseite macht erstellt oder Daten empfängt bzw sendet.

Hallo,

Nachteile sind

  • für Perl und PHP gibt es jede Menge geeignete Bibliotheken

Nachteil ?
Ich denke doch ein klarer Vorteil , alle Räder sind schon
erfunden und viele getestet :wink:

Ich sollte mich klarer audrücken: es ist ein Nachteil, dass es diese Bibliotheken nicht in diesem Umfang für C++ gibt.

  • man erzeugt mit C/C++ leicht Sicherheitslücken (weil man
    Zeiger und nicht nur Referenzen hat, und es keine bound checks
    für Arrays gibt).

Ist mir nicht klar . Lücken liegen an der Programmierart nicht
an der Programmiersprache.

Wenn man Arrays mit automatischen bound checks hat, hat man automatisch mehr Sicherheit. Natürlich ist auch vieles der Sorgfalt des Programmierers überlassen, aber man findet auch in sehr sorgfältig programmiertem Code noch Pufferüberläufe etc.
Ein Feature als überflüssig darzustellen (oder unwichtig), weil man das Gleiche auch mit viel Sorgfalt anders erreichen kannst ist einfach nur Unsinn.

  • für CGI-Programmierung muss man häufig Strings manipulieren,

Aha , Das parsen ist eher ein alter Hut :smile:

Und was willst du uns damit sagen? Dass es, weil es gut verstand ist, nicht mehr fehleranfällig sei? Das ist kein gutes Argument: Perl und andere Skriptsprachen nehmen einem da schon viel Arbeit ab, ergo wird der eigene Code einfacher.

und dafür ist Perl einfach sehr gut geeignet, C++ eher
suboptimal

Und auch das liegt am Programmierstiel.

Auch, aber eben auch am Design der Sprache. Es gibt einen Grund dafür, dass es nicht nur eine Programmiersprache gibt, sondern ganz viele. Für manche Zwecke sind einige eben nicht gut geeignet, für andere besser.

Im wesentlichen die Unterschiede :
C++

  • ist sehr schnell
  • Programmieraufwand gross
  • Compiler (nur Programmierer kann ändern.)

Das ist bei einem Skript im Prinzip genauso. Außer das Programm ist so einfach gestrickt, dass jeder sofort durchblickt.

  • Compilierter Code. (Copyright Vorteil)

Was hat compilieren/interpretieren mit Copyright zu tun?
Du hast Copyright auf deinen Code, egal ob es eine Skriptsprache ist oder nicht. Und auch Skripte dürfen nicht einfach missbraucht werden.

  • Betriebsystemorientiert.
  • keine Anpassung des Programmablaufs durch Programm hoster.
  • eigene Fehlerbehandlung (Debugging)

Perl/PHP

  • ist im verhältniss zu C++ genauso langsam wie das downloaden
    übers Internet anstatt von Festplatte, deswegen eher für nicht
    rechenintensive Internetanwendungen.
  • Programmieraufwand klein
  • fast alle Funktionen sind schon als Modul erhältlich und
    getestet.
  • PainText QuellScript (Copyright Nachteil)

Siehe oben.

  • kein Compiler (aber Interpreter) es kann mal eben etwas am
    Programm (Script) geändern werden :smile:

Perl hat intern einen Compiler, einen sogenannten Just in Time-Compiler. Wollte ich nur mal anmerken…

  • Betriebssystem portable
  • leichte Anpassung des Programmablaufs durch Script hoster.

Das sollte ja wohl Vertragsbestandteil sein.
Und du kannst dir relativ sicher sein, dass ein Webhoster, der ohne Zustimmung deine Skripte modifiziert dich keine binaries ausführen lassen wird.

Grüße,
Moritz

1 Like

Erstmal Lieber Moritz brauchst du dich hier nicht Überall abgegriffen zu fühlen. Ich hab meine Meinung geäußert und nicht gegenargumentiert wie du zu jedem Bereich. Zumal du sehr provozierend Argumentierst.

Und deine Sachen sind alle nicht sehr Überdacht …

Nachteil ?
Ich denke doch ein klarer Vorteil , alle Räder sind schon
erfunden und viele getestet :wink:

Ich sollte mich klarer ausdrücken: es ist ein Nachteil, dass es
diese Bibliotheken nicht in diesem Umfang für C++ gibt.

Dann schreib es auch so. Um deklarieren der Interpretation , damit wird der Fehler auch nicht richtiger.

  • man erzeugt mit C/C++ leicht Sicherheitslücken (weil man
    Zeiger und nicht nur Referenzen hat, und es keine bound checks
    für Arrays gibt).

Ist mir nicht klar . Lücken liegen an der Programmierart nicht
an der Programmiersprache.

Wenn man Arrays mit automatischen bound checks hat, hat man
automatisch mehr Sicherheit. Natürlich ist auch vieles der
Sorgfalt des Programmierers überlassen, aber man findet auch
in sehr sorgfältig programmiertem Code noch Pufferüberläufe
etc.
Ein Feature als überflüssig darzustellen (oder unwichtig),
weil man das Gleiche auch mit viel Sorgfalt anders erreichen
kannst ist einfach nur Unsinn.

Dann erwähne bei Perl die Features, und schieb nicht C++ das in die Schuhe weil es das Feature nicht schon vorprogrammiert hat.

  • für CGI-Programmierung muss man häufig Strings manipulieren,

Aha , Das parsen ist eher ein alter Hut :smile:

Und was willst du uns damit sagen? Dass es, weil es gut
verstand ist, nicht mehr fehleranfällig sei? Das ist kein
gutes Argument: Perl und andere Skriptsprachen nehmen einem da
schon viel Arbeit ab, ergo wird der eigene Code einfacher.

Ne, nur das das CGI Interface , nix aber wirklich nix besonders ist.
Aber wunderbar das es Da ist. CGI Parser auf C++ war 2 Semester Uni , Danke :smile:

und dafür ist Perl einfach sehr gut geeignet, C++ eher
suboptimal

Und auch das liegt am Programmierstiel.

Auch, aber eben auch am Design der Sprache. Es gibt einen
Grund dafür, dass es nicht nur eine Programmiersprache gibt,
sondern ganz viele. Für manche Zwecke sind einige eben nicht
gut geeignet, für andere besser.

Wer erstmal Perl kann, der kann sehr viel mit sehr wenig erreichen.
Z.B. mal eben in allen Textdateien auf der Linuxplatte bestimmten Kontextabhängigen Text ändern (1 Zeiler). Aber wer ist schon Admin.
Und Perl ist naja einfach aber sterbend Langsam.
(Ich schreib da so einiges wo ich Anwaltskanzleien durch Ihre Textdateien Analysiere , also Berge von Dokumenten welze. Und mit perl erzeug ich glatt ein Timeout beim User :smile: . Schnell ist nur der ProgrammCode erzeugt , aber ob das Programm schnell und gut ist.

Im wesentlichen die Unterschiede :
C++

  • ist sehr schnell
  • Programmieraufwand gross
  • Compiler (nur Programmierer kann ändern.)

Das ist bei einem Skript im Prinzip genauso. Außer das
Programm ist so einfach gestrickt, dass jeder sofort
durchblickt.

Ne Script is KLARTEXT (Script = Quellcode = Programm)
Die Quelle ist also nicht nur beim Programmierer
Programm is BINARY ( (Program = Programm )!= Quellcode )
Der Programmierer besitzt die QuellDateien, und die ist nicht in der Exe drinne , drann , oder extrahierbar :smile:

  • Compilierter Code. (Copyright Vorteil)

Was hat compilieren/interpretieren mit Copyright zu tun?
Du hast Copyright auf deinen Code, egal ob es eine
Skriptsprache ist oder nicht. Und auch Skripte dürfen nicht
einfach missbraucht werden.

Schon mal nen gehackten Server gesehen.
Das Copyright dazu gabs gehackt als Nachtisch.

Das es halt keiner Nachbauen kann und dein Copyright nicht einfach mal eben durch Nachprogrammierung ,bzw. in Ländern wo Dir das Copyright lächelnd entgegenspuckt Kopiert wird. (Siehe Transrapid, wäre er als Binary geschickt worden, würden sie heute noch am Nachbau verzweifeln)

  • Betriebsystemorientiert.
  • keine Anpassung des Programmablaufs durch Programm hoster.
  • eigene Fehlerbehandlung (Debugging)

Perl/PHP

  • ist im verhältniss zu C++ genauso langsam wie das downloaden
    übers Internet anstatt von Festplatte, deswegen eher für nicht
    rechenintensive Internetanwendungen.
  • Programmieraufwand klein
  • fast alle Funktionen sind schon als Modul erhältlich und
    getestet.
  • PainText QuellScript (Copyright Nachteil)

Siehe oben.

  • kein Compiler (aber Interpreter) es kann mal eben etwas am
    Programm (Script) geändern werden :smile:

Perl hat intern einen Compiler, einen sogenannten Just in
Time-Compiler. Wollte ich nur mal anmerken…

Total Fehl am Platz deine Bemerkung. Es ist ein Interpreter und keine Compiler Sprache :smile:

  • Betriebssystem portable
  • leichte Anpassung des Programmablaufs durch Script hoster.

Das sollte ja wohl Vertragsbestandteil sein.
Und du kannst dir relativ sicher sein, dass ein Webhoster, der
ohne Zustimmung deine Skripte modifiziert dich keine binaries
ausführen lassen wird.

Lese bitte nochmal , was auch immer Du sagen wolltest.

Also , das heisst Ich hab mir ne Webseite geholt, hol mir PHP Script und Hoste das. (host , oder sagt ich webmaster mit ftp Zugriff auf einen http server), kann dann alles (auch bugs , updates, configuration) selber anpassen und muss nicht bei Meister C++ Programmierer anrufen, das er mir mal das Neuste Exe File rüberschickt :smile: Weil ich will mein Design ändern und das alle paar Minuten:smile:
Oder er soll mir den Source geben dann Kompiliere ich alle 2 Minuten neu und Werde nicht Hoster , sondern Programmierer .

Grüße,
Moritz

Bleib mal Locker !

Hallo,

Erstmal Lieber Moritz brauchst du dich hier nicht Überall
abgegriffen zu fühlen. Ich hab meine Meinung geäußert und
nicht gegenargumentiert wie du zu jedem Bereich. Zumal du sehr
provozierend Argumentierst.

Ich fühle mich vermutlich nicht „abgegriffen“, obwohl ich nicht genau weiss, was du damit meinst. Sollte ich teilweise ein wenig unsachlich geworden sein, bitte ich das zu entschuldigen.

Nachteil ?
Ich denke doch ein klarer Vorteil , alle Räder sind schon
erfunden und viele getestet :wink:

Ich sollte mich klarer ausdrücken: es ist ein Nachteil, dass es
diese Bibliotheken nicht in diesem Umfang für C++ gibt.

Dann schreib es auch so. Um deklarieren der Interpretation ,
damit wird der Fehler auch nicht richtiger.

Nein, ich habe es tatsächlich so gemeint.

  • man erzeugt mit C/C++ leicht Sicherheitslücken (weil man
    Zeiger und nicht nur Referenzen hat, und es keine bound checks
    für Arrays gibt).

Ist mir nicht klar . Lücken liegen an der Programmierart nicht
an der Programmiersprache.

Wenn man Arrays mit automatischen bound checks hat, hat man
automatisch mehr Sicherheit. Natürlich ist auch vieles der
Sorgfalt des Programmierers überlassen, aber man findet auch
in sehr sorgfältig programmiertem Code noch Pufferüberläufe
etc.
Ein Feature als überflüssig darzustellen (oder unwichtig),
weil man das Gleiche auch mit viel Sorgfalt anders erreichen
kannst ist einfach nur Unsinn.

Dann erwähne bei Perl die Features, und schieb nicht C++ das
in die Schuhe weil es das Feature nicht schon vorprogrammiert
hat.

Es ging hier eher um C++, nicht um Perl.

  • für CGI-Programmierung muss man häufig Strings manipulieren,

Aha , Das parsen ist eher ein alter Hut :smile:

Und was willst du uns damit sagen? Dass es, weil es gut
verstand ist, nicht mehr fehleranfällig sei? Das ist kein
gutes Argument: Perl und andere Skriptsprachen nehmen einem da
schon viel Arbeit ab, ergo wird der eigene Code einfacher.

Ne, nur das das CGI Interface , nix aber wirklich nix
besonders ist.
Aber wunderbar das es Da ist. CGI Parser auf C++ war 2
Semester Uni , Danke :smile:

Es ging mir jetzt nicht so sehr um das CGI-Interface (welch Unwort :wink:, sondern um text sanitizing etc. Ich verstehe immer noch nicht ganz, was du mir damit sagen willst, aber ich weiß nicht, ob die Diskussion an dieser Stelle dem OP noch was bringt.

Was hat compilieren/interpretieren mit Copyright zu tun?
Du hast Copyright auf deinen Code, egal ob es eine
Skriptsprache ist oder nicht. Und auch Skripte dürfen nicht
einfach missbraucht werden.

Schon mal nen gehackten Server gesehen.
Das Copyright dazu gabs gehackt als Nachtisch.

Ok, das ist ein Argument. In so dunklen Bahnen habe ich jetzt nicht gedacht :wink:

  • kein Compiler (aber Interpreter) es kann mal eben etwas am
    Programm (Script) geändern werden :smile:

Perl hat intern einen Compiler, einen sogenannten Just in
Time-Compiler. Wollte ich nur mal anmerken…

Total Fehl am Platz deine Bemerkung. Es ist ein Interpreter
und keine Compiler Sprache :smile:

Und trotzdem hat Perl einen Kompiler. Ich wollte das nur mal gesagt haben :wink:. Es gibt übrigens sogar die Möglichkeit, vorkompilierte Module zu vertreiben, wobei das sehr exotisch ist…

  • Betriebssystem portable
  • leichte Anpassung des Programmablaufs durch Script hoster.

Das sollte ja wohl Vertragsbestandteil sein.
Und du kannst dir relativ sicher sein, dass ein Webhoster, der
ohne Zustimmung deine Skripte modifiziert dich keine binaries
ausführen lassen wird.

Lese bitte nochmal , was auch immer Du sagen wolltest.

Ich vermute, dass ich dich da missverstande habe. Ich hatte an Webhoster gedacht, die ihre Banner einblenden indem sie PHP-Scripte modifizieren.

Grüße,
Moritz

Hallo,

Moin
du hast recht :wink:

Noch schönen Sommer , bitte geniessen jetzt.