Soll ich C++ benutzen?
-
Artchi schrieb:
Daneben hat Facebook bereits früher einige rechenintensive und häufig genutzt Funktionen in C++ implementiert, so dass PHP nur als Mittler zwischen Backend und Nutzer auftritt.
PHP ist wirklich nur zum Scripten bei denen im Einsatz, und das wichtigste wurde schon vorher direkt in C++ implementiert. Und selbst das letzte unbedeutende PHP-Script wird noch in C++ umgewandelt.
Oha, das interpretierst du aber sehr ... einseitig. Könnte auch heißen, dass es nur einige wenige performance-kritische Stellen gab, die eben mit C++ implementiert wurden. Das muss mitnichten das "wichtigste" sein, können ja auch relativ unwichtige Spielereien sein.
Und sonst ist die Umwandlung in C++ doch irrelevant. Fasst man die Toolchain PHP->C++->Executable als ein einziges Tool auf, fällt C++ weg und es bleibt ein PHP-to-exe Compiler.
-
Also wenn ich das jetzt richtig verstehe:
Wenn man in einer Scriptsprache eine Funktion hat und diese aufruft, dann wird lediglich im Hintergrund Code einer höheren Programmiersprache (zb C++) verwendet und das Script dient nur zur Vereinfacherung des ganzen damit man sich nicht mit schwierigem (C++ -)Code rumschlagen muss?
-
"Skriptsprache" ist kein scharf definierter Begriff (und schon gar nicht das Gegenteil von "Programmiersprache").
wenn du einen Eindruck davon haben willst, was eine Skriptsprache ist, dann lies ein python-Tutorial oder besser, probiere eine typische Skriptsprache mal aus.
-
Hier geht es doch garnicht darum ob PHP als Scriptsprache nun auch zu den üblichen Programmiersprachen gehört. Natürlich ist PHP als so ziemlich vollwertige Programmiersprache anzusehen. Die Anwendungen die mit Hilfe von OOP/Designpatters HTML/JS/CSS als Frontend erstellt werden sind nicht weniger komplex als so manche Applikation die in C++/Qt für den Desktop erstellt wird.
Hier gibt es nur ein paar alte Hasen die den Teufel tun werden um einen Webentwickler auf die gleiche Stufe zu stellen wie einen, sagen wir mal Oldschool-Coder. Auch wenn ich gerne C++ lerne so habe ich doch weit aus mehr Respekt vor den Leuten die soviele Scriptsprachen, Server, Browser, Standards etc. unter einen Hut bekommen müssen und das mit der heutigen Qualitätsicherung. Ja, denn auch in PHP/Python/ASP etc. wird designt,dokumentiert, Unittest gefahren und so weiter.
Ich glaube hier herrscht bei den meisten der alten Onkels ziemliches Unwissen darüber wie Software heute für das Web entwickelt wird, jedenfalls sehen viele Antworten, von sonst hier sehr kompetenten C++lern, sehr stark dannach aus.
-
gutenmorgensorgen schrieb:
Ich glaube hier herrscht bei den meisten der alten Onkels ziemliches Unwissen darüber wie Software heute für das Web entwickelt wird, jedenfalls sehen viele Antworten, von sonst hier sehr kompetenten C++lern, sehr stark dannach aus.
Liegt wahrscheinlich daran, dass die meisten von denjenigen schon längst aus der Wirtschaft raus sind (oder eher noch nie drin waren...)
-
Wenn hier eine Umfrage nach Alter und Berufsumfeld gemacht werden würde, würdet ihr ganz schön dumm aus der Wäsche schauen. Von wegen alte Onkel, und aus der Wirtschaft längs raus.
Mein Alter: 33
Mein Umfeld: zwei Büros weiter arbeiten meine Kollegen an Web-Anwendungen, aber in Java (ich glaube JSP). Ein anderer Kollege von mir arbeitet mit PHP.Das Web-Programmierung minderwertig ist, kann ich aus den Forenbeiträgen auch nicht raus lesen. Wenn man natürlich selber Web-Programmierung mit PHP-only versteht, sollten sich lieber die PHPler an die Nase fassen.
Web-Programmierung ist überhaupt nicht minderwertiger. Und es gibt auch C++-Web-Frameworks, wie ATL Server, Wt (Witty) und Qt soll angeblich auch bald für Web-Programmierung herhalten.
Was die meisten hier wohl anprangern, ist die schlechtere Ergonomie von Web-UIs. Und hey, es wird immer wieder bewiesen, durch native Clients, die dem User die grottigen Web-UIs ersparen sollen. Bestes Beispiel?
Die Programmierung von Web-Anwendungen selbst ist natürlich nicht weniger herausfordernd. Was ich mit einem Web-UI machen oder nicht machen kann, ist davon jedoch unabhängig. Web-UI ist einfach nicht so weit wie native GUIs.
-
Artchi schrieb:
Web-Programmierung ist überhaupt nicht minderwertiger. Und es gibt auch C++-Web-Frameworks, wie ATL Server, Wt (Witty) und Qt soll angeblich auch bald für Web-Programmierung herhalten.
Und Tntnet
-
@Artchi: Das Web-UIs noch nicht so weit wie die ihre Pedants auf dem Desktop sind stimmt für weite Teile. Ich denke in naher Zukunft wird HTML5, WebGL und NativeApps in C++ für den Browser diesen Misstand mit Sicherheit mehr aus ausgleichen. Ich glaube irgendwie fest daran, dass man bald zu 99% nicht mehr brauchen wird als einen Browser. Das tatsächliche OS wird immer unwichtiger und die Leute die heute nicht sich für das "Webzeugs" begeistern können müssen sich die Nischen teilen die übrig bleiben.
-
anotherday schrieb:
Ich glaube irgendwie fest daran, dass man bald zu 99% nicht mehr brauchen wird als einen Browser.
Tbh glaub ich kaum dass sich dieses Extrem in naher Zukunft wirklich etablieren wird. Auch wenn vieles sich toll als Webanwendung mach ist bei weitem nicht alles wirklich gut dafür geeignet wenn du mich fragst. Ich seh zum Beispiel keinen Sinn darin Word oder Excel ernsthaft im Browser zu haben auch wenn es theoretisch möglich wäre, vielleicht für einzelne Aspekte aber nicht komplett. Google docs gibts ja schon seit einiger Zeit, macht mir nicht den Eindruck als hätte sowas ernsthaft Potential die entsprechenden Desktopanwendungen zu verdrängen. Manche Dinge erledigt man eben besser lokal. Und dafür hab ich schon mein Betriebssystem, da brauch ich nicht noch ein als Browser getarntes Betriebssystem im Betriebssystem...auf genau das würde das imo aber ultimativ hinauslaufen...
-
anotherday schrieb:
Ich glaube irgendwie fest daran, dass man bald zu 99% nicht mehr brauchen wird als einen Browser.
...dann kannst Du anscheinend einfach nicht weit genug über den Tellerrand gucken. Sag das mal den Numerikern, die CFD (computational fluid dynamics) betreiben. Sag das mal den Herstellern von Computertomographiegeräten. Sag das mal NASA, dass sie beim nächsten Mars-Rover einfach nen Browser auf's Gerät installieren sollen. Sag Adobe, dass Du die nächste Photoshop-Version als JavaScript-Anwendung haben willst... etc etc etc
-
Naja, irgendetwas wird immer noch die CPU steuern müssen. Und "echter" Code in Maschinensprache wird auch immer schneller sein als Webzeugs. Dass in naher Zukunft Desktop Systeme so schnell sind dass viele Office Programme usw. im Browser laufen (können) ist wohl kein Geheimnis mehr. Allerdings sollte man doch immer bedenken dass Low-Level Programmiersprachen zwar ohne Webzeugs laufen können - umgekehrt läuft da aber nicht so viel (bis gar nichts).
-
cooky451 schrieb:
Und "echter" Code in Maschinensprache wird auch immer schneller sein als Webzeugs.
-
Hey, ich verkauft dir echten Code. Brauchst du?
-
Rastacoda schrieb:
Hey, ich verkauft dir echten Code. Brauchst du?
Umbedingt - was willste dafür?
-
Isch biete zzzwei Döner und drrreieurofümfzisch!
-
cooky451 schrieb:
Naja, irgendetwas wird immer noch die CPU steuern müssen. Und "echter" Code in Maschinensprache wird auch immer schneller sein als Webzeugs. Dass in naher Zukunft Desktop Systeme so schnell sind dass viele Office Programme usw. im Browser laufen (können) ist wohl kein Geheimnis mehr. Allerdings sollte man doch immer bedenken dass Low-Level Programmiersprachen zwar ohne Webzeugs laufen können - umgekehrt läuft da aber nicht so viel (bis gar nichts).
Falls du dich mit Webzeugs ein wenig beschäftigst hättest, wüstest du dass mittlerweile im Browser(Chrome native SDK) auch richtige native Apps in C++ entwickelt werden können. Erkläre mir mal warum ich mich dann noch auf ein OS festnageln soll????? Für "normale" Apps reicht HTML5, WebGL und für performance kritsche Sachen dann C++ für den Browser. Ich glaube kaum dass rein für GUI ab 2014 viel ausserhalb des Browsers entwickelt wird.
-
thenextdayto schrieb:
Falls du dich mit Webzeugs ein wenig beschäftigst hättest, wüstest du dass mittlerweile im Browser(Chrome native SDK) auch richtige native Apps in C++ entwickelt werden können. Erkläre mir mal warum ich mich dann noch auf ein OS festnageln soll?????
Weil das der selbe Blödsinn ist den man uns seit Jahrhunderten erzählt.
Nimm Java, das läuft überall
Ne, du bindest dich damit eben an Chrome statt an das Betriebssystem X.Apps in Browsern sind jetzt halt voll modern. Aber das legt sich auch wieder.
-
Solange es keine einheitliche Schnittstelle für NativeApps gibt magst du recht haben, nur ist es so das es z.B. Chrome für recht viele OS gibt und schnell mal installiert werden kann. Warum also sollte ich mich mit den, in sehr naher Zukunft zum Standard gehörender Technologien, noch auf ein OS festlegen, das ergibt keinen Sinn.
Wer hier glaubt ewig nur auf dem alten Desktop Apps zu bedienen,der denkt ganz schön engstirnig. Ich träume mal, und stelle mir ein Photoshop-Backend vor das eben mal fast überall kompiliert werden kann. Die Bedienung erfolg dann über den Browser und es gibt die unterschiedlichesten Views dafür, sogar für Tablets oder Smartphones ist was dabei, und unter Linux springen die Leute im Dreieck. *hehe
Ne mal im Ernst, es wird hier wohl kaum Jemanden geben der glaubt das sich Technologien nicht weiterentwickeln, die grobe Richtung ist für mich da ganz klar zu erkennen.
-
hilberteff schrieb:
Solange es keine einheitliche Schnittstelle für NativeApps gibt magst du recht haben, nur ist es so das es z.B. Chrome für recht viele OS gibt und schnell mal installiert werden kann. Warum also sollte ich mich mit den, in sehr naher Zukunft zum Standard gehörender Technologien, noch auf ein OS festlegen, das ergibt keinen Sinn.
Stattdessen legst du dich halt auf Google Chrome fest - das ist exakt das selbe.
Es mag natuerlich in gewissen Situationen besser sein Chrome als Plattform zu haben als Windows, aber genauso gut gibt es Situationen wo Chrome als Plattform schlechter ist als zB Linux.Man bindet sich so oder so an eine Plattform - es ist marketing blabla wie man das nennt.
Ich träume mal, und stelle mir ein Photoshop-Backend vor das eben mal fast überall kompiliert werden kann. Die Bedienung erfolg dann über den Browser und es gibt die unterschiedlichesten Views dafür, sogar für Tablets oder Smartphones ist was dabei, und unter Linux springen die Leute im Dreieck. *hehe
SaaS gibt es schon - das Problem ist die Latenz. Gewisse Anwendungen muessen dort laufen wo die Daten liegen. Und das ist das Problem - davon wird man so schnell nicht weg kommen.
Ne mal im Ernst, es wird hier wohl kaum Jemanden geben der glaubt das sich Technologien nicht weiterentwickeln, die grobe Richtung ist für mich da ganz klar zu erkennen.
Und die Native API von Chrome ist sicher nicht die Zukunft. uU etabliert es sich wie Java und Co, aber es ist eine eingeschraenkte Plattform.
Viel interessanter sind da Cloud Systeme/SaaS. Denn da hat man wirklich neue Konzepte dabei. Dazu HTML5 und OpenGL ES und man kann auch rich clients bauen. Fuer viele Softwareloesungen ist das ideal. Ohne man ist ploetzlich wirklich an keine Plattform gebunden (nichtmal an HTML).
-
Mit der Latenz hast du Recht, aber ich glaube bei über 90% der Anwendungen spielt das keine große Rolle. Ich wollte mich auch nicht auf NativeApps festlegen, sondern zog diese nur bei besonders resourcenintensiven Anwendungen in Betracht. Die Mehrzahl der Apps wird wunderbar mit HTML5, WebGL etc. laufen.
Klar wird es immer Spezialanwendungen geben, sowie auch irgendwo die heute noch üblichen Desktopanwendungen, aber ich glaube nicht dass sie wie heute noch in überragender Mehrzahl vorhanden sein werden.
Ich überlege gerade wie ich die Zukunft damals zu C64er-Zeiten gesehen hätte, wo man noch per Akustikkoppler sich in eine Box eingewählt hat und dort gepostet hatte. Damals waren alle guten Programme in Assembler geschrieben und bedient wurde so ziemlich rein über Tastatur mit Anzeige einer Tastaturbelegung und gutem Gedächtnis. Das gibt es zwar heute auch noch, aber nur mit einem sehr geringen Anteil.
Ich schätze die Wahrscheinlichkeit für ziemlich hoch ein dass die Zukunft im Netz zusammen mit Touchbedienung liegen wird.
Die nächste Stufe werden Implatate sein vorher werden externe Geräte erkennen was man tun will und vielleicht gibt es in 20 Jahren auch schon erste brauchbare Gedanken-/Nervensteuerungen von Silvercreat bei Lidle *hehe