Was wird alles mit c++ gemacht?



  • Wo wird den C++ in Webseiten benutzt?
    Ist doch wohl eher C#.
    Kann mich bitte mal einer aufklären!
    Ich kenne keine Umgebung für Webseiten in C++



  • C++'er schrieb:

    Wo wird den C++ in Webseiten benutzt?

    CGI, tntnet...

    cu André



  • Danke, ist ja Hammer.
    Hätte ich nicht gedacht.

    Aber ist da C# nicht effektiver?
    Ich denke mal das ist eher mit Kanonen auf Spatzen schießen.
    Oder irre ich mich da?



  • Eigentlich sollte das auch mit CGI gehen.
    Google mal nach C++ CGI, da gibts einiges an Tutorials etc.



  • asc schrieb:

    C++'er schrieb:

    Wo wird den C++ in Webseiten benutzt?

    CGI, tntnet...

    cu André

    Danke für den Link 😉 .

    Und ob man damit mit Kanonen auf Spatzen schiesst, muss jeder selbst entscheiden. Es gibt viele Anwendungsbereiche, wo tatsächlich C++ im Web besser geeignet ist, als die andere Webtechnologien.



  • tntnet schrieb:

    Es gibt viele Anwendungsbereiche, wo tatsächlich C++ im Web besser geeignet ist, als die andere Webtechnologien.

    was denn z.b?
    🙂



  • ~fricky schrieb:

    tntnet schrieb:

    Es gibt viele Anwendungsbereiche, wo tatsächlich C++ im Web besser geeignet ist, als die andere Webtechnologien.

    was denn z.b?
    🙂

    lieber ~fricky: ich möchte hier keinen Flamewar los treten, daher lass ich die Aussage einfach mal so stehen. Du kannst mir glauben, dass Tntnet aus guten Grund hier und da verwendet wird.



  • tntnet schrieb:

    lieber ~fricky: ich möchte hier keinen Flamewar los treten, daher lass ich die Aussage einfach mal so stehen.

    keine angst, ich trolle nur in RudP rum. mich würde wirklich ernsthaft interessieren, wie du deine aussage: "Es gibt viele Anwendungsbereiche, wo tatsächlich C++ im Web besser geeignet ist, als andere Webtechnologien." begründen kannst. mit ausführungsgeschwindigkeit ja wohl kaum, weil eine webanwendung doch keinen einfluss auf die wirklichen flaschenhälse hat.
    🙂



  • ~fricky schrieb:

    keine angst, ich trolle nur in RudP rum. mich würde wirklich ernsthaft interessieren, wie du deine aussage: "Es gibt viele Anwendungsbereiche, wo tatsächlich C++ im Web besser geeignet ist, als andere Webtechnologien." begründen kannst.

    Auch wenn mich die Argumente auch interessieren (Ich kenne von tntnet nur die Seite und habe es selbst nie verwendet)....

    ~fricky schrieb:

    mit ausführungsgeschwindigkeit ja wohl kaum, weil eine webanwendung doch keinen einfluss auf die wirklichen flaschenhälse hat.

    ...habe ich schon genügend Seiten erlebt, bei denen der Flaschenhals nicht in der Verbindung zu suchen war. Die nächste Frage ist natürlich wie verhält es sich mit der Serverauslastung bei vielen Benutzern, ich könnte mir denken (aber nur intuitiv) das hier die C++ Lösung schneller und Ressourcenschonender als einige Alternativen ist.

    cu André



  • Ich hab da mal dieses Dokument gefunden:
    http://www.adevel.com/amodules3/attachment/wiki/WikiStart/About_AModules3.pdf?format=raw
    Es geht nicht direkt um C(++). Aber der Vergleich der einzelnen Technologien ist sicherlich interessant.
    Hauptvorteil ist die Ausführungsgeschwidigkeit. Ist ja alles Binary und muss nicht erst durch den Interpreter. Bis zu 1000 Anfragen/Sekunde (zum Vergleich: Perl <=50, Java <=200) können verarbeitet werden, mehrere tausend gleichzeitig laufende sessions cachen.
    Das alles sind natürlich eher seltener benötigte Fähigkeiten. Aber für z.B. ebay, wo diese Zahl leicht erreicht wird, könnte das sicherlich interessant sein (OK, die haben wohl eher viele Server, die die Anfragen verteilt bearbeiten...)



  • Hi,

    ok - ihr habt mich überredet 😉 .

    Die Ausführungsgeschwindigkeit ist sicher ein Thema. Das lässt sich auch mit anderen Techniken erreichen, aber es ist halt eine Alternative.

    Der Speicherverbrauch spielt sowohl im Embedded-Bereich eine Rolle, wie auch auf hochbelasteten Servern. Da hat Tntnet mit C++ seine Stärke. Wobei es speicherhungriger, als eine reine Embedded-Lösung ist. Im Embedded-Bereich kommt natürlich noch die in der Regel langsame CPU zum Tragen. Tntnet wird beispielsweise von FreeWRT verwendet, da sich damit der Speicherverbrauch in Grenzen hält (vor allen Dingen hier der Flash-Speicher). Und auch die Antwortzeiten einer Tntnet-Applikation sind auf so einen WRT-Router erstklassig.

    Mindestens zwei Applikationen, die mit Tntnet realisiert wurde, sind Closed-Source. Da kommen Techniken wie PHP oder Perl nicht in Frage. Und auch Java muss man gewisse Anstrengungen unternehmen, um den Source-Code nicht offen zu legen. Ich finde es echt erstaunlich, wie lesbar so decompilierte class-Dateien sind.

    In einem bestehenden Projekt, welches in C und C++ realisiert ist, sollte eine Weboberfläche realisiert werden. Da kam es zu gute, dass man die bestehenden C- und C++-Sachen weiter verwenden konnte. Ausserdem spielte hier eine Rolle, dass das System möglichst kurze Latenzen aufweisen soll und man jegliche unnötige CPU-Last vermeidet. Hier spielte natürlich auch das Know-How des Teams eine Rolle. Statt eine neue Sprache zu lernen, konnte man seine C++-Kenntisse im Web einsetzen.

    Im Open-Source-Bereich gibt es natürlich immer den Spaßfaktor als Argument. Es gibt viele Menschen (ich zähle mich dazu), die einfach gerne C++ programmieren.

    Sicher gibt es auch andere Techniken, aber genau so wie ich Fragen kann: "Warum soll ich Tntnet nehmen? Das geht doch auch in ...", kann ich die Frage genausogut anders rum stellen. Ich bin der Meinung, dass C++ eine gute Sprache ist, die mir vieles bietet und daher seine Daseinsberechtigung hat. Sicher hat sie auch seine Schwächen, aber welches System hat keine?

    Übrigens schafft Tntnet mehrere tausend Requests pro Sekunde. Je nach Applikation natürlich. Einfache Anwendungen liegen von der Performance im Bereich von statischen Seiten.



  • Browserspiele wären auch ein Anwendungsbereich, wo die Performance sehr wichtig sein kann. Und ich will mal das C++ Web Toolkit in den Raum werfen.



  • ja gut das meinte ich tntnet.
    danke 🙂
    und Badestrand_ ich guck mir das mal an.
    auch danke



  • Spiele wurden zwar am Rande erwähnt, aber scheinen nicht die ihnen zustehende Würdigung erhalten zu haben. 🙂

    Tatsächlich ist es so, dass heutzutage die meisten kommerziellen Computerspiele in C++ geschrieben sind. Nicht zuletzt, weil man sowohl hardwarenahe als auch auf hoher Abstraktionsebene arbeiten kann und Performance oft eine wichtige Rolle spielt. Natürlich wird nicht nur in der Sprache selber programmiert, für die Spieleprogrammierung wurden sogar spezielle APIs entwickelt. Vielleicht sagt dir DirectX oder OpenGL etwas. Davon abstrahiert entstanden wieder Frameworks, die einen bestimmten Bereich abzielten (zum Beispiel 2D-Programmierung und Plattformunabhängigkeit wie bei SFML).



  • Nexus schrieb:

    Spiele wurden zwar am Rande erwähnt, aber scheinen nicht die ihnen zustehende Würdigung erhalten zu haben. 🙂

    Absolut 👍

    Nexus schrieb:

    für die Spieleprogrammierung wurden sogar spezielle APIs entwickelt. Vielleicht sagt dir DirectX oder OpenGL etwas.

    Na ja, ich denke nicht, dass DirectX speziell für Spiele entwickelt wurde. Es ging doch eher darum, vor die Hardwarekommunikation noch eine Schicht zu packen, damit man sich für seine Software mit den spezifischen Eigenschaften einer bestimmten Hardware (z.B. Soundkarte) nicht mehr rumschlagen muss. Das bringt doch aber vielen Applikationen einen enormen Vorteil, nicht nur Spielen. Korrigier mich, falls ich mich irre.



  • Ursprünglich und Heute zum Grössten Teil in der Spieleindustrie eingesetzt:

    http://de.wikipedia.org/wiki/DirectX



  • wo wir grade bei spiele sind ich versuche gerade einen array in einer console
    mit a und d nach links und rechts zu bewegen. Ich weiß zwar das es den ganzen code zu posten sehr ungünstig ist. Aber es geht nicht anders!

    #include<conio.h>
    #include<iostream>
    char a = 97;
    char d = 100;
    char mainin = 1;
    char p[] = {"#####"};
    int pleft();
    int pright();
    int instream()
    {
     while(true)
     {
      std::cin>>mainin;
      if(mainin == a)
      {
       pleft();
      }
      else if(mainin ==d)
      {
       pright();
      }
     }
    }
    int pleft()
    {
     std::cout<<a;
    }
    int pright()
    {
     std::cout<<d;
    }
    

    natürlich gibt es noch eine cpp datei die instream ausführt...



  • Du hast vergessen zu erwähnen, was nicht funktioniert. 😃

    Btw, ich würde dir empfehlen, mindestens 2 Zeichen einzurücken. So ist das doch eher schlecht lesbar.



  • ja?!



  • lol hm okay ^^ also verbeserrung

    #include<conio.h>
    #include<iostream>
    char a = 97;
    char d = 100;
    char mainin = 1;
    char p[] = {"#####"};
    
    int pleft();
    int pright();
    
    int instream()
    {
    
     while(true)
     {
      std::cin>>mainin;
    
      if(mainin == a)
      {
       pleft();
      }
    
      else if(mainin ==d)
      {
       pright();
      }
    
     }
    }
    
    int pleft()
    {
     std::cout<<a;
    }
    
    int pright()
    {
     std::cout<<d;
    }
    

    so ich denke so ists besser.
    Also mein problem ist das ich nicht weiß wie man
    p[] auf der konsole per tastendruck nach links bzw
    nach rechts bewegt. Und das wenn man zb a gedrückt hält
    das dann vom programm sofort eine reaktion kommt. Wenn man a dann
    loslassen würde dann würde auch die Reaktion aufhören.
    Verstanden??


Anmelden zum Antworten