Java 5 - Performance und Vergleich zu C++

C/C++ oder Java? Wie siehts in der Zukunft aus?

  • Ich programmiere C/C++ nur unter einer Plattform und werde dabei bleiben

    Stimmen: 7 15,6%
  • Ich programmiere C/C++ in Verbindung mit Qt für plattformunabhängige Anwendungen

    Stimmen: 5 11,1%
  • Ich programmiere C/C++ und überlege mit Java anzufangen

    Stimmen: 5 11,1%
  • Ich programmiere Java ausschließlich wegen der guten Plattformunabhängigkeit

    Stimmen: 0 0,0%
  • Ich programmiere Java und werde wieder zu C/C++ wechseln

    Stimmen: 1 2,2%
  • Ich programmiere Java und bin sehr zufrieden damit

    Stimmen: 6 13,3%
  • Ich programmiere sowohl Java, als auch C/C++

    Stimmen: 7 15,6%
  • Ich programmiere weder Java, noch C++

    Stimmen: 14 31,1%

  • Umfrageteilnehmer
    45
M

miketech

Routinier
Hi zusammen,

wie sicher einige gelesen haben hat Sun Java in der Version 1.5 angekündigt, neuerdings als Java 5 bezeichnet. In den Artikeln heißt es, dass Java teilweise um das 30-fache an Performance zugelegt hat und offensichtlich steht auch der Desktop nun etwas mehr im Blickfeld. Mittels verschiedener Projekte soll es nun möglich sein Anwendungen z.B. in den SysTray verstecken zu können und auch der Standard E-Mail Client und der Standard Webbrowser soll direkt von Java-Anwendungen heraus aufgerufen werden können.

Desweiteren gab es auch sonst einiges von Sun und Java zu hören: So plant Sun sowohl einen verstärkten Einsatz von Java auf Handies (Handyspiele usw.) und auch im Automobilsektor soll Java seinen Einsatz finden. Ebenso ist von Echtzeit-Java die Rede, um zeitkritische Applikationen schreiben zu können.

Im Großen und Ganzen lassen die News der letzten Tage Java in einem sehr guten Licht erscheinen, auch wenn sich Sun bisher immer noch nicht bereiterklärt hat Java Open Source zu stellen. Hierauf möchte ich aber in diesem Thread nicht weiter eingehen.

Hat denn einer von Euch mal Java 5 getestet? Ist eine Performanceverbesserung spürbar?

Kommen wir zum Linux/Unix - Desktop: Große DEs wie z.B. Gnome oder KDE sind hauptsächlich in C/C++ geschrieben. Auch die Anwendungen, die auf GTK oder Qt setzen werden größtenteils mit C/C++ programmiert, obwohl es auch Bindings für Java, Python usw. gibt. Wird Java nun zu einem ernstzunehmenden Konkurrenten für C/C++ für Desktop-Applications? Wäre es vorstellbar, dass man unter KDE oder Gnome in Zukunft wesentlich mehr Java-Anwendungen findet?

Oder glaubt Ihr, dass sich Java auf dem Desktop in absehbarer Zeit nicht gut genug in die jeweilige Desktopumgebung integrieren wird und weiterhin GTK unter Gnome und Qt unter KDE mit C/C++ die Hauptrolle spielen werden?

Für plattformunabhängige Anwendungen gilt Java bekanntlich immer als erste Wahl, da Java grundsätzlich mit Plattformunabhängigkeit assoziiert wird. Jedoch ist es auch mit wxWidget oder Qt möglich, plattformunabhängig zu programmieren. Java bietet eine Möglichkeit Closed-Source kostenlos zu programmieren (auch wenn der Code sehr gut decompiled werden kann), während Qt nur für GPL-Software kostenlos zur Verfügung steht.

Sollte Java tatsächlich an Geschwindigkeit zugelegt haben, wird Java eventuell noch zusätzlich in zeitaufwändigen Bereichen interessant. Früher war immer die langsame Ausführungsgeschwindigkeit von Java ein Argument gegen Java. Schon in den letzten Versionen hat sich hier jedoch einiges getan, Swing ist jedoch bekanntlich immer noch sehr träge.

Was meint Ihr, wie die Chancen für Java stehen? Sind hier C/C++ Entwickler, die sich überlegen auf Java umzusteigen? Wenn ja, wieso? Oder gibt es insbesondere C/C++ Entwickler, die mit Qt plattformunabhängig programmieren, jedoch in Zukunft mit Java programmieren oder umgekehrt?

Würde mich über ein paar Meinungen zu diesem Thema freuen

Gruß

Mike
 
Hm ich weiß nicht. Mich hat die "Lahmheit" noch nie gestört. Gut die Programme starten etwas langsamer, aber meine Güte, diese 2 Sekunden!
In der Arbeit arbeite ich mit MFC und C++ aber privat hatte ich Java auch schon in den Finger. Java gefällt mir sehr gut und wenn ich mal selbst was größeres Programmieren werde, dann ohne Frage mit Java.
Warum? In Java ist schon alles schön im Grundsprachschatz dabei. Strings, Grafik, Netz ....
Außerdem "zwingt" mich Java ordentlich zu programmieren. Viele "try...catch"s und so.
UND es läuft auch auf dem Windowsrechner von meinem Freund :-)

Gut das alles würde ich auch mit .net hinkriegen - aber das ist von MS...
 
Mich reizt vor allem die Plattformunabhängigkeit bei Java - allerdings (wie bereits erwähnt) gibt es ja bei C/C++ auch Qt und Co.. zur Zeit sehe ich bei mir einfach keinen Bedarf, Java zu lernen, weil ich mit C/C++ sehr gut bedient bin. Ich wüsste keinen Grund, warum ich jetzt noch umsteigen sollte. Wozu Java lernen, wenn man C/C++ kann?

Mfg, Lord Kefir
 
moin moin

ich mache zur zeit meine ersten gehversuche mit QT und bin ziemlich begeistert. wobei mir java auch gefällt. die neue version habe ich allerdings noch nicht getestet.


Gruß HL
 
Hi,

@hehejo: Und was spricht gegen C++ in Verbindung mit Qt? Da hast Du auch alles: Strings, Sockets, usw. Und die Anwendungen lassen sich auch unter Windows in Verbindung mit einem C++ Compiler für Win und den entsprechenden Qt-Libs für Win kompilieren.

Gruß

Mike
 
Derzeit sind Java-Anwendungen mit Swing unter z.B. KDE nicht sonderlich hübsch (ok, mit JGoodies lässt sich da was drehen) und unter Linux generell etwas langsam. Außerdem lassen sich die Anwendungen einfach schlecht in ein Desktop Environment wie KDE oder Gnome integrieren. (Anderes Look and Feel, Drag & Drop, SysTray, usw). Meint Ihr das wird sich irgendwann so ändern, dass man integrierte KDE Anwendungen mit Java schreiben kann? Oder sollte man, wenn man wirklich als Ziel hat eine KDE Anwendung zu schreiben lieber auf Qt zurückgreifen? Gilt das auch für die Zukunft?

Gruß

Mike
 
Also... Ich habe vor einiger Zeit ein wenig mit Java gespielt, ich war von der festen, großen Standard Library begeistert!
Eigentlich habe ich ja bis dato nur C++ programmiert, ich fande Java auch ein Stück weit leichter als C++ und die Möglichkeiten damit Objekt Orientiert zu programmieren sind auch sehr gut!
Aber ich habe wieder zu C++ zurück gefunden, bis heute, ich überlege mir jetzt wieder ein bisschen was mit Java zu machen.
 
Und wieso? Wenn Du Java doch so super fandest? Was hat Dir dann an C besser gefallen? Nutzt Du auch Qt oder programmierst Du mit der STL?

Gruß

Mike
 
Java ist eine tolle Programmiersprache, keine Frage. Aber irgendwann wird dieser Hype vorbei sein.

Und dann sehe ich Python als den Successor von Java.
Warum? Extrem leichte und einpräsame Syntax, schnelle Entwicklungszeit (man schreibt fast seine Gedanken direkt auf), große Standard-Library, plattformunabhängigkeit und nicht zu vergessen schon eine relativ große Community (Google setzt z.B. auch Python ein).
Python ist zur Zeit noch viel langsamer als Java, aber durch neue Entwicklungen, wie etwa Parrot oder Psyco, könnte es bald anders aussehen.
 
miketech schrieb:
Und wieso? Wenn Du Java doch so super fandest? Was hat Dir dann an C besser gefallen? Nutzt Du auch Qt oder programmierst Du mit der STL?

Gruß

Mike
Ich hab mit GUI programmierung noch nix am Hut ;)
Warum ich dahmals wieder zu C++ bin weiß ich auch nicht mehr so recht :)

thorus schrieb:
Java ist eine tolle Programmiersprache, keine Frage. Aber irgendwann wird dieser Hype vorbei sein.

Und dann sehe ich Python als den Successor von Java.
Warum? Extrem leichte und einpräsame Syntax, schnelle Entwicklungszeit (man schreibt fast seine Gedanken direkt auf), große Standard-Library, plattformunabhängigkeit und nicht zu vergessen schon eine relativ große Community (Google setzt z.B. auch Python ein).
Python ist zur Zeit noch viel langsamer als Java, aber durch neue Entwicklungen, wie etwa Parrot oder Psyco, könnte es bald anders aussehen.

Kann man mit Python auch Objekt Orientiert programmieren ?
Wenn ja, hättest du ein paar gute links das ich mir das ein wenig genauer angucken kann? :)
 
Einen guten Programmierer zeichnet meine Meinung nach aus, dass er nicht nur eine Sprache beherrscht. Wieso sollten nicht beide nebeneinander leben wie es zurzeit der Fall ist?
Vorteil von C/C++ ist auf jedenfall, dass in der Vergangenheit damit programmiert wurde und somit sowieso erstmal nicht so schnell los wird.
 
ogbgroup schrieb:
Kann man mit Python auch Objekt Orientiert programmieren ?
Wenn ja, hättest du ein paar gute links das ich mir das ein wenig genauer angucken kann? :)
Python ist put objektorientiert!
Hier http://www.hehejo.de/python/ findest du mein Referat über Python.

Ich selbst wollte viel mit Python anstellen, aber ich wusste dann nicht, was ich damit machen sollte? Im Moment schau ich mir grad Perl an..

Ich bin so unentschlossen. Von allem ein bisschen aber nichts richtig!

Links: www.python.org
www.pythonmania.de
 
Hi

@ogbgroup: Qt hat nicht zwingend etwas mit GUI zu tun. Ab Qt 4 wird man eine Trennung zwischen den Standard-Libs und den GUI-Libs vorfinden. D.h. Du kannst mit Qt auch Serveranwendungen oder simple Konsolenanwendungen schreiben. Du benutzt eben nur die Libs von Qt für Sockets, Strings, SQL usw. Ähnlich wie die STL.

Python unterstützt auch objektorientiertes Programmieren. Google spuckt eine ganze Menge zu Python aus

z.B.: http://www.kubieziel.de/moin.cgi/DeutschePythonFAQ

@sphreak: Sicherlich sollte man mehr als nur eine Programmiersprache beherrschen. Allerdings haben Java und C++ teilweise ähnliche Einsatzbereiche, weshalb ich es interessant finde zu erfahren, wer bei diesen gemeinsamen Einsatzgebieten (Serverapps, GUI usw.) auf welche Sprache setzt und für weshalb. Beides hat selbstverständlich seine Daseinsberechtigung, das steht außer Frage. Jedoch werden die meisten einen Schwerpunkt haben und eine Sprache bevorzugen und wenn es nur ein rein persönliches "Finde ich schöner" ist. :)

Gruß

Mike
 
@hehejo: Ja diese Unentschlossenheit kenne nur zu gut. Dieser Thread spiegelt auch meine persönliche Unentschlossenheit zwischen C und Java wieder.

Zu Python: Vor ca. einer Woche habe ich mir auch überlegt, dass ich mal eine Scriptsprache, wie Python, Perl, Ruby oder sonstwas lernen könnte, da man hier doch die Möglichkeit hat mal schnell ein kleines Script zu schreiben, um ein paar kleine Verwaltungsarbeiten auf seinem System vorzunehmen. Schnell habe ich aber gemerkt, dass man mit Python, Perl und Co noch viel mehr machen kann :) Habe mir dann alles mal angeschaut und bin zu dem Schluss gekommen:

Perl ist mir zu strange. Die Syntax ist grauenvoll und einmal etwas damit programmiert, lässt man es lieber so, wie es ist und fasst es nie mehr an :)

Python war am Ende mein Favourit, obwohl mir alles nicht so sonderlich gut gefallen hat. Ich fand die Syntax teilweise sehr eigenartig. Klingt komisch, aber ich finde es sehr angenehm, mit {} und ; am Ende zu programmieren :)

Fazit war, dass ich die ganze Thematik erstmal wieder auf Eis gelegt habe. Sollte ich jedoch trotzdem mal eine Scriptsprache benötigen, die mir mehr als ein Bash-Script bieten soll, würde ich auf Python zurückgreifen.


Gruß

Mike
 
Mit deinem Exkurs über die Skriptsprachen hast du mir fast aus die Worte aus dem Munde genommen.
Auch wenn Perl "strange" ist. Ein cooler Faktor ist das doch schon.
Und du musst bedenken, jemand der nicht von der C/C++/Java Linie kommt kennt diese "affigen" {} und ; Sachen gar nicht. Ich denke jetzt an Basic und VB (*würg*).
Für "Neulinge" ist es logischer Blöcke einzurücken als Klammern zu verwenden. Außerdem schreibt sich der Code "schneller"!
 
Richtig, für Neulinge vielleicht besser. Aber jetzt hab ich mich über die Jahre so mühselig an die Klammern gewöhnt, jetzt möchte ich sie auch behalten. :) Python hat eben diesen typischen VB Code Charakter. Alles, was in einer Zeile steht ist ein Anweisung. Semikolon braucht man nicht, wenn man nicht mehrere Anweisugen pro Zeile schreiben möchte. Irgendwie.. naja :)

Zu Perl: Ja ok, sicher hat es was, aber ich weiß nicht, ob das nicht zuviel Zeit und Nerven kostet. Man möchte ja schließlich auch produktiv arbeiten und eventuell später noch seine Programme erweitern und das ist mit Perl angeblich nicht so leicht. Und ich finde, dass Python im Coolness-Faktor nicht unter Perl liegt ;)

Mike
 
Python wird nicht Java abloesen. Python ist immerhin keine unbekannte Sprache, und die gibt es nicht erst seit gestern. Java hat durch den Boom gezeigt, dass Java in dieser Hinsicht mehr Potenzial hat als Python. Wobei man dazusagen muss, dass Python halt nicht von einem Unternehmen wie Sun vorangetrieben wird. Das wiederrum wird Java aber am Leben halten ueber laengeren Zeitraum.

Ruby wuerde vom Potenzial am ehesten mit Java mithalten koennen. Aber trotzdem wohl immer im Hintergrund stehen. Allein die Anzahl an CASE Werkzeugen fuer Java ist so enorm viel groesser, dass dies schon viele Entwickler zwingt in Java zu Entwickeln.

C++ und Java ... . Muss jeder selbst wissen. Jede Sprache hat seine Vorteile. Die von C++ wird sicher noch in unabsehbare Zeit der Performance bleiben.

C wird seine Position schon deshalb behalten, weil es die effiziente strukturiert, prozeduale Programmierung verkoerpert, welche nunmal schnelleren Code produziert als die Objektorientierte ... jedoch auch "schlechtere" Software.

Die Umfrage ist uebrigens ziemlich unsinnig. Ich hab auch schon Software unter Windows ueber die WinAPI und unter Linux ueber das GTK geschrieben. Ueber die libSDL OS Unabahaengig und ueber die GTK selbst ist das auch moeglich. Siehe etwas "Dia".

QT muss es in dieser Hinsicht wirklich nicht sein. Besonders Lizenztechnisch. Da gibt es bessere Alternativen!

mfg
 
Zuletzt bearbeitet:
Also ich programmiere sowohl Java als auch C++ und ich denke das Java ganz eindeutig seine Berechtigung hat und das Python es sicher nicht so schnell, oder besser das Python es überhaupt einmal ablösen wird. Java ist Performancemaessig auf knapp 75% der C Geschwindig gerutscht und wie ihr vllt. gelesen habt auch im Echtzeiteinsatz zu finden. Das wird wohl bei Python noch eine sehr lange Zeit dauern.

Designtechnisch kann man sehr viel aus Java rauschholen, da kann C++ nicht ganz mithalten, daher denke ich das Java auch bald für C++ ein bisschen gefaehrlich werden kann.

@Mike... du hast noch nie Perl programmiert gell? Ich meine net mal n Script geschrieben, sondern echt Perl programmiert. Ich habe das 4 Jahre gemacht und ich sage dir das was du redest ist Brot. Entschuldige meine Ausdrucksweise, aber du stichelst hier in dem Thread ganz schön rum und wir wollen doch alle kein geflame sondern nur brav diskutieren gell.

ciao Exi
 
Hi ExRevel,

meine Erfahrungen mit Perl waren minimal, das stimmt. Ich gebe hier nur das wieder, was ich selbst erfahren, gehört oder gelesen habe. Es ist nicht meine Absicht gezielt Perl niederzumachen, es ist nur das, was ich über Perl kenne. Ich lasse mich aber natürlich gerne etwas Besseren belehren. Korrigiere mich also, wenn ich falsch liege, damit das Brot nicht noch weiter aufgeht ;)

Zum eigentlichen Java/C++ Thema: Im Bereich Serveranwendungen stimme ich Dir zu. Aber wie siehst Du Java im Linux-Desktopbereich?

@etuli:

Ja richtig, ich habe jetzt nicht alles aufgezählt, was es so gibt, sondern mich auf das Thema Qt beschränkt, da es meiner Meinung nach die meisten Möglichkeiten für plattformunabhängiges Programmieren liefert, da auch Libs für Socket, SQL usw. vorhanden sind, was z.B. bei GTK und wxWidget meiner Erfahrung nach nicht so ausgeprägt oder überhaupt nicht der Fall ist.

Gruß

Mike
 
Hmmm bei dieser ganzen Java | C++ diskussion wurde bis jetzt eines außer acht gelassen, C#.
C# wird wohl den Markt was Microsoft belangt von C++ ablösen.
 

Ähnliche Themen

Mobile -Entwickler für Android (Java) in Vollzeit (m/w)

Mobile -Entwickler für iOS (Objective-C ) in Vollzeit (m/w)

IDE für Grafische Datenbankanwendungen?

Junior Entwickler für Semantic-Web-Projekt (m/w)

[Erfahrungsbericht] Foxconn 45CSX + Atom 330

Zurück
Oben