C++ vs. Java - Kleine Fallstudie gefällig?



  • rapso schrieb:

    "hui, gut, java hat also vorteile in dem gebiet in dem es benutzt wird und niemand dran zweifelte, so wayne?"

    Das kann zwar sein, dass das am Ende gesagt wird. Fakt ist aber, dass es hier genug Leute gibt, die sagen: "Das kann man mit C++ alles genauso gut, genauso einfach und genauso schnell." Falls es schief geht werden die natürlich nachher alle was anderes gesagt haben. 😉

    Interessant daran finde ich, dass man damit mal überprüfen kann, ob es stimmt, dass die Entwicklungszeiten kürzer sind und vieles einfacher ist. Und dazu gehört auch die Anbindbarkeit an Libraries. Aus der Anwendung einfach den (durchaus auch gelegentliche bestrittenen) Vorteil der großen Library rauszunehmen ist nicht wirklich fair. Imho geht es hier doch eher darum nicht nur die Sprachen zu vergleichen, sondern die komplette Infrastruktur und alles was eben mit dranhängt, wenn man sich entscheidet in Sprache xy zu implementieren.



  • Entwicklungszeiten sind aber stark abhängig von Software-Werkzeuge ;o



  • Zeus schrieb:

    Entwicklungszeiten sind aber stark abhängig von Software-Werkzeuge ;o

    Sehr gut erkannt!



  • Jester schrieb:

    rapso schrieb:

    "hui, gut, java hat also vorteile in dem gebiet in dem es benutzt wird und niemand dran zweifelte, so wayne?"

    Das kann zwar sein, dass das am Ende gesagt wird. Fakt ist aber, dass es hier genug Leute gibt, die sagen: "Das kann man mit C++ alles genauso gut, genauso einfach und genauso schnell." Falls es schief geht werden die natürlich nachher alle was anderes gesagt haben. 😉

    ich habs in den vorherigen thread schon geposted:

    für jeden zweck hat man längst eine Programersprache entwickelt (nicht in etwa so: wir bruchen eine neue sprace , egal wo zu sie gut sei! xD)

    drum halt ich das für einen flamer-thread thread-ersteller meinte dazu "Dauerbrenner-Thread " ..

    so ha ich mit meiner meinung recht ? ja,:

    PHP zB sieht fast so as wie C++, hat aber diverse unterschiede. Was kann man damit Programieren - sher viel mit geringen aufwand. (ein Gästebuch hab Ich inner halb von 10h programiert). würde man für so etwas C++ nutzen?? nein da man einen eigenen Webserver Programieren müsste.

    Hoffe mal das es keine zweifel mehr gibt, warum es verschiedene Programiersprachen gibt !

    ich weis auch nicht ob es sin voll ist wegen 5% mehr usern etwas in C++ zu entwickel was dann ca 50% mehr kostet!
    einlösung wäre das man seiten Kompilieren kann - aber dadurch wächst das Problem mit webspace anbietern und hackern!



  • LinkeT schrieb:

    PHP zB sieht fast so as wie C++, hat aber diverse unterschiede. Was kann man damit Programieren - sher viel mit geringen aufwand. (ein Gästebuch hab Ich inner halb von 10h programiert). würde man für so etwas C++ nutzen?? nein da man einen eigenen Webserver Programieren müsste.

    Yo, da hat jemand Ahnung von CGI, tntnet, Witty und ATL-Server. Du bist wirklich in der C++-Welt zu Hause. 👍



  • LinkeT schrieb:

    PHP zB sieht fast so as wie C++, hat aber diverse unterschiede. Was kann man damit Programieren - sher viel mit geringen aufwand. (ein Gästebuch hab Ich inner halb von 10h programiert).

    dann hast du aber 3 mal länger gebraucht als es mit PHP normal wäre 😉



  • Jester schrieb:

    rapso schrieb:

    "hui, gut, java hat also vorteile in dem gebiet in dem es benutzt wird und niemand dran zweifelte, so wayne?"

    Das kann zwar sein, dass das am Ende gesagt wird. Fakt ist aber, dass es hier genug Leute gibt, die sagen: "Das kann man mit C++ alles genauso gut, genauso einfach und genauso schnell." Falls es schief geht werden die natürlich nachher alle was anderes gesagt haben. 😉

    Interessant daran finde ich, dass man damit mal überprüfen kann, ob es stimmt, dass die Entwicklungszeiten kürzer sind und vieles einfacher ist. Und dazu gehört auch die Anbindbarkeit an Libraries. Aus der Anwendung einfach den (durchaus auch gelegentliche bestrittenen) Vorteil der großen Library rauszunehmen ist nicht wirklich fair. Imho geht es hier doch eher darum nicht nur die Sprachen zu vergleichen, sondern die komplette Infrastruktur und alles was eben mit dranhängt, wenn man sich entscheidet in Sprache xy zu implementieren.

    Eben, es geht in den ganzen Threads nicht darum, ob man überhaupt etwas in einer Sprache realisieren kann. (ausgenommen wirklich seeeeeeehr spezielle Gebiete, aber über die man sich dann auch einig ist) Es geht um Businessanwendungen. Ich selber entwickle Java-Business-Anwendungen seit ca. 7 Jahren. Und ich weiß, das es z.B. für Java eine Unmenge an Tools, Libs und Frameworks gibt. Ich bin der letzte, der sagt, das man mit Java keine Businessanwendung entwickeln kann. ABer das was mich stört, sind Aussagen, das man es mit C++ nicht vernünftig hinbekommt. Das ist ja der Punkt. LinkeT ist wieder so ein Spezi, der meint, man kann mit C++ keine dynamischen Webseiten programmieren. Eben genau das ist es! Auch in diesem Thread hieß es, das es wohl Probs geben würde, wenn wir eine RDBMS ansprechen wollen. Und wir wohl selbst bei einer DB2 auf die Nase fallen würden. So als ob IBM für ihre DB2 keine Schnittstelle für C/C++-Programme bereitstellen würde. Wie kann man auf so einen Gedanken kommen?



  • Jester schrieb:

    rapso schrieb:

    "hui, gut, java hat also vorteile in dem gebiet in dem es benutzt wird und niemand dran zweifelte, so wayne?"

    Das kann zwar sein, dass das am Ende gesagt wird. Fakt ist aber, dass es hier genug Leute gibt, die sagen: "Das kann man mit C++ alles genauso gut, genauso einfach und genauso schnell." Falls es schief geht werden die natürlich nachher alle was anderes gesagt haben. 😉

    Interessant daran finde ich, dass man damit mal überprüfen kann, ob es stimmt, dass die Entwicklungszeiten kürzer sind und vieles einfacher ist. Und dazu gehört auch die Anbindbarkeit an Libraries. Aus der Anwendung einfach den (durchaus auch gelegentliche bestrittenen) Vorteil der großen Library rauszunehmen ist nicht wirklich fair. Imho geht es hier doch eher darum nicht nur die Sprachen zu vergleichen, sondern die komplette Infrastruktur und alles was eben mit dranhängt, wenn man sich entscheidet in Sprache xy zu implementieren.

    Und wie willst du die Entwicklungszeit messen? Legen wie einen Startzeitpunkt fest und erklären die Programmiersprache mit der die erste vollständige Implementierung eingereicht wird zum Gewinner?

    Man merkt ja sofort, dass das nicht aufgeht. So messen wir höchstens wie gut ein Team ist. Ein Programmierer der täglich solche Programme schreibt, wird natürlich jemanden besiegen, der dies nicht regelmäßig tut. Das beweißt aber wieder nichts.

    Wenn es um die Infrastruktur geht, tritt das gleiche Problem auf. Java hat vielleicht Standardmäßig eine umfangreichere Infrastruktur und hat vielleicht für das erste Projekt in die Richtung einen Vorteil. Aber wenn man täglich business Software mit C++ schreibt, hat man ja auch seine Sammlung an Werkzeugen um Datenbanken effizient anzusteuern und GUI zu zeichnen und was man sonst noch alles braucht. Daher glaube ich nicht, das diese Phase überhaupt für einen Test von Interesse ist.

    Aber das zeigt ja eh den ganzen Quell der Java- vs C++-Flamewars. Wir wissen alle, das man in den Bereichen in denen sich der Einsatz überschneidet mit beiden Sprachen erfolgreich Programme schreiben kann. Das wird ja in beiden Programmiersprachen täglich gemacht. Ein Bereich zu nehmen wo Java nicht wirklich mithalten können wird, wäre auch nicht sehr sinnvoll...

    Die ganzen Flamewars drehen sich ja eher um Kleinigkeiten und um des Flames willen. So macht man sich zB gerne über Java lustig, weil dort die Addition nicht Kommutativ ist oder man macht sich über C++ lustig, weil die Syntax so bodenlos beschissen ist. Wenn man objektiv messen könnte welche Programmiersprache mehr "Mojo" hat, dann gäbe es ja nicht ständig diese Flamewars.

    (Okay nebenbei gibt es noch immer wieder diese Vorurteile, von denen Artchi zB gesprochen hat)

    In dem Sinne: Nicht diskutieren, programmieren!



  • rüdiger schrieb:

    So macht man sich zB gerne über Java lustig, weil dort die Addition nicht Kommutativ ist...

    du meinst in Java sei: a+b != b+a 😕
    oder hab' ich vergessen was kommutativ heisst?
    🙂



  • waere seltsam, das in c++ die reihenfolge von operatoren auch klar definiert ist, ansonsten waere operatorueberladung sehr evil wenn man sich auf die reihenfolge verlassen will.



  • pale dog schrieb:

    du meinst in Java sei: a+b != b+a 😕
    oder hab' ich vergessen was kommutativ heisst?
    🙂

    String a = "a";
    String b = "b";

    😉

    ...da ist sogar a+b != a+b. 😃



  • @Phoemuex:

    Phoemuex schrieb:

    Ich würde mich auch anbieten, bei der C++ Seite mitzumachen.

    Das freut mich; willkommen! 🙂

    @all:
    Google bietet seit kurzem ein freies Projekt-Hosting; dort habe ich ein Projekt namens "jc-eval" angelegt:

    http://code.google.com/p/jc-eval
    (Mein Benutzername dort ist "gnat.thegnu".)

    Google bietet VCS Unterstützung durch Subversion(SVN);

    hier zwei Links dazu:

    Subversion Packages:
    http://subversion.tigris.org/project_packages.html

    Tortoise Explorer Plugin:
    http://tortoisesvn.tigris.org/

    Zu testen habe ich ein DB Designer 4 http://fabforce.net/dbdesigner4/ Modell der Bilddatenbank die ich als Thema vorgeschlagen hatte erstellt (Die XML-Datei im Unterverzeichnis model); als MySQL exportiert und mittels Perl::SQL::Translator (aka SQLFairy http://sqlfairy.sourceforge.net/; trotz des imho scheusslichen Logos ein gutes Tool!) nach Postgres konvertiert (händisch hierbei eine Längenangabe des BLOBS aka PSQL "bytea" gelöscht; ist imo ein Bug von SQLFairy)
    Mit (WinXP SP2) MySQL 5.2 und PostgreSQL 8.2) funktionieren die DDL-Skripte)

    Google Projects bietet ein Issue-Feature an; das können wir dort später zur Kommunikation nutzen.

    Wder Site noch Blog habe ich bislang angelegt; ich fände es gut wenn die Diskussion zunächst (ca. 1 Woche) noch hier weiterbetrieben würde.

    Wer mitmachen möchte registriere sich bitte bei Google Mail und sende mir bitte eine kurze Email an

    gnat dot thegnu at gmail dot com

    damit ich ihren/seinen gmail-Benutzernamen kenne und sie/ihn in die Google Projects Teilnehmerliste aufnehmen kann. (Bitte auch "C++" oder "Java" angeben!)

    Grüsse

    *this



  • ...gern beim java team mitmachen, hab aber leider keine zeit für sowas. anscheinend sind hier die meisten c++ programmierer arbeitslos so dass sie ihre zeit für so ne aufgabe verschwenden können oder wie 😕



  • ich würde... schrieb:

    ...gern beim java team mitmachen, hab aber leider keine zeit für sowas. anscheinend sind hier die meisten c++ programmierer arbeitslos so dass sie ihre zeit für so ne aufgabe verschwenden können oder wie 😕

    Wenn du effizient arbeitest weil du das richtige Werkzeug verwendest, hast du auch rechtzeitig Feierabend 😉



  • Gregor schrieb:

    pale dog schrieb:

    du meinst in Java sei: a+b != b+a 😕
    oder hab' ich vergessen was kommutativ heisst?
    🙂

    String a = "a";
    String b = "b";
    😉
    ...da ist sogar a+b != a+b. 😃

    okay, aber das ist ja stringverkettung.
    rüdi schrieb aber, dass addition nicht kommutativ sei...



  • @pali
    Ja, es ist eine String-Verkettung. Aber es wird mit dem Builtin-Op+ gemacht. Also mit dem Additions-Operator.

    In Java ist eben i+2 != 2+i



  • rüdiger schrieb:

    @pali
    Ja, es ist eine String-Verkettung. Aber es wird mit dem Builtin-Op+ gemacht. Also mit dem Additions-Operator.

    dass ein zeichen verschiedenen bedeutungen haben kann, ja nachdem wo es im quelltext auftaucht, ist doch nix neues (denk' doch nur mal an das '*' in C).
    deshalb ist '+' im zusammenhang mit strings noch lange keine addition...



  • Gast++ schrieb:

    Zu testen habe ich ein DB Designer 4 http://fabforce.net/dbdesigner4/ Modell der Bilddatenbank die ich als Thema vorgeschlagen hatte erstellt (Die XML-Datei im Unterverzeichnis model); als MySQL exportiert und mittels Perl::SQL::Translator (aka SQLFairy http://sqlfairy.sourceforge.net/; trotz des imho scheusslichen Logos ein gutes Tool!) nach Postgres konvertiert (händisch hierbei eine Längenangabe des BLOBS aka PSQL "bytea" gelöscht;...

    Wieso hab ich iregndwie so ein gefühl, dass wir hier arbeit umsonst machen sollen? Woher weiß man, dass du das nicht brauchst, um später damit Geld zu verdienen?

    Wieso wollt ihr überhaupt Java und C++ vergleichen? Gibt es Gebiete, in denen beide groß konkurieren? Die Flamewars ala "GC ist für Mädchen..." werdet ihr damit nicht beenden.



  • pale dog schrieb:

    rüdiger schrieb:

    @pali
    Ja, es ist eine String-Verkettung. Aber es wird mit dem Builtin-Op+ gemacht. Also mit dem Additions-Operator.

    dass ein zeichen verschiedenen bedeutungen haben kann, ja nachdem wo es im quelltext auftaucht, ist doch nix neues (denk' doch nur mal an das '*' in C).
    deshalb ist '+' im zusammenhang mit strings noch lange keine addition...

    Das sagt Herr "ich will keine Operator-Überladung, weil ich sonst nicht weiß was hinter einem Operator steckt *heul*" :p Ich finde es eben in Java nur sehr lustig, das man keine Operator-Überladung hat. Die Java-Entwickler dann aber her gehen und Operatoren in der Sprach-Spec für einige Klassen überladen und dann auch noch eine Klasse auswählen für die sich die Semantik des Operators von allen anderen Verwendungen unterscheidet 😃 Wie gesagt: In Java ist + nicht kommutativ :p

    In C gibt es den unären- und binären-Operator . Oder meinst du dass der Op auch für floats und integer funktioniert? Aber da verhält er sich wenigstens gleich a*b == b*a :p

    Aber ich will jetzt hier keine weitere Diskussion zu dem Thema starten. Ist einfach zu langweilig.



  • rüdiger schrieb:

    Aber ich will jetzt hier keine weitere Diskussion zu dem Thema starten. Ist einfach zu langweilig.

    müssen wir auch nicht.
    in Java ist einerseits '+' eine addition und im anderen fall eine stringverkettung, genau so, wie in C einmal das '*' für 'multipliziere' steht, ein anderes mal für 'pointer' oder 'pointer dereferenzieren'.
    es hat in beiden sprachen nichts mit 'überladen von operatoren' zu tun...

    rüdiger schrieb:

    Wie gesagt: In Java ist + nicht kommutativ

    das hast du vorhin aber nicht so geschrieben
    🙂


Anmelden zum Antworten