C++ vs. Java - Kleine Fallstudie gefällig?
-
Werden denn wirklich die Sprachen verglichen, oder nicht einfach nur Implementierungen/Algorithmen?
-
wollen wir nicht lieber äpfel mit birnen vergleichen und danach vergleichen, welches von beiden besser schmeckt?
-
Birnen
-
rapso schrieb:
wenn du sprachen vergleichen willst, ist es irgendwie kontraproduktiv die hauptarbeit an ein externes program abzugeben (SQL mein ich).
Ne. Das ist super. Damit kann man prima vergleichen wie aufwendig es ist, solche externen Ressourcen mit der jeweiligen Programmiersprache einzubinden.
-
Was soll das bringen?
Wird es jemanden aus der Flamewar Fraktion überzeugen können?Letzten endes kann man doch in beiden Sprachen schlecht programmieren.
Man muss es aber nicht, wenn man die richtigen Mittel nutzt.
-
Jester schrieb:
rapso schrieb:
wenn du sprachen vergleichen willst, ist es irgendwie kontraproduktiv die hauptarbeit an ein externes program abzugeben (SQL mein ich).
Ne. Das ist super. Damit kann man prima vergleichen wie aufwendig es ist, solche externen Ressourcen mit der jeweiligen Programmiersprache einzubinden.
in dem fall muesste man aber allerlei libs checken z.b. sound, rendering, netzwerk(z.b. https)... und am ende weiss man nur wie gut eine sprache unterstuetzt wird, damit hat man aber noch keine aussage ueber die guete der sprache.
-
rapso schrieb:
in dem fall muesste man aber allerlei libs checken z.b. sound, rendering, netzwerk(z.b. https)... und am ende weiss man nur wie gut eine sprache unterstuetzt wird, damit hat man aber noch keine aussage ueber die guete der sprache.
Ne, muß man nicht alles prüfen. Es geht um eine Fallstudie, keine vollständige Evaluation.
Insbesondere lässt sich mit der gegebenen Aufgabenstellung sehr leicht prüfen, ob man in Java tatsächlich so reibungslos alles mit der Standardlib realisieren kann und ob man damit tatsächlich auch so viel schneller ist. Andererseits sieht man auch, ob man mit C++ tatsächlich durch Einbinden der richtigen Libraries die Entwicklungszeit so stark verkürzen kann, dass man nicht länger braucht als mit der Java-Version, wo vieles schon da ist.Da das zwei Hauptthesen in den Flamewars sind, denke ich, dass allein die Überprüfung dieser Thesen das Experiment rechtfertigt.
-
Jester schrieb:
Ne, muß man nicht alles prüfen. Es geht um eine Fallstudie, keine vollständige Evaluation.
Insbesondere lässt sich mit der gegebenen Aufgabenstellung sehr leicht prüfen, ob man in Java tatsächlich so reibungslos alles mit der Standardlib realisieren kann und ob man damit tatsächlich auch so viel schneller ist.naja, soweit ich weiss ist einiges in c++ implementiert worauf java bzw jvm dann zugreift (jedenfalls war das mal so und ist bei c# zZ auch so). also ist schnelligkeitsvergleich dann nicht wirklich aussagefaehig.
Andererseits sieht man auch, ob man mit C++ tatsächlich durch Einbinden der richtigen Libraries die Entwicklungszeit so stark verkürzen kann, dass man nicht länger braucht als mit der Java-Version, wo vieles schon da ist.
Da das zwei Hauptthesen in den Flamewars sind, denke ich, dass allein die Überprüfung dieser Thesen das Experiment rechtfertigt.
ich dachte es wurde auch geflamet wegen GC und wie langsam java ist usw. bzw. dass man heutzutage besser mit GC faehrt und dafuer keine memleaks hat usw.
wenn man diese sache ueberpruefung wollen wuerde waere es wichtig die sprache selbst auszulasten.
-
<°((((><
-
rapso schrieb:
Jester schrieb:
Ne, muß man nicht alles prüfen. Es geht um eine Fallstudie, keine vollständige Evaluation.
Insbesondere lässt sich mit der gegebenen Aufgabenstellung sehr leicht prüfen, ob man in Java tatsächlich so reibungslos alles mit der Standardlib realisieren kann und ob man damit tatsächlich auch so viel schneller ist.naja, soweit ich weiss ist einiges in c++ implementiert worauf java bzw jvm dann zugreift (jedenfalls war das mal so und ist bei c# zZ auch so). also ist schnelligkeitsvergleich dann nicht wirklich aussagefaehig.
Wir reden vom gleichen "schnell"? Ich meine die Entwicklungszeit, nicht die Laufzeit.
-
Jester schrieb:
Wir reden vom gleichen "schnell"? Ich meine die Entwicklungszeit, nicht die Laufzeit.
hmm... ich ging von schnell schnell aus
(also performance)
entwickelungszeit usw. find ich sehr schwer messbar.
-
Also ich fänds ganz gut wenn wir eine SQL Anbindung einbauen würden - einfach weil das gängige Praxis in den viel beschworenen "Business-Applikationen" ist.
Bei der Volltextsuche könnte man sich ja auf C++/Java-Sprachmagie statt aufs RDBMS stützen und mal richtig grosse Speicherblöcke mit Regex abgrasen oder so.
Btw ich mach gerne ggf. den Prototypen nach den Vorgaben die wir hier beschliessen und möchte natürlich beim C++-Team mitmachen, aber koordinieren und hosten kann ich's nicht.
Hat jemand Platz für 1 BBS (mit PN) und ein CVS-Repository?
Oder gibt's ne andere Idee das zu organisieren?Grüsse
*this
-
rapso schrieb:
in dem fall muesste man aber allerlei libs checken z.b. sound, rendering, netzwerk(z.b. https)... und am ende weiss man nur wie gut eine sprache unterstuetzt wird, damit hat man aber noch keine aussage ueber die guete der sprache.
Sind viele verfügbare Libs nicht eher ein Beweis der Güte, solange die Libs auch in dieser Sprache geschrieben sind?
-
Gast++ schrieb:
Also ich fänds ganz gut wenn wir eine SQL Anbindung einbauen würden - einfach weil das gängige Praxis in den viel beschworenen "Business-Applikationen" ist.
das ist aber unfug, weil man dazu weder c++ noch java nimmt, sondern visual basic oder c#.
Bei der Volltextsuche könnte man sich ja auf C++/Java-Sprachmagie statt aufs RDBMS stützen und mal richtig grosse Speicherblöcke mit Regex abgrasen oder so.
also gucken, bei welcher sprache eine bessere (natürlich in c++ implementierte) regexp-lib beiliegt. lustiger gedanke.
-
volkard schrieb:
visual basic.
Ich dachte wir sprächen über Programmiersprachen....
*SCNR*
Grüsse
*this
-
!§$%&/()=? schrieb:
rapso schrieb:
in dem fall muesste man aber allerlei libs checken z.b. sound, rendering, netzwerk(z.b. https)... und am ende weiss man nur wie gut eine sprache unterstuetzt wird, damit hat man aber noch keine aussage ueber die guete der sprache.
Sind viele verfügbare Libs nicht eher ein Beweis der Güte, solange die Libs auch in dieser Sprache geschrieben sind?
nein, das ist nicht aussagefaehig, das ist als ob du ne neue graphikkarte mit einer alten vergleichen wuerdest und oh wunder verwenden viel mehr leute die alte.
java kann nunmal nicht wirklich die selbe userbase aufweisen und deswegen auch nicht die libs, ansonsten kann ich dir sicher ohne ende libs aufzeigen bei denen es nichts bei java gibt.
und das alles hat am ende leider immer noch nicht gesagt, ob die vorteile den nachteilen von java gegenueber c++ ueberwiegen. aber selbst wenn wir hier wirklich entwicklungszeit und laufzeit dann vergleichen ended es wieder nur im streit was wichtiger ist. was bloedsinnig ist. ich kann dir den auftrag geben einen echtzeit raytracer zu machen, den machst du in c++ for sure. ich kann dir sagen dass du fuer alle bankautomaten meiner bank ein interface zur DB coden sollst, das machst du dann wohl mit java.
das hat mit eignung und "moegen" und nicht mit "besser" zu tun.
-
volkard schrieb:
Gast++ schrieb:
Also ich fänds ganz gut wenn wir eine SQL Anbindung einbauen würden - einfach weil das gängige Praxis in den viel beschworenen "Business-Applikationen" ist.
das ist aber unfug, weil man dazu weder c++ noch java nimmt, sondern visual basic oder c#.
java,VB und c# sind doch fuer gui-clients fuer DB gleich geeignet und verbreitet.
-
Hi,
mal ein paar Fragen, die mir durch den Kopf schießen:
+ Ist eine Testphase mit eingeplant ? Wie werden Fehler gewertet ?
+ Wird ein gemeinsames Design vorgegeben ? Da man im Design bereits verschiedene "Reuse-/Flexibilisierungsmarken" setzt, kommen da schnell sehr entscheidende Unterschiede (sowohl Entw- als auch Laufzeit) zustande.
+ Wie werden die "Erfahrungsdifferenzen" festgestellt oder gewertet ? Ich behaupte mal, dass ich in jeder Sprache Leute finden werde, die "besser" und welche die "schlechter" (egal nach welchem Maß) programmieren als ich.Ich weiß nicht, wie realistisch das Ganze ist.
Gruß,
Simon2.
-
Simon2 schrieb:
+ Ist eine Testphase mit eingeplant ? Wie werden Fehler gewertet ?
wohl am besten, sie werden weggemacht, statt sich eine bewertung zu überlegen.
+ Wird ein gemeinsames Design vorgegeben ? Da man im Design bereits verschiedene "Reuse-/Flexibilisierungsmarken" setzt, kommen da schnell sehr entscheidende Unterschiede (sowohl Entw- als auch Laufzeit) zustande.
mit einem java-design erzwingst du, daß java gewinnt. und umgekehrt. wäre also nicht geschickt, das vorzugeben.
falls es in c++ einen performance-teil gibt, zum beispiel stringsuche, könnte ich dran denken, in diesem teil ein wenig mitzuzspielen. vielleicht bringts ja dann was, den code nach java zu portieren.
-
Simon2 schrieb:
+ Ist eine Testphase mit eingeplant ?
Meinste nicht dass es leicht zu aufwändig wird wenn wir's so formal betreiben?
Simon2 schrieb:
+ Wie werden Fehler gewertet ?
Würde vorschlagen dass verbliebene Fehler einfach in die Geasmtbewertung eingehen. Ist nicht gleich ein K.O. aber es sagt halt vielleicht auch was über typische Defizite der Sprchen aus.
Simon2 schrieb:
+ Wird ein gemeinsames Design vorgegeben ? Da man im Design bereits verschiedene "Reuse-/Flexibilisierungsmarken" setzt, kommen da schnell sehr entscheidende Unterschiede (sowohl Entw- als auch Laufzeit) zustande.
Vielleicht könnte man ein Modul für Reuse vorsehen. Das Interface müsste dann ja in beiden Modellierungen enthalten sein.
Restliche Modellierung sollte imho sprachspezifisch sein; sonst machen wir uns Probleme die's in der Praxis nicht gibt.Simon2 schrieb:
+ Wie werden die "Erfahrungsdifferenzen" festgestellt oder gewertet ? Ich behaupte mal, dass ich in jeder Sprache Leute finden werde, die "besser" und welche die "schlechter" (egal nach welchem Maß) programmieren als ich.
Deshalb denke ich das sich beidseitig bei 5-10 Teilnehmern ein gesunder Mittelwert finden wird.
Vielleicht schreiben beide Teams einen Bericht mit pros und cons und man schaut sich zusammen die beiden Soources an.
Konsens in der Bewertung werden wir eh nicht erzielen, aber wir haben vielleicht eine gute Argumentationsgrundlage ?!?Simon2 schrieb:
Ich weiß nicht, wie realistisch das Ganze ist.
Ich fänds realistischer als ein rein deduktives Vorgehen; zur reinen Wahrheit werden wir dadurch freilich nicht gelangen!
@Simon2:
Würdest Du denn vielleicht mitmachen?
Hättest Du Space und Lust zum Hosting?Grüsse
*this