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



  • Hallo!

    Es gibt einen Dauerbrenner-Thread im C++ Forum in dem - kurz gefasst - die Frage nach "der besseren" Programmiersprache zu beantworten versucht wird.

    Im wesentlichen erfolgt das, soweit ich den Thread überblicke, deduktiv mittels Vergleiches der Sprachmerkmale.

    Es gibt imho mindestens zwei methodische Inkonsistenzen dabei

    - Lösung sucht Problem
    Aussagen wie "man braucht Zeiger nicht" oder "der GC ist dubios" sind imo per-se weder richtig noch falsch sondern schlicht unentscheidbar solange man keinen Bezugsrahmen hat, also ein konkretes Problem das man lösen muss.

    - Der menschliche Faktor
    Sprachen mögen Features haben oder ihrer entbehren; zur produktiven Arbeit muss der Entwickler sie auch nutzen (oder missbrauchen) können. Es wäre doch wirklich mal aufschlussreich zu untersuchen wie gross der Anteil strittiger Features in der Praxis eigentlich ist.

    Also: Wir könnten uns doch mal eine minimale Allerwelts-Fallstudie überlegen! (Voschlag s. Anhang)
    Was haltet Ihr davon?

    Grüsse && Danke fürs Lesen

    *this

    P.S.: Aber jetzt bitte nicht den Grabenkrieg hieher verlagern! 😃

    Anhang

    Meine Idee wäre sowas:

    - nicht zu systemnahes; das wäre Java gegenüber etwas unfair
    - Fliesskommaperformance lassen wir mal weg
    - Mit C++ darf man Bibliotheken im Umfange der Java-EE hinzufügen; also z.B. GUI-Bibliotheken; Boost; ATL/COM, MICO/Orbeit, ... und dergleichen whatever we like
    - [...] ???

    Also:

    - Eine SQL-Datenbank mit drei Tabellen ( (m:n) plus die Hilfstabelle ); ein BLOB-Feld und ein TEXT Feld dabei
    - Ein RPC-Server für (Win32 und Linux) der den BLOB verarbeitet z.B. Base64Encoded, eine Volltextsuche über dem TEXT Feld anbietet und (String)-Ergebnisse als XML zurückliefert (all dies mit beliebiger Technik).

    - Ein Standalone-GUI jeweils für Win32 und Linux/X
    - Ein Intranet Client ( Whatever we like )

    Wäre das nicht ein praxisnaher Masstab?

    (Ich würde es bei Bedarf auch in MySQL/Python/Tix prototypisieren - das spart ein Pflichtenheft.)



  • Warum waere eine spezielle Datenbankanwendung ein angemessenes Beispiel fuer einen Vergleich? Alles was Performance I/O betrifft ist definitiv nicht Javas Staerke. Es ist vielmehr Rapid Development und Reusability. Ich denke es ist unstrittig, dass je hardwarenaher eine Sprache desto mehr Moeglichkeiten der Geschwindigkeitsoptimierung sind moeglich, da ein direkter Eingriff in Speicher und I/O moeglich ist. Insofern ist ein Vergleic zwischen Java und C++ hinfaellig, bzw. er wuerde sich nur lohnen wenn es darum geht fuer ein bestimmtes Problem die Sprachen zu vergleichen. Ob das nun Datenbanken (favour: c++) oder Webanwendumg (favour: Java) ist, ist foellig schnurz und fern ab von einem "Projekt", vielmehr muss individuell fuer jedes konkrete Projekt entschieden werden, welche Teile in welcher Sprache implementiert werden. JNI is hier eine sehr interessante Moeglichkeit nativen Maschienencode unterschiedlicher Hochsprachen in Java einzubinden.

    Insofern: closed. Bei Bedarf Diskussion in rudpf


Anmelden zum Antworten