Von der Webentwicklung zu C++
-
Danke euch beiden für eure Antworten.
@gfhfghfgh: Da hast du mich vermutlich falsch verstanden. Mein Gedanke war, meine C++ Fertigkeiten in kleinen Programmen zu schulen, die mit einem Server interagieren, dessen Programmlogik auf PHP basiert. Sowas wie ein Taschenrechner in C++, der seine Aufgaben aber vom (Web-)Server abholt, wo sie durch ein PHP-Script generiert werden. Oder ein kleines C++ Programm welches Eingaben auf der Kommandozeile an den Server schickt, wo sie durch PHP weiterverarbeitet werden. Mir ist natürlich bewusst, dass das am Anfang alles sehr eingeschränkte Funktionen sein werden, allerdings liegt hier auch später ganz klar mein Hauptaugenmerk und meine Quelle der Motivation: Ich möchte in der Lage sein, Client-Programme in C++ zu entwickeln, die über ein Netzwerk untereinander oder auch mit einem Webserver kommunizieren; die auf APIs zurückgreifen. Vielleicht sogar die ein oder andere Anwendung entwickeln, die auf einem Server arbeitet und Aufgaben übernimmt, die sich auf PHP-Basis nur über Umwege umsetzen lassen.
Von daer hatte ich die Hoffnun, dass es vielleicht ein Buch oder Tutorial gibt, welches einen über diesen Wege an C++ heranführt. Sowas lässt sich leider nur schwer ergooglen.
Lieben Gruß,
basti
-
Das ist natürlich alles möglich, aber es wird deine Fähigkeiten zunächst mal sprengen.
Um einen Webserver anzusteuern, musst du einen Client programmieren, der dann auch noch HTTP unterstützt. Im Falle eines PHP-Scripts wird da dann sogar Chunked-Encoding notwendig sein. Das halte ich für den Anfang für nicht realisierbar.
In dem Fall müsstest du dann alternativ dafür eine externe Bibliothek (z.B. libcurl) nutzen. Damit geht das ganze relativ einfach, aber diese Bibliothek ist in C geschrieben, also müssen auch hier wieder Kenntnisse vorhanden sein. Das ist also für den Anfang auch ein Schritt zu schnell. Und verleitet evtl. auch dazu, dass du eine grauenhafte Mischung aus C und C++ lernst. Das machts dir unter Umständen nur noch schwieriger.
Ansonsten kannst du auch C++ Programme über CGI durch den Webserver ausführen lassen. Aber auch hierfür muss man die Spezifikationen von CGI einhalten. Das ist für einen Anfänger auch nicht so einfach. Vorallem muss das was da ankommt auch noch in Stücke zerlegt werden (Parsing), etc.
Ein simples Programm was einfach so Daten einliest, kannst du aber ganz sicher über PHP mit Daten füllen. Das geht ja z.B. auch über die Konsole und den Umleitungsoperatoren.
Ich will dich in diesem Vorhaben nicht stoppen, aber es ist einfach unnötig umständlich. Da würde ich lieber reines C++ lernen und mich danach dann mit CGI, usw. beschäftigen.
Im übrigen musst du bedenken, dass ein C++ Programm einem PHP-Script auch unterlegen sein kann, was Geschwindigkeit angeht. Das hängt aber ganz vom Anwendungszweck ab. Bei sehr rechenintensiven Anwendungen wird das C++ Programm schnell die Oberhand gewinnen.
Und was ganz wichtig ist und du von PHP nicht gewöhnt bist: Du kannst kein C++ Programm unter Windows kompilieren und dann auf einen Linux Webserver packen. Denn Linux kennt keine .exe Dateien. Dazu müsstest du das gleiche Programm unter Linux erneut compilieren.
-
cooky451 schrieb:
und dann setzen die meisten Netzwerksachen die wirklich für C++ geschrieben wurden und nicht für C üblicherweise auch einiges an Sprachkenntnis voraus. (boost::asio z.B.)
SFML.Network ist hier schon ein bisschen benutzerfreundlicher. Man muss relativ wenig selbst machen, um HTTP, FTP oder direkt TCP oder UDP zu benutzen.
-
Mit Delphi- und PHP-Kenntnissen sollte der Umstieg zu C++ nicht allzu schwer sein.
HTML/CSS/JS-Kenntnisse und Netzwerkprogrammierung mit C++?.................:
Schreit doch förmlich nach C++ mit Qt.
Deine HTML/CSS/JS-Kenntnisse kannste da mit dem neuen QML- und QtQuick-Konzept hervorragend kombinieren / weiternutzen.
Auch sonst bringt Qt und viele andere C++-Bibliotheken diverse Mittel zur einfachen Netzwerk- und GUI-Programmierung mit.Solltest Dir dabei auch den QtCreator und die Lazarus-IDE (mit Qt) näher anschauen.
MfG
Schlitzauge

-
Du solltest eher erst mal C++ Grundlagen lernen. Netzwerkprogrammierung ist nichts für Anfänger und wenn das Ziel zu weit weg ist, dann frustriert das eher.
Oder Du probierst mal mein Tntnet aus. Das ist so was wie php für C++. Da kannst Du Deine Webkenntnisse mit C++ verbinden und damit hast Du einen relativ schnelles Erfolgserlebnis. Aber auch da gilt, erst mal C++ Grundlagen zu lernen.
Hier geht man selbstverständlich davon aus, dass Du Windows verwendest. Sollte das richtig sein, dann muss ich allerdings sagen, dass Tntnet nicht unter Windows läuft. Aber zum Programmieren finde ich Linux eh besser geeignet.
-
Danke für die zahlreichen Antworten.
Ich werde das alles einmal sacken lassen und mich anhand der Rückmeldungen weitergehend informieren. Vielen Dank & schönes Wochenende!
-
*notitzmach*
basti92 geht es richtig an. Der kann ein ganz Großer werden.
Der nötige Biss ist da. Wenn ich seine Worte richtig einschätzte, und das zu tun, behaupte ich mal, hat ihn das klassiche Programmierfieber ergriffen. Er ist geil auf Programmieren.Die Bescheidenheit der kurzfistigen Ziele ist da.

Wenn er auch noch mittelfristig bescheiden wäre, könnten wir ihn in zwei oder drei Jahren als Guru feiern. Das sehe ich leider noch nicht.
-
basti92 schrieb:
Danke für die zahlreichen Antworten.
Ich werde das alles einmal sacken lassen und mich anhand der Rückmeldungen weitergehend informieren. Vielen Dank & schönes Wochenende!
Ich hab nur einen Tipp für dich: Wenn du C++ lernen willst, dann fang einfach an.
(Am besten mit einem guten Buch, könnte mir vorstellen, dass das nicht so schlecht für dich wär...)
-
dot schrieb:
dass das nicht so schlecht für dich wär...)
+1
Breymann ist tadellos und macht einen Rundumschlag um C++. Und geht von einem gut vorgebildeten Leser aus. Passt, denke ich.Danach hängt es vom Geld ab, oder was ausleihbar ist.
Meyers effc++ //toll, fast zwingend, na, eigentlich zwingend, sorry.
//soo sauber und begründend ist Breymann dann nicht.
//Sattelfestigkeit durch Meyers ist viiiiieel mehr wert als
//egalwas von egalwem.Sutter expc++ //Jo! Da muss man durch!
//Falls jemand ein Buch hat, das C++11 besser abdeckt und die Kerngedanken
//nicht minder einhämmert, bitte hier sagen.Und dann eins über Template-Programmierung (nicht Template-Benutzung). Welches da?
Generell ein Buch pro Monat verschlingen. Auch, wenn mal aus Versehen oder aus Unwissenheit ein schlechtes dabei ist.
-
<element found>
volkard schrieb:
Generell ein Buch pro Monat verschlingen. Auch, wenn mal aus Versehen oder aus Unwissenheit ein schlechtes dabei ist.
</element found>