best of php und c++
-
wieso hat php eigentlich das webgescheft sich unterm nagel gerissen?
dieses dynamische typen gehaber? ka ob ich zu viel c++ gemacht habe, kann mich aber damit nicht so recht anfreunden
so oder so muss ich wissen was mit eine funktion gibt und in welchen format es ist, in c++ ist das ganz klar duch den typen bestimt
was php c++ in sachen typen voraus hat ist dieses implizite typen gecaste
wenn man aber in c++ die typen hinter klassen wrappt könnte man den gleichen/ähnlichen effect hinkrigendie phpstdlib ist auch nett aber da gibt glaube ich nix was man unter c++ nicht auch zusammen suchen könnte
man kann php code wärend der laufzeit ändern, da kann c++ nicht mit halten. lösung:
ein compilier stuerer wird benötigt der das compilieren usw. für einen hinter einer leichten schnittstelle verbirgt
wenn man eine änderung am code macht erkennt das compilier tool das compiliert neu beendet das alte programm und startet das neue (der teufel verstekt sich bestimt in deteil)php ist schnell erlernt, in php macht man schon die ersten seiten und in c++ schlägt man sich mit include guards, pointern usw. rum
lösung: hmm, ich habe kein bock ein neuen c++ dialekt zu machen aber wenn das was werden soll kommen wir nicht drum c++ zu entschlaken
z.b. referezen und pointer unter einen hut bringenint main() { int i = 0, a = 0, b = 0; int ptr p = i; p = 100; // i ist jetzt 100 *p = a; // p zeigt jetzt auf a p = b; // a krigt den wert von b p = 10; // a ist jetzt gleich 10 }
also die funktion vom op* umkähren so das man keine referenzen mehr braucht für operator überladung
nachteile von php, so wie ich php beurteile ist es langsamm, natürlich fällt das keinen auf weil die nadelöhre wo anders sitzen
user eingaben und user ausgaben, db anbindungen usw.
user ausgaben: wozu ein super schnelles php machen wenn der user 5 min braucht um sich den text durch zu lesen?
ich denke man könnte dann ein server mehrfach vermieten, z.b. vor einiger zeit mussten www.c-plusplus.net den server wäckseln weil das perl script zu viel rechenleistung in anspruch nahm und die anderen web seiten die auf den gleichen server gehostet wurden krigten dann nicht genugmit c++ wäre das nicht passiert, ein server könnte viel mehr webseiten gleichzeitig hosten. das würde sich auch im preis niederschlagen
hinter php steht nur eine firma
krigen die kein parser hin der ohne die $ arbeiten kann?
wie ich mir das denke:
- man baut ein freamwork um den g++,
- sammelt ein paar libs zusammen und wrappt sie hinter eine einheitlichen schnittstelle,
- baut ein präcompilier der das neue c++ in iso-c++ umschreibt
- suche den grund wieso hoster keine *.exe auf ihren server haben wollen
fürs erste will ich erstmal etwas labern usw.
-
Ist doch klar, warum die keine .exe-Dateien auf ihrem Server haben wollen? .exe-Dateien werden sehr oft zum Download angeboten, auch sehr oft ungezippt. Tja, das würde nicht mehr funktionieren, wenn .exe-Dateien plötzlich für den Server ausführbare Dateien werden.
Also führt man da ein anderes Format ein -> wie zB .php
Niemand will eine .php-Datei zum Download freigeben, und wenn doch lässt man den User eine .txt-Datei oder eine .html-Datei herunterladen.
Oder liege ich da sehr weit daneben?
MfG SideWinder
-
Ja, ich denke du liegst sehr weit daneben :p ob eine Datei ausgeführt oder heruntergeladen wird, hängt von den Servereinstellungen ab, erst in zweiter Linie vom Dateityp. Die Webzeug-Leute können dazu wahrscheinlich mehr sagen.
Warum kein C++? Zwei Worte: weak typing
-
Warum kein C++? Zwei Worte: weak typing
Warum kein C++? Meiner Meinung nach beantwortet der Text von Dimah diese Frage schon sehr gut. Ein bischen hier schustern, ein bischen da klempnern und schwups habe ich irgendwas neues, das mit C++ nix mehr zu tun hat. Meiner Meinung nach könnte man in dem Text C++ auch einfach durch Pascal ersetzen. Das Ergebnis würde sich für mich gleich anhören. Ein Wort: Krampf.
Ich kenne mich mit diesem ganzen Webgeschustere nicht aus, aber mir scheinen die wichtigen Anforderungen in diesem Bereich decken sich nicht wirklich mit den Stärken von C++.
-
suche den grund wieso hoster keine *.exe auf ihren server haben wollen
aus Sicherheitsgründen, bei Scriptsprachen kann man ja immer den Interpreter beinflussen, bei Executables gibt es diese Möglichkeit nicht so einfach (natürlich kann man sich dafür auch eine Sandbox bauen, ist aber kompliziert und teuer).
Aber es gibt ja auch C/C++ Interpreter [1], deswegen lässt sich das sicher dadurch emulieren
[1]
http://root.cern.ch/root/Cint.html
http://modules.apache.org/search?id=96
-
@Dimah:
PHP ist garnicht so lahm. sicher, nicht so schnell wie C++ - aber das ist im Web egal.
wenn dieses forum auf ner db basieren würde, dann hätten wir nie load-probleme gehabt!PHP hat einfach den vorteil, dass es schnell, sauber und einfach ist.
das dynamische einbinden von files ist in PHP sher mächtig - denn nicht jede webseite braucht alles.du kannst zB teile der seite updaten ohne das ganze paket kompilieren zu müssen - das rentiert sich.
eine webseite ist nämlich grundlegend anders als eine normale applikation.
eine normale applikation ist irgendwann mal fertig und dann steht sie. höchstens updates oder neuer versionen kommen dann noch.
aber bei einer webseite wird täglich was geändert.
wenn ich jedesmal wenn ich etwas ändere unsere ganze webseite kompilieren müsste - dann würde kaum noch was weitergehen.was meinst du mit:
'hinter PHP steht nur 1 Firma'
meinst du Zend?
ja, die stehen hinter PHP und supporten es, aber PHP ist open source, PHP steht unter der GPL!nun zu deinen punkten:
man baut ein freamwork um den g++,
ja, der gcc läuft fast überall. aber es gibt zB unter Windows keine wirklich gute IDE - das kostet wieder entwicklungszeit!
sammelt ein paar libs zusammen und wrappt sie hinter eine einheitlichen schnittstelle,
OK, ja das ist schön. aber dann hast du immer noch nicht die macht der PHP Library
baut ein präcompilier der das neue c++ in iso-c++ umschreibt
ich bin gegen meta compiler (einstellungssache)
suche den grund wieso hoster keine *.exe auf ihren server haben wollen
sicherheit!
n binary kann alles anrichten.
und was auch noch gibt: abstürtze. deine webseite kann einfach abstürtzen! und wenn du pech hast, zieht das andere teile mit.selbst wenn du das alles umsetzen kannst, so bleibt immer noch das problem der ewig langen entwicklungszeit, das problem des vielen kompilierens.
und wofür? da kannst du gleich Java nehmen und JSP Seiten schreiben...
ne, mal im ernst: PHP hat nicht nur zufällig die Nase vorn.
-
da hoster (unberechtigterweise finde ich) was gegen native executables haben ist der logische weg doch eine (sandboxable) vm, für die man ein gcc-backend bauen muss.
gegen meta-compiler habe ich übrigens auch was. und dieses referenzen-pointer zeugs finde ich nur verwirrender.
-
sicherheit!
n binary kann alles anrichten.
windows freak
und was auch noch gibt: abstürtze. deine webseite kann einfach abstürtzen! und wenn du pech hast, zieht das andere teile mit.
bei php zum glück nicht :pselbst wenn du das alles umsetzen kannst, so bleibt immer noch das problem der ewig langen entwicklungszeit, das problem des vielen kompilierens.
blödsinn, rechner werden jeden monat 100mhz schneller (keine anspielung )
-
ich glaub was ihr sucht ist "Managed C++"
*duck*
O'Dog
-
PHP ist garnicht so lahm. sicher, nicht so schnell wie C++ - aber das ist im Web egal.
wenn dieses forum auf ner db basieren würde, dann hätten wir nie load-probleme gehabt!hmm wird das nicht ehr unterschetzt? wenn die db auf den gleichen server leuft muss auch viel arbeit gemacht werden, natürlich kann eine db durch tricks und co. ne menge speed raushollen aber auch eine db hat ihre grenzen
PHP hat einfach den vorteil, dass es schnell, sauber und einfach ist.
das dynamische einbinden von files ist in PHP sher mächtig - denn nicht jede webseite braucht alles.du kannst zB teile der seite updaten ohne das ganze paket kompilieren zu müssen - das rentiert sich.
eine webseite ist nämlich grundlegend anders als eine normale applikation.
eine normale applikation ist irgendwann mal fertig und dann steht sie. höchstens updates oder neuer versionen kommen dann noch.
aber bei einer webseite wird täglich was geändert.
wenn ich jedesmal wenn ich etwas ändere unsere ganze webseite kompilieren müsste - dann würde kaum noch was weitergehen.jede page wäre ne eigene exe
was meinst du mit:
'hinter PHP steht nur 1 Firma'
meinst du Zend?
ja, die stehen hinter PHP und supporten es, aber PHP ist open source, PHP steht unter der GPL!du hast meine unwissenheit aufgedeckt
ja, der gcc läuft fast überall. aber es gibt zB unter Windows keine wirklich gute IDE - das kostet wieder entwicklungszeit!
man kann doch in msvc coden
ich bin gegen meta compiler (einstellungssache)
ok, wäre zu viel aufwand für den user und für uns
sicherheit!
n binary kann alles anrichten.
und was auch noch gibt: abstürtze. deine webseite kann einfach abstürtzen! und wenn du pech hast, zieht das andere teile mit.selbst wenn du das alles umsetzen kannst, so bleibt immer noch das problem der ewig langen entwicklungszeit, das problem des vielen kompilierens.
und wofür? da kannst du gleich Java nehmen und JSP Seiten schreiben...
ne, mal im ernst: PHP hat nicht nur zufällig die Nase vorn.
wofür? finde php eklig und bin fall in love with c++
ihr habt mich überzeugt, lohnt nicht die arbeit die man reinstekt
[ Dieser Beitrag wurde am 07.04.2003 um 00:57 Uhr von Dimah editiert. ]
-
Original erstellt von O'Dog:
**ich glaub was ihr sucht ist "Managed C++"*duck*
O'Dog**
wenn dann leiber c#
-
jede seite eine eigene exe?
ähem...
das geht nicht, das wäre redunanz pur!!jede PHP datei inkludiert zumindest eine system datei (in welcher essentielle sachen zu finden sind)
das müsste man dann in jede binary rein tun? was wenn sich davon etwas ändert (bei uns ca. 2-3mal täglich (neue features und bugfix))
wenn das Forum auf ner DB basieren würde, dann würde auch PHP reichen, denn PHP macht ein query (kostet quasi garnix) und die DB muss schwer schuften.
wenn wir die query kosten von fast garnix auf (fast garnix)/2 setzen, dann schuftet die DB immer noch ganz schwer und die optimierung von C++ bringt uns quasi nix (weil eben nicht PHP der flaschenhals ist, sondern die DB)aber wenn du willst, kannst du gerne bei meiner CPPGI-Library mitmachen - mit dieser will ich zumindest die Möglichkeit bieten mit C++ CGI Programme zu schreiben.
-
Original erstellt von Dimah:
**
wofür? finde php eklig und bin fall in love with c++**
@dimah
warte mal bis php5... da kannst du schon um einiges mehr objektorientiert sein, mit vielen neuerungen... ich bin zwar der meinung, das ist alles überkandidelt für eine serversprache, aber wenn es unbedingt sein muss.. da gibt es dann private und public, es gibt konstruktoren etc .. .es gibt echte referenzen, etc etc etc ..ps: und soviel ich gehört habe, lassen sie sich für die polymorphie auch was einfallen
pps: und schau dir mal die geschichte von php an.. enstanden zur VEREINFACHUNG, was meint, perl erschien zu kompliziert für das Einsatzgebiet, daß damals so im Blick war, Asp zu einseitig...
du kannst niemals niemals niemals eine so chaotisch gewachsene Sprache wie C++, aber über Jahre eben... eine Hochsprache... mit einer in so kurzer Zeit chaotisch gewachsenen Sprache wie Php vergleichen, es sind gar keine geschichtlichen Vergleichspunkte vorhanden, ebenso ist die Zielstellung von Anfang an eine andere gewesen etc etc etc.. einfach nebeneinander betrachtenpppps: hol dir mal den c quellcode (gibts zum download) von php und schau dir mal an, wie die es gemacht haben. du weißt ja, php ist in c geschrieben...
[unernst]kannst es ja in c++ umarbeiten und das $ zeichen wegradieren [/unernst]
*g*[ Dieser Beitrag wurde am 07.04.2003 um 08:02 Uhr von elise editiert. ]
-
mod_lisp?
*duckweg*
-
@bashar
mod_lisp ist nett
können ja mal schnelligkeit testen
-
das müsste man dann in jede binary rein tun? was wenn sich davon etwas ändert (bei uns ca. 2-3mal täglich (neue features und bugfix))
Dafür gibts .so oder .dll
dennoch bin ich genneral nicht sonderlich angetahn von der Idee
-
Original erstellt von kingruedi:
ist aber kompliziert und teuerKann man unter UNIX nicht Excutables automatisch nur mit bestimmten Rechten laufen lassen (keine Dateiveränderungen o.ä.)?
-
in Common Lisp kann man übrigens zur Laufzeit am Code rumdoktern (nur so, wegen der DLL-Idee)
-
in Assembler auch. Machen wir alle nur noch Assembler!!!
im ernst: wann muss man schon was anderes machen als dlls einbinden und prozeduren laden (vielleicht auch manchmal andere symbole...)
-
IF-THEN? im Ernst, wann kommt man denn mit IF-GOTO nicht mehr weiter? -- anonymer Fortran-Programmierer, überliefert