Wofür C++ und C?



  • Tim schrieb:

    Ich habe das nicht scherzhaft gemeint. Wie kommst du darauf?

    weil dieser satz:
    C++ ist wohl eine der geeignetsten Sprachen für wirklich große Projekte und überhaupt eine sehr gute Wahl
    sich anhört wie ein werbeslogan von stroustrup persönlich. das 'wohl' hättest du noch weglassen sollen, dann wär's perfekt gewesen 👍
    so kritiklos und blauäugig kennt man dich gar nicht. war voll die überraschung für mich.
    🙂



  • Undertaker schrieb:

    so kritiklos und blauäugig kennt man dich gar nicht.

    Willst du damit sagen, dass wir alle kritiklos und blauäugig sind, weil wir Java scheiße finden und C++ nicht (so sehr)?



  • Undertaker schrieb:

    Tim schrieb:

    Ich habe das nicht scherzhaft gemeint. Wie kommst du darauf?

    weil dieser satz:
    C++ ist wohl eine der geeignetsten Sprachen für wirklich große Projekte und überhaupt eine sehr gute Wahl
    sich anhört wie ein werbeslogan von stroustrup persönlich. das 'wohl' hättest du noch weglassen sollen, dann wär's perfekt gewesen 👍
    so kritiklos und blauäugig kennt man dich gar nicht. war voll die überraschung für mich.
    🙂

    Naja, ich bin halt davon überzeugt, dass C++ für große Projekte wie das erwähnte Photoshop sehr gut geeignet ist. Dass ich persönlich von C++ nicht so begeistert bin ist da weniger interessant 😉

    PS: Sorry für ot



  • Also muss ich, um gut programmieren zu können und auf alles vorbereitet zu sein, mehrere Sprachen gut können?



  • Mr. N schrieb:

    Willst du damit sagen, dass wir alle kritiklos und blauäugig sind, weil wir Java scheiße finden und C++ nicht (so sehr)?

    teilweise, bei vielen ist es einfach nur eine glaubensfrage (siehe z.b. sprüche wie 'better dead than .NET)

    Tim schrieb:

    Naja, ich bin halt davon überzeugt, dass C++ für große Projekte wie das erwähnte Photoshop sehr gut geeignet ist.

    das ist wirklich schwer zu sagen. photoshop stammt ja irgendwie aus der zeit des C++ hypes (oder kurz davor). womöglich würde ein photoshop, wenn es in der heutigen zeit entstanden wäre, in einer anderen programmiersprache geschrieben sein.

    Alvarez schrieb:

    Also muss ich, um gut programmieren zu können und auf alles vorbereitet zu sein, mehrere Sprachen gut können?

    es kann jedenfalls nicht schaden, wenn man sich verschiedene sprachen anschaut. unterschiedliche konzepte kennenzulernen ist ziemlich spannend, aber ich kenne leider auch viel zu wenige.
    🙂



  • Und ist C++ eine Sprache, die für den Anfang geeignet ist?



  • Das dumme an Java ist, dass es immer eine VM braucht, wenn es wie C++ auch direkt als Maschinencode auf dem Rechner laufen würde, dann wäre es für Desktopanwendungen auch gut geeignet. Und man konnte es auch nicht so einfach dekompilieren. So bleibt Java meinstens nur für den Serverbereich, weil das oft spezielle Programme sind, die für Firmen entwicckelt wurden und deshalb kein interesse am dekompilieren vorhanden ist. C++ Programme kann man halt einfacher auf PCs verteilen, ohne das es bald ein Konkurrenzprodukt gibt, das auf meinem Source basiert.

    Alvarez schrieb:

    Und ist C++ eine Sprache, die für den Anfang geeignet ist?

    Gibt wahrscheinlich einfachere und bessere Sprachen für Anfänger, aber es geht auch mit C++, auch wenn es ne ganze weile braucht, bis es richtig gutes C++ ist.



  • Ahso, ok.
    Ich bin ja kein blutiger Anfänger.^^
    Nur mal so am Rande, hier wird oft gesagt große Projekte mit vielen Leuten ist schwer mit C++ realisierbar. In welcher Sprache werden dann große Projekte wie WoW geschrieben, ich denke mal, da arbeiten sehr viele Leute dran. Ausser Java und C++ bleibt da doch nicht viel, oder?



  • Alvarez schrieb:

    Nur mal so am Rande, hier wird oft gesagt große Projekte mit vielen Leuten ist schwer mit C++ realisierbar.

    Ist das nicht ein wunderbares Beispiel für diesen Effekt: http://www.spiegel.de/wissenschaft/mensch/0,1518,504087,00.html ? Die Behauptung hat hier genau einer aufgestellt, aber die daraus entstehende Diskussion darüber und vor allem dagegen verschwimmt vor dem Auge des Außenstehenden, und einen Tag später nimmt er das alles als Bestätigung wahr.



  • Alvarez schrieb:

    In welcher Sprache werden dann große Projekte wie WoW geschrieben, ich denke mal, da arbeiten sehr viele Leute dran. Ausser Java und C++ bleibt da doch nicht viel, oder?

    In C++ natürlich.
    Mach nicht den Fehler, Undertaker ernst zu nehmen.



  • Undertaker schrieb:

    Tim schrieb:

    Naja, ich bin halt davon überzeugt, dass C++ für große Projekte wie das erwähnte Photoshop sehr gut geeignet ist.

    das ist wirklich schwer zu sagen. photoshop stammt ja irgendwie aus der zeit des C++ hypes (oder kurz davor). womöglich würde ein photoshop, wenn es in der heutigen zeit entstanden wäre, in einer anderen programmiersprache geschrieben sein.

    Photoshop? Welche (einzelne) andere Sprache wäre für Photoshop denn brauchbar?



  • Undertaker schrieb:

    Simon2 schrieb:

    Aber wie könnte er dann der Sprache C++ einen "Strick daraus drehen" wollen ?

    er wollte doch nur zeigen, welche fiesen fehler durchschnittlichen codern mit C++ passieren können, sogar bei so einer leichten aufgabe. ...

    Ähhhh was soll denn an einer falsch gestellten Aufgabe "leicht" sein ?
    Nach der Logik könnte ich auch "belegen", wie schwer Java ist, indem ich einem Programmierer das Schreiben von (C++)-templates oder die Nichtverwendung von garbage collecting in seine Java-Aufgabe vorschreibe...

    Gruß,

    Simon2.



  • Alvarez schrieb:

    Ahso, ok.
    Ich bin ja kein blutiger Anfänger.^^
    Nur mal so am Rande, hier wird oft gesagt große Projekte mit vielen Leuten ist schwer mit C++ realisierbar. In welcher Sprache werden dann große Projekte wie WoW geschrieben, ich denke mal, da arbeiten sehr viele Leute dran. Ausser Java und C++ bleibt da doch nicht viel, oder?

    Das kommt immer ganz auf das Projekt an, große Projekte verschlingen ungeheuer viel Ressourcen, sodass du noch mit vielen anderen Faktoren zu kämpfen hast als der Wahl der Programmiersprache. Die eigentliche Wahl der Programmiersprache erfolgt in Abhängigkeit zum Projekt, es gibt Sprachen die eignen sich für eine Aufgabe besser als andere Sprachen. Du kannst ja eine Mail an Blizzard schreiben und nachfragen was sie dazu bewogen hat C++ zu verwenden.

    Allgemeines Geblubber:

    Du hast geschrieben du bist "blutiger" Programmieranfänger. Ich empfehle dir als erstes ein Buch über Softwaretechnik zu lesen und versuchen die verschiedensten Konzepte zu verstehen. Du solltest wenn du die Studien intensiv betreibst auch ein Gefühl für die Herangehensweise an Probleme und deren Umsetzung in einer Programmiersprache entwickeln. Nebenbei würde ich in einen "reinen" Vertreter des jeweiligen "Paradigmas" hineinschauen, d.h. zum Anfang vielleicht C (prozedural, imperativ). Für den Einstieg in die OOP schlage ich Eiffel vor, einfach aus dem Grund das die Sprache einfach zu lernen ist und dich bei der Umsetzung von Problemen "unterstützt". Auch sind nützliche Sachen wie die Def. von Vor- und Nachbedingungen von der Sprache her vorhanden.

    Wichtig ist immer kleine Projekte in der jeweiligen Sprache zu starten und durchzuziehen. Es ist auch nicht verkehrt das gleiche Projekte in verschiedenen Sprachen umzusetzen.

    Wenn du dann fit in den wichtigsten Konzepten und deren Anwendung bist, wird dir das Lernen einer neuen Sprache recht leicht fallen und du wirst schnell merken was dir die Sprache bietet und welche Macken sie hat, vorausgesetzt du setzt dich intensiver mit ihr auseinander. Im Endeffekt wirst du mehrere Sprachen lernen und 1-2 Hauptsprachen haben in denen du dich wirklich gut auskennst und die dir das bieten was du suchst.

    tt

    PS: C++ für den blutigen Anfänger halte ich für ungeeignet.



  • Alvarez schrieb:

    In welcher Sprache werden dann große Projekte wie WoW geschrieben, ich denke mal, da arbeiten sehr viele Leute dran.

    soweit ich weiss, werden bei solchen programmen oft die performancekritischen teile (grafik engine etc.) in C oder C++ programmiert und alles weitere mit einer eingebetteten scriptsprache.

    Mr. N schrieb:

    Photoshop? Welche (einzelne) andere Sprache wäre für Photoshop denn brauchbar?

    theoretisch vieles. C, assembler, etc. für irgendwelche selbstgemachten hi-speed grafikeffekte oder ein plattformunabhängiger layer über ogl, direct-x (was weiss ich, kenne mich da nicht so aus ob man das auch für 2-d bildbearbeitung ausschlachten kann), z.b. Java für das drumherum (wegen plattformunabhängigkeit). es kommt auf viele faktoren an, kernkompetenz der entwickler-crew, wie soll die software im markt plaziert werden, soll sie nur unter win laufen oder auch auf Macs und solaris workstations, fallen linzenzen an für zusatz-libraries usw...usw.. die auswahlmöglichkeiten sind heutzutage unüberschaubar.

    Simon2 schrieb:

    Ähhhh was soll denn an einer falsch gestellten Aufgabe "leicht" sein ?
    Nach der Logik könnte ich auch "belegen", wie schwer Java ist, indem ich einem Programmierer das Schreiben von (C++)-templates oder die Nichtverwendung von garbage collecting in seine Java-Aufgabe vorschreibe...

    nö, ist doch ganz normal, dass in solche aufgaben fallstricke eingebaut werden. ausserdem fordert er ja nichts unmögliches und für einen erfahrenen C++ coder ist das doch ein klacks (falls die aufgabe mit C++ unlösbar wäre, hätte der tester dafür sicher auch ein ohr gehabt). man muss eben genau aufpassen und wissen, was man tut. aber, ich denke, als C++ programmierer ist man doch sowieso daran gewöhnt, ständig auf der hut zu sein. nichts anderes wollte er mit dem test abklopfen, nämlich, ob die anwender der komplexität der sprache gewachsen sind.
    🙂



  • --------------------------
                             /|  /|  |                          |
                             ||__||  |       Trolle bitte       |
                            /   O O\__           nicht          |
                           /          \         füttern!        |
                          /      \     \                        |
                         /   _    \     \ ----------------------
                        /    |\____\     \     ||
                       /     | | | |\____/     ||
                      /       \|_|_|/   |    __||
                     /  /  \            |____| ||
                    /   |   | /|        |      --|
                    |   |   |//         |____  --|
             * _    |  |_|_|_|          |     \-/
          *-- _--\ _ \     //           |
            /  _     \\ _ //   |        /
          *  /   \_ /- | -     |       |
            *      ___ c_c_c_C/ \C_c_c_c____________
    


  • Artchi schrieb:

    --------------------------
                             /|  /|  |                          |
                             ||__||  |       Trolle bitte       |
                            /   O O\__           nicht          |
                           /          \         füttern!        |
                          /      \     \                        |
                         /   _    \     \ ----------------------
                        /    |\____\     \     ||
                       /     | | | |\____/     ||
                      /       \|_|_|/   |    __||
                     /  /  \            |____| ||
                    /   |   | /|        |      --|
                    |   |   |//         |____  --|
             * _    |  |_|_|_|          |     \-/
          *-- _--\ _ \     //           |
            /  _     \\ _ //   |        /
          *  /   \_ /- | -     |       |
            *      ___ c_c_c_C/ \C_c_c_c____________
    

    😃 😃 😃 👍
    Wieso verteidigt Undertaker sonst hier einen 6 Jahre alten Pflaumenbeitrag einer offensichtlichen Pflaume ?
    (und wieso mache ich da eigentlich mit ? Vermutlich weil Undertaker versucht, sich die in Bashars zitiertem Spiegelartikel dargestellte "Werbestrategie" zunutze zu machen .... OK, muss er halt alleine weitermachen, wenn er es unbedingt braucht)

    Danke für den Hinweis,

    Simon2.



  • Simon2 schrieb:

    Wieso verteidigt Undertaker sonst hier einen 6 Jahre alten Pflaumenbeitrag einer offensichtlichen Pflaume ?

    wieso pochst du so auf das alter des beitrags? wäre der artikel gestern erschienen, würde er nicht viel anders sein. ich glaube, vor 6 jahren wurde sogar noch viel mehr in C++ programmiert als heute.
    🙂



  • Undertaker schrieb:

    Simon2 schrieb:

    Wieso verteidigt Undertaker sonst hier einen 6 Jahre alten Pflaumenbeitrag einer offensichtlichen Pflaume ?

    wieso pochst du so auf das alter des beitrags? wäre der artikel gestern erschienen, würde er nicht viel anders sein. ich glaube, vor 6 jahren wurde sogar noch viel mehr in C++ programmiert als heute.
    🙂

    Der Punkt, dass string und smart pointer alles beheben, was der Autor will, er aber dazu lediglich schreibt

    But they only help. The fundamental problem still remains -- it is too easy to write subtly wrong code and the language is littered with booby-traps.

    Wo ist da der Sinn? Zu sagen, sie helfen, aber man kann ja auch ohne!



  • Undertaker schrieb:

    Alvarez schrieb:

    In welcher Sprache werden dann große Projekte wie WoW geschrieben, ich denke mal, da arbeiten sehr viele Leute dran.

    soweit ich weiss, werden bei solchen programmen oft die performancekritischen teile (grafik engine etc.) in C oder C++ programmiert und alles weitere mit einer eingebetteten scriptsprache.

    Allerallermeistens C++ und nicht C.

    Undertaker schrieb:

    Mr. N schrieb:

    Photoshop? Welche (einzelne) andere Sprache wäre für Photoshop denn brauchbar?

    theoretisch vieles. C, assembler, etc. für irgendwelche selbstgemachten hi-speed grafikeffekte oder ein plattformunabhängiger layer über ogl, direct-x (was weiss ich, kenne mich da nicht so aus ob man das auch für 2-d bildbearbeitung ausschlachten kann), z.b. Java für das drumherum (wegen plattformunabhängigkeit). es kommt auf viele faktoren an, kernkompetenz der entwickler-crew, wie soll die software im markt plaziert werden, soll sie nur unter win laufen oder auch auf Macs und solaris workstations, fallen linzenzen an für zusatz-libraries usw...usw.. die auswahlmöglichkeiten sind heutzutage unüberschaubar.

    Nein, die Auswahlmöglichkeiten sind nicht unüberschaubar. Ich will mal zu jeder einzelnen Sprache etwas sagen. (Hast du das "einzelne" eigentlich überlesen?)

    C: Für ein derartig komplexes Programm wie Photoshop einfach nicht praktikabel, außerdem hat man da keine Vorteile gegenüber C++ (C und C++ sind zwar nicht kompatibel, aber man kann in C++ alles machen, was in C geht).

    Assembler: Wird ja durchaus gemacht, aber wirklich nur für einige wenige zentrale Stellen und mit zunehmend besseren Compilern benötigt man das auch immer seltener. Ein weiteres Problem ist, dass Assembler.. eher nicht plattformübergreifend ist.

    OpenGL: Das ist keine Programmiersprache.

    Java: Programme wie Photoshop brauchen viel Speicher. Es heißt, Garbage Collection ist dann brauchbar, wenn man nicht unwesentlich mehr Speicher hat als man theoretisch benötigt. Die reinste Verschwendung... Außerdem will ich lieber gar nicht erst versuchen, komplexe Filtereffekte in Java zu implementieren.



  • LALALALA schrieb:

    Der Punkt, dass string und smart pointer alles beheben, was der Autor will, er aber dazu lediglich schreibt

    But they only help. The fundamental problem still remains -- it is too easy to write subtly wrong code and the language is littered with booby-traps.

    Wo ist da der Sinn? Zu sagen, sie helfen, aber man kann ja auch ohne!

    er sagt damit indirekt, dass C++ so ziemlich kaputt ist, aber teilweise seine eigenen reparatursets mitliefert.
    🙂


Anmelden zum Antworten