php -> c++

Bash, Shell, PHP, Python, Perl, CGI
debian inside
Posts: 65
Joined: 2003-01-30 22:46

php -> c++

Post by debian inside »

wie schwer ist das erlernen von c++ wenn man php kann?
vor allem würde mich interessieren wie schwer es ist etwas in c++ umzusetzen das man in php bereits programmiert hat

gibt es viele unterschiede die entgegengesetzt wirken?
also zum beispiel das ein befehl in c++ was ganz anderes bewirkt wie in php?
barto
Posts: 88
Joined: 2003-01-09 19:13

Re: php -> c++

Post by barto »

die meisten sachen sind halt in c++ aufwändiger/komplizierter als in php.
z.b. mit strings rumhantieren, regexps sind standardmäßig nicht dabei....
kase
Posts: 1031
Joined: 2002-10-14 22:56

Re: php -> c++

Post by kase »

und vor allem haben diese 2 Sprachen eigentlich nix mit einander zu tun...

C++ wird benutzt zur Softwareprogrammierung, PHP als Websiteprogrammierung.

Und ich denke, dass PHP ein ganzes Stück leichter ist. In PHP schon mal einen STRING definiert ? Das ist in C++ das erste, was man machen muss. Nur mal so als ganz banales Beispiel.

Und normalerweise lassen sich PHP Scripte nicht einfach in C++ Programme umschreiben, denn die beiden Sprachen sind wie gesagt für 2 ganz verschiedene Aufgabengebiete gemacht.
jtb
Posts: 599
Joined: 2002-08-18 16:41
Location: Darmstadt

Re: php -> c++

Post by jtb »

es ist nicht wichtig, welche Sprache du kennst, sondern wie gut du schon in OOP und übliche Programmierstrukturen reindenken kannst..

Schau dir ein bißchen C an und du hast es kapiert ;)

Pointer allerdings könnten schwieriger werden
Last edited by jtb on 2003-02-10 20:05, edited 1 time in total.
debian inside
Posts: 65
Joined: 2003-01-30 22:46

Re: php -> c++

Post by debian inside »

also mit php kann man ganz gut daten sammeln, strings rausfiltern, umformen und auf mysql zugreifen...man muss nicht zwangsläufig nur webseiten programmieren

mal sehen wenn ich wieder genug zeit hab um ganz neue sachen anzufangen steht c++ an erster stelle...hat zufällig jemand ne info wie es mit c++ und datenbanken aussieht
barto
Posts: 88
Joined: 2003-01-09 19:13

Re: php -> c++

Post by barto »

naja c++ kann mit datenbanken von sich aus nix anfangen, aber du kannst natürlich die entsprechenden libraries (mysql, ...) benutzen, ist aber auch alles viel komplizierter und umständlicher als mit php/perl/etc.
[monk]
Posts: 163
Joined: 2002-08-09 17:31
Location: Ulm

Re: php -> c++

Post by [monk] »

kase wrote:und vor allem haben diese 2 Sprachen eigentlich nix mit einander zu tun...

C++ wird benutzt zur Softwareprogrammierung, PHP als Websiteprogrammierung.

Und ich denke, dass PHP ein ganzes Stück leichter ist. In PHP schon mal einen STRING definiert ? Das ist in C++ das erste, was man machen muss. Nur mal so als ganz banales Beispiel.

Und normalerweise lassen sich PHP Scripte nicht einfach in C++ Programme umschreiben, denn die beiden Sprachen sind wie gesagt für 2 ganz verschiedene Aufgabengebiete gemacht.
Die Syntax ist verdammt ähnlich. while, for, oder die OOP ist c++ ähnlich.
Nur das man bei PHP noch etwas pfuschen kann während das in c++ nicht mehr so einfach geht.

Letztendlich würde ich sagen wenn man PHP kann das c++ nicht mehr sonderlich schwer zu erlernen ist. Nur bei den Pointers wird man noch etwas "lernen" müssen.

Ach ja, zuerst definierst du in C deine Kompillerangaben (z.B. includes). Keine Strings :wink:

Du sagtest das die zwei Sprachen für zwei versch. Aufgabengebiete gemacht wurden. Wofür sie ursprünglich ausgelegt sind ist doch völlig egal. Was sie inzwischen können und wie sie sich weiterentwickelt haben ist wichtig. PHP hat inzwischen nicht mehr viel mit dem "nur Webseiten" Image zu tun.
arty
Userprojekt
Userprojekt
Posts: 729
Joined: 2002-06-12 10:11

Re: php -> c++

Post by arty »

Hi,

wenn man eine Programmiersprache und die Logik dahinter kapiert hat, dann kann man sich auch in kürzester Zeit auch jede andere Programmiersprache aneignen, wobei ich aber sagen muss, dass ich persönlich zB lieber in PHP oder Java programmiere als zB in C oder C++. PHP und Java sind moderne Sprachen im Gegensatz vorallem zu C. Der einzig große Vorteil von C ist halt die Möglichkeit, sehr hardwarenah zu programmieren, was mit PHP und Java gar nicht geht und mit C++ auch nicht das wahre ist. Desweiteren sind C oder C++ Programme sehr viel schneller als PHP oder Java Programme, liegt aber auch daran, das PHP nur interpretiert wird und bei Java nur der Bytecode ausgeführt wird. Sollte es ganz schnell gehen, dann nimmt man aber Assembler, aber das ist wirklich grausam...

Ich bleibe bei PHP und Java, auch wenn beides nicht wirklich performant ist.

bye
arty
floschi
Userprojekt
Userprojekt
Posts: 3247
Joined: 2002-07-18 08:13
Location: München

Re: php -> c++

Post by floschi »

Hi !

Viel kann man da ja nicht mehr hinzufügen, aber noch kurz mein Senf:

Ja, wer Programmierstrukturen und Techniken drauf hat, für den ist es wohl egal, welche Sprache er nutzt.

Der Unterschied besteht dann wirklich darin, was die jeweilige Sprache schon leistet, und was noch nicht.

Persönlich ziehe ich einfache Skriptsprachen vor und kann mir im Zusammenhang mit meinem Server nix vorstellen, wo ich auf C bzw. C++ angewiesen wäre ;)


Grüßle

Olfi
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: php -> c++

Post by captaincrunch »

OK, dann also auch noch meine 2 Cents :wink: :

Für mich käme es (wie olfi schon sagte) auf den Verwendungszweck an. Wenn du auf MySQL zugreifen willst, ist das sicherlich bequemer per PHP oder Perl zu lösen.

C (vor allem) und C++ sind doch eher was für die Systemprogrammierung.

Mit sämtlichen Scriptsprachen wirst du auf einem Rootie wohl eher ans Ziel kommen, als mit den anderen "Hochsprachen".

Noch eine kurze Anmerkung : fast sämtliche administrativen Aufgaben lassen sich bestens mit der Shell erledigen ... :wink:
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
rob
Posts: 82
Joined: 2002-06-03 21:53
Location: Brandenburg

Re: php -> c++

Post by rob »

Also, ich sags mal so.
Selbst wenn du c/c++ beherrschst, kannst du dir danach erstmal grundlegende Klassen/Funktionen aufbauen, damit man überhaupt CGI-Parameter auswerten kann.

Da wird nämlich nix in _POST oder _GET gepackt, das musst du selbst machen.

Ich denke nicht, dass es mit C++ schwieriger ist, eine Datenbank, wie MySQL anzusteuern, da existiert genauso eine Abstraktionsebene wie in Perl. (Siehe MySQL++)
arty
Userprojekt
Userprojekt
Posts: 729
Joined: 2002-06-12 10:11

Re: php -> c++

Post by arty »

Hi Rob,
rob wrote:Ich denke nicht, dass es mit C++ schwieriger ist, eine Datenbank, wie MySQL anzusteuern, da existiert genauso eine Abstraktionsebene wie in Perl. (Siehe MySQL++)
ich hab mal C++ Code unter Windows gesehen, wie man per ODBC auf eine DB2 zugreift. Da geht das über PHP schon sehr viel einfacher!

bye
arty
debian inside
Posts: 65
Joined: 2003-01-30 22:46

Re: php -> c++

Post by debian inside »

rob wrote:Also, ich sags mal so.
Selbst wenn du c/c++ beherrschst, kannst du dir danach erstmal grundlegende Klassen/Funktionen aufbauen, damit man überhaupt CGI-Parameter auswerten kann.

Da wird nämlich nix in _POST oder _GET gepackt, das musst du selbst machen.

Ich denke nicht, dass es mit C++ schwieriger ist, eine Datenbank, wie MySQL anzusteuern, da existiert genauso eine Abstraktionsebene wie in Perl. (Siehe MySQL++)
ich hab ja nicht gesagt das ich irgendwas mit dem machen will
wichtig ist für mich nur zugriff auf seiten also code runterladen, strings umformen und datenbank zugriffe für website bleib ich natürlich bei php weil es einfach das beste ist nur leider nicht so schnell für diverse zwecke
Anonymous

Re: php -> c++

Post by Anonymous »

Wenn man umfangreichere Dinge machen will, unabhängig von der Sprache, wird man nicht umher kommen, sich eine eigene Library von Klassen und/oder Funktionen zusammenzubasteln, die wesentliche Elemente beinhaltet, welche häufiger benötigt werden.

DANN kann man in jeder Sprache einfach und schnell programmieren.

Um zur Ausgangsfrage zurückzukommen:
Ob und wie einfach der Umstieg von PHP auf C++ möglich ist, hängt wesentlich davon ab, wie man in PHP programmiert hat.

Hat man selbst noch nie großartig Klassen gebaut oder vielleicht so ziemlich jede Programmstruktur immer gleich ins HTML hineingewurschtelt, kommt der Umstieg auf eine OO-Programmiersprache einem Neuanfang gleich!
Wenn man sich mit der (eingeschränkten) Objektorientierung unter PHP intensiv befasst hat, wird es einfacher fallen. Generell ist aber ein Umdenken nötig.

Ich nenne mal ein paar kleine Vor- und Nachteile der einzelnen Sprachen (aus eigener Erfahrung): [Wertung +/o/-]

PHP:
+ einfach
+ sehr gut mit HTML kombinierbar
o OO-Gedanke mäßig umgesetzt
o String-Manipulationen mäßig (aber über preg_* via Perl-Syntax lösbar)
- laahm :-)

Perl:
+ gut Web- und Shell-Programmierung
+ sehr flexibel
+ riesige Menge an fertigen Libraries vorhanden (Stichwort: CPAN)
+ sehr komplexe String-Manipulationen möglich (Regular Expressions)
o gewöhnungsbedürftige Syntax
o ordentliche Geschwindigkeit, wenn sauber programmiert

Java:
+ sehr sauberer OO-Code
+ portabel (Code läuft auf so ziemlich jeder Hardware unverändert)
+ via JSP sehr schön für Web-Programmierung geeignet
o "pfuschen" kaum möglich
- laahm
- extremer RAM-Hunger :-)

C:
+ extreme Performance
+ alles möglich (hardwarenah)
- schwierig
- verzeiht keine Fehler!
- Zusammenarbeit mit HTML-Code kompliziert

C++:
+ sehr gute Performance
+ ebenfalls hardwarenah
o gute OO-Umsetzung, die aber nicht verbindlich ist
- Zusammenarbeit mit HTML-Code über Libraries möglich

Kylix / Delphi:
wie C++, aber nicht so hardwarenah


Das waren mal meine 3-4 cent zu der Thematik :-)
Zu Python und Tcl (ersteres kommt stark in Mode) kann ich nicht viel sagen, da ich es noch nie selbst benutzt habe.

Carsten

ps: Ich liebe Grundsatzdiskussionen über Programmiersprachen :-)
jtb
Posts: 599
Joined: 2002-08-18 16:41
Location: Darmstadt

Re: php -> c++

Post by jtb »

dann füge ich doch gleich noch C# dazu.. Momentan meine Lieblingssprache ;)

C#:
+ sehr sauberer OO-Code
+ portabel (Code läuft auf so ziemlich jeder Hardware unverändert)
+ im Gegensatz zu Java eher schnell
+ (fast) keine Pointer mehr :-D
+ gutes Framework
+ Win32Api benutzbar (DllImport)
+ im Gegensatz zu Java alles(!) von Objekt abgeleitet
+ Von PERL sehr komplexe String-Manipulationen möglich (Regular Expressions)
+ GC
o Visual Studio.Net Enterprise Architect ist TEURER, VS.Net C# geht aber
o von MS gesteuert, aber offizieller Standard - siehe MONO
- Exceptions müssen im Gegensatz zu Java nicht abgefangen werden :cry:
- ein paar Bugs im Framework, die teilweise schwer zu finden sind :evil:

Java:
- nicht alles von Objekt abgeleitet
- keine(!) gute IDE, allenfalls vielleicht Eclipse
+ GC



Ich habe gerade zwei Projekte in C# laufen, wovon eins sehr groß ist und das andere eine Spielerei von mir: einen eigenen VideoPlayer auf MCI-basiert, da mich der MediaPlayer angekotzt hat :wink:
debian inside
Posts: 65
Joined: 2003-01-30 22:46

Re: php -> c++

Post by debian inside »

Jtb wrote: Ich habe gerade zwei Projekte in C# laufen, wovon eins sehr groß ist und das andere eine Spielerei von mir: einen eigenen VideoPlayer auf MCI-basiert, da mich der MediaPlayer angekotzt hat :wink:
die einstellung gefällt mir
nils_eckert
Posts: 41
Joined: 2002-11-30 12:05

Re: php -> c++

Post by nils_eckert »

@carsten:
Java:
- laahm
Perl:
o ordentliche Geschwindigkeit, wenn sauber programmiert
Willst du damit sagen, dass Perl schneller läuft als Java?

Java liegt im Byte-Code ja schon "vorübersetzt" vor und wir nur noch interpretiert. Perl wird zur Laufzeit ausgeführt. Das kann doch nicht schneller sein?

Java wäre dann himmlisch, wenn die Maschine Jave hardwaretechnisch verstünde :-), so wie Java ursprünglich gedacht war (Kaffee-Maschinen, Toaster :lol:)

Zu ergängen wäre vielleicht noch

C++:
+ Templates
jtb
Posts: 599
Joined: 2002-08-18 16:41
Location: Darmstadt

Re: php -> c++

Post by jtb »

Java läuft aber in einer VM, die zur Codeausführung noch Tests macht..

Dazu gehört z.B. ein Pufferüberlauf oder Zugriff auf einen ungültigen Arrayindex..

Aus diesem Grund ist Java langsam(er)
[monk]
Posts: 163
Joined: 2002-08-09 17:31
Location: Ulm

Re: php -> c++

Post by [monk] »

nils_eckert wrote: Willst du damit sagen, dass Perl schneller läuft als Java?

Java liegt im Byte-Code ja schon "vorübersetzt" vor und wir nur noch interpretiert. Perl wird zur Laufzeit ausgeführt. Das kann doch nicht schneller sein?
Genau das ist das Problem. Java wird "nur" in Byte-Code übersetzt und benötigt zur Ausführung des Codes ein Interpreter bzw. wird es zur laufzeit durch vollkommen kranke Optimierungen auf deine Maschine angepasst.

Rechenintensive Programme können im Vergleich zu C-Programmen bis zum 30-fachen der Rechenzeit benötigen. (oder wars 34 fach ? irgendwie sowas).

Wenn unsere Kunden ein Rechenintensives Programm wünschen, so müssen wir das in C lösen und können das nicht in JAVA programmieren. Traurig aber wahr.

1997 hat man behauptet, das in 2-3 Jahren JAVA an die geschw. von C rankommt.. na ja man sieht was daraus geworden ist :roll:
Anonymous

Re: php -> c++

Post by Anonymous »

Danke, dass Ihr die Frage an mich schon beantwortet habt ;-)

Aber genau das ist das Problem:

Java wird als portabler Bytecode von einem Interpreter (der haufenweise Tests durchführt und in jedem Fall die Portabilität des Codes sicherstellen muss, ohne optimal auf die Hardware angepasst zu sein) geparst und ausgeführt.

Perl wird zwar auch interpretiert, aber dafür direkt mit einem optimal auf die Plattform abgestimmten Interpreter.

Die extrem konsequente Umsetzung des OO-Gedankens von Java dient auch nicht gerade der Beschleunigung, wenngleich er andere Vorteile bietet.

Von daher ist Perl theoretisch auf jeden Fall schneller. Ob das in der Praxis *immer* zutreffen muss, hängt natürlich davon ab, wie sauber man als Programmierer zu Werke zieht.

Wobei dieser Teilaspekt der Diskussion natürlich albern ist, denn wenn man *wirkliche* Performance und schlanken Code benötigt, führt kein Weg an C(++) vorbei. :!:
nils_eckert
Posts: 41
Joined: 2002-11-30 12:05

Re: php -> c++

Post by nils_eckert »

Wie sieht das denn mit Delphi aus?

Ich habe nen Kollegen, der schwärmt davon und macht mein geliebtes C++ immer so fertig :(.

Er will mir auch partu nicht glauben, dass C++ Appz schneller sind als Delphi teile.

Ich habe mit Delphi allerdings auch noch überhaupt nix gemacht?

Geplant war eigentlich jetzt erst mal Cis (C# :lol:). Oder sollte ich mir lieber Delphi antun?


Vielen Dank schon mal!

Gruß,

Nils
cae
Posts: 68
Joined: 2002-12-16 07:16
Location: München

Re: php -> c++

Post by cae »

Unter Windows ist Delphi in den meisten Fällen klar meine erste Wahl. Der Grund ist einfach: Mit wenig Aufwand kann man mit Delphi schnell gute Programme entwickeln und auf zahlreiche Komponenten zurückgreifen. Man muß sich nicht um z.B. Fensterverwaltung oder andere Interna kümmern, sondern kann sich voll auf das eigentliche Programm konzentrieren. Wenn man aber will, hat man auch mit Delphi fast alle Möglichkeiten. Will man nur mal schnell ein kleines Hilfsprogramm schreiben, dann kann ich Delphi nur jedem ans Herz legen.
C++ bedarf deutlich mehr Einarbeitungszeit, wenn man wirlich konsequent OO programmieren und hardwarenah programmieren will. Aber wozu braucht man das? Ich als 'Hobbyprogrammierer', d.h. kleinere und mittelgroße Freeware ohne komerziellen Hintergrund, brauche keine perfekte Performance oder 100%igen Hardwarezugang. Daher code ich in Delphi. Zur Not kann man schließlich auch einzelne Routinen in C++ coden und als DLL einbinden.
Wo aber der Zusammenhang zwischen php und C++ liegen soll, ist mir nicht klar. Wie schon vielfach geschrieben, sind die Anwendungsgebiete doch eigentlich ziemlich klar getrennt. Wer eine Webanwednung in C++ schreibt, der hat entweder zu viel Zeit oder ist ein Hardcore Coder ;) Und im letzteren Fall greift man dann doch besser zu Assembler (no limits!).
Meine eigene Regel: Zuerst mit der einfachsten Sprache anfangen um ein Problem zu lösen. Für Webanwendungen ist das ganz klar PHP oder Perl. Dann kann man immernoch teile in einer höheren Sprache schreiben und einbinden.
Beim Umstieg von php auf C++ sehe ich die Gefahr, dass man nie "richtig" OO C++ lernt, sondern sich vielzusehr an dem simplen php orientiert. Dann kann man auch gleich bei php bleiben.

Für alle, die denken C++ ist das einzig wahre, ein kleines Zitat aus Murphy's Laws zur Problemlösung mit Computern:
"Was einfach scheint, ist kompliziert, was kompliziert scheint, ist unmöglich, und was unmöglich scheint kann sogar eine Putzfrau ohne Computer lösen."
Also, macht's Euch nicht zu kompliziert ;)
jtb
Posts: 599
Joined: 2002-08-18 16:41
Location: Darmstadt

Re: php -> c++

Post by jtb »

Hi,

also ich würde lieber in C# als in Delphi programmieren..

Delphi ist eine ganz nette Sprache, aber mich stört irgendwie, dass zwar die Sprache objektorientiertes Programmieren (OOP) aber ist in sich selber nicht objektorientiert.. D.h. du musst sehr viele Schlüsselwörter lernen und hast nicht die Möglichkeit wie unter C# (und den ganzen dotnet-Sprachen), die Console mit System.Out.Println anzusprechen und gleichzeitig auf System.In schließen zu können..
cae
Posts: 68
Joined: 2002-12-16 07:16
Location: München

Re: php -> c++

Post by cae »

Ich kenn C# noch nicht, deswegen kann ich dazu leider nix sagen. Muß ich mir bei Gelegenheit mal anschauen.
alexander newald
Posts: 1117
Joined: 2002-09-27 00:54
Location: Hannover

Re: php -> c++

Post by alexander newald »

cae wrote:Ich kenn C# noch nicht, deswegen kann ich dazu leider nix sagen. Muß ich mir bei Gelegenheit mal anschauen.
Nabend,

auch wenn es nicht direkt was mit der Frage mehr zu tun hat:

Alle Vorzüge von Perl müssen nicht mit dem Geschwindigkeitsnachteil verbunden sein. mod_perl verhilft einem Perl Skript auf die Sprünge und ist dann (fast) genau so schnell wie ein C Programm!

Alexander Newald