[Diskussion] Java vs. C#

Status
Nicht offen für weitere Antworten.

AlArenal

Top Contributor
Zum Besseren? Hm.. zum Anderen würde ich mal sagen. Es geht wieder etwas back to the roots, zurück ins Web, sowohl auf Seiten Administration, als auch Entwicklung, Content Management, Design. Die Anwendungsentwicklung wird vermutlich im kommenden Jahr wieder vermehrt eine Rolle spielen.

So ganz ohne Java wirds auch in Zukunft nicht gehen - und das ist auch gut so. :)
 

LoN_Nemesis

Bekanntes Mitglied
Um mal auf ein paar 6 Monate alte Argumente von Seite 2 einzugehen:

AlArenal hat gesagt.:
Das sehe ich nicht so.
Muss ich weniger tippen um diegleiche Funktionlität zu implementieren, ist mein Code übersichtlicher, die Sprache intuitiver und damit leicht verständlicher und die Anzahl der Fehlerquellen ist minimiert.
Naja, das kann man pauschal nicht so sagen. Also kurz = übersichtlich gilt nicht immer. Java Code mag rein vom Text her etwas länglich sein, aber er ist relativ schnell verständlich finde ich. Ok, das mag auch Gewöhnung sein...


AlArenal hat gesagt.:
Es gibt wissenschaftliche Studien zur Produktivität der diversen Programmiersprachen und jeder der sein Geld mit Softwareentwicklung verdient ist froh wenn er Zeit einspart, bis er einen Prototyp fertig hat, etc. Wäre dem nicht so, würden wir heute noch alle mit unseren Lochkarten zum SysOp rennen und in ein paar Tagen unsere Ergebnisse auf Endlospapier entgegen nehmen.
Die Frage ist wie diese Studien zustande kommen. Wenn sie praxisrelevant sein sollen, dann müssten sie die jeweilige Programmiersprache in der jeweils "besten" dafür verfügbaren IDE testen. Ich glaube sofort, dass man in Java relativ unproduktiv ist wenn man nur einen Texteditor benutzt. Nur das macht eben in der Praxis keiner (als Angestellter einer Firma). Ohne das jetzt belegen zu können, würde ich vermuten dass die Unterschiede in der Produktivität durch moderne IDEs zwar nicht verschwinden, aber deutlich dichter zusammenrücken.
 
G

Guest

Gast
wenn ich die wahl habe zwischen spezifischsten libs und zugriffen von c# auf das meistgenutzte windows und den oberflächlichen zeugs von java, so denke ich, dass ich mich eher für können als für ignorante "plattformunabhängigkeit" und leider zwingend gebrauchte installationen von java entscheide
 

ms

Top Contributor
Anonymous hat gesagt.:
wenn ich die wahl habe zwischen spezifischsten libs und zugriffen von c# auf das meistgenutzte windows und den oberflächlichen zeugs von java, so denke ich, dass ich mich eher für können als für ignorante "plattformunabhängigkeit" und leider zwingend gebrauchte installationen von java entscheide
Du solltest mal deine Windows-Augengläser runternehmen.
Es gibt mehr als nur den typischen Home- und Officeuser.

ms
 
G

Gast

Gast
Anonymous hat gesagt.:
wenn ich die wahl habe zwischen spezifischsten libs und zugriffen von c# auf das meistgenutzte windows und den oberflächlichen zeugs von java, so denke ich, dass ich mich eher für können als für ignorante "plattformunabhängigkeit" und leider zwingend gebrauchte installationen von java entscheide

Mit C# und WindowsForms bist du mittlerweile sehr gut plattformunabhängig, diese Argument zählt in einem c# vs java thread nicht mehr. Schaut euch z.B mal auf der Monoseite die Beispiele von WindowsForms unter z.B Linux an. Das reicht dicke für die meisten GUI-Anwendungen.

www.mono-project.com/Screenshots

Echt witzig wie Leute die extrem genervt sind wenn uralte Javathesen, wie die Geschwindigkeit von Swing immer wieder als Grund gegen Java aufgelistet wird, selbst Argumente gegen C# bringen die von 2003 oder so stammen und dort noch ihre Gültigkeit hatten...und selbst nicht besser....tztztz
 

byte

Top Contributor
Mich würde mal interessieren, wie plattformunabhängig man damit wirklich GUIs implementieren kann. Scheint ja ein ähnliches Konzept zu sein wie bei SWT, also eine API und plattformspezifische Wrapper. Nur da funktionierts in der Praxis alles nicht so toll. Wenn man dort z.B. für Windows entwickelt und dann zu den GTK-Wrappern unter Linux wechselt, siehts doch teilweise anders aus bzw. sind Layouts zerschossen.

Wie gut funktioniert das bei .NET und Mono?
 

Wildcard

Top Contributor
Gast hat gesagt.:
Echt witzig wie Leute die extrem genervt sind wenn uralte Javathesen, wie die Geschwindigkeit von Swing immer wieder als Grund gegen Java aufgelistet wird, selbst Argumente gegen C# bringen die von 2003 oder so stammen und dort noch ihre Gültigkeit hatten...und selbst nicht besser....tztztz
Zur Plattformunabhängigkeit gehört mehr als nur ein Widget wrapper. Auch die API muss erlauben plattformunabhängig auf zB den Popup-Trigger zu reagieren. Wie ein Popup geöffnet wird, ist nämlich von Plattform zu Plattform verschieden.
Btw, bei solchen Detailfragen ist auch SWT weit hinter Swing zurück...
Soll nur als kleines Beispiel dienen und ist für .Net eh nicht relevant, da es nur auf Windows und halb auf Linux läuft. MacOS, Solaris, .... sowas gibt's ja alles in Wirklichkeit gar nicht. Also echt plattformunabhängige Sache :wink:
 
G

Gast

Gast
Wenn du WindowsForms nutzt dann gibt es keinen Wrapper da es inzwischen fester Bestandteil von Mono ist. Zu GTK# kann ich nix sagen. Ich bin selbst erst dabei C#/.NET zu lernen und das obwohl ich Ubuntufan bin ;-) M$ hat ja viel mist zusammengefrickelt aber .NET macht mir richtig Spass. Vorher hatte ich meine kleinen Sachen mit JAVA und dann mit C++ gemacht, ja und nun nach langen streuben hab ich mir gesagt guckste dir das C# einfach mal an bevor du vorschnell urteilst und seit dem kommen ich nicht mehr von los. Ein intensives Testen von Mono unter Linux kommt auch noch dran, aber da hat sich viel getan in letzter Zeit. Die Zukunft mit WPF wird sicher auch nicht uninteressant wenn sich Designer nur um die Oberfläche kümmern können und diese z.b für Websites einfach auch von Ncithprogrammierern auszutauschen lassen.
 
G

Gast

Gast
Wildcard hat gesagt.:
Gast hat gesagt.:
Echt witzig wie Leute die extrem genervt sind wenn uralte Javathesen, wie die Geschwindigkeit von Swing immer wieder als Grund gegen Java aufgelistet wird, selbst Argumente gegen C# bringen die von 2003 oder so stammen und dort noch ihre Gültigkeit hatten...und selbst nicht besser....tztztz
Zur Plattformunabhängigkeit gehört mehr als nur ein Widget wrapper. Auch die API muss erlauben plattformunabhängig auf zB den Popup-Trigger zu reagieren. Wie ein Popup geöffnet wird, ist nämlich von Plattform zu Plattform verschieden.
Btw, bei solchen Detailfragen ist auch SWT weit hinter Swing zurück...
Soll nur als kleines Beispiel dienen und ist für .Net eh nicht relevant, da es nur auf Windows und halb auf Linux läuft. MacOS, Solaris, .... sowas gibt's ja alles in Wirklichkeit gar nicht. Also echt plattformunabhängige Sache :wink:
blabla...

Musst ja nicht übern Tellerrand schauen...
 

AlArenal

Top Contributor
Gast hat gesagt.:
Die Zukunft mit WPF wird sicher auch nicht uninteressant wenn sich Designer nur um die Oberfläche kümmern können und diese z.b für Websites einfach auch von Ncithprogrammierern auszutauschen lassen.

Kennst du den Unterschied zwischen Theorie und Praxis? In der Theorie sollen Template-Engines dafür sorgen, dass Webdesigner sich frei entfalten können, ohne von Programmierung Ahnung zu haben. Ich kenne aus der Praxis aber keine Firma, wo das konsequent umgesetzt wird. Es führt nur dazu, dass die einschlägigen Foren beispielsweise diverser CMS überquellen mit Anfragen wie "Gibts denn kein Theme das dies und jenes kann?", weil auf einmal jeder DAU meint, er könne voll die Checkersite machen.

Wenn Designer und Entwickler ordentlich zusammen arbeiten und ein Grundverständnis von der Arbeit des anderen haben, brauchen sie kein WPF oder ähnliche Krücken. XHTML und CSS sind bereits Realität und beides wurde nicht in den Labors von MS ersonnen. Viel schöner wäre die Web-welt, würde MS firmen-fremde Standards auch mal akzeptieren und konsequent umsetzen, statt sich immer ne eigene Suppe zu kochen.
 
G

Gast

Gast
Bloß weil es bis heute nicht wirklich geklappt hat Design und Code zu trennen, soll ich jeden weiteren Versuch dies durch eine neue Technologie zu erreichen von vorne zum Scheitern verurteilen?????? Was ist das denn für eine Einstellung?

Ich denke mal das es leichter ist so eine Technologie zu entwickeln als die Menschen zu ändern...

Sorry, aber so ein stuss habe ich selten gelesen.
 

Wildcard

Top Contributor
Du scheinst wenig von dem verstanden zu haben was Al eingebracht hat.
Die Frage ist, wo liegt der Mehrwert der Technolgie gegenüber bestehenden Standards?
Für jeden eventuell vorhandenen Mehrwert muss man sich Fragen warum ein bestehender Standard nicht sinnvoll erweitert und der Vorschlag an die entsprechende Arbeitsgruppe weitergeleitet wurde.
Nach meiner bisherigen Erfahrung ist Mircosoft in diesen Punkten leider völlig Lernbefreit, denn sie produzieren immer nur die gleiche Soße. Wo das am Ende hinführen wird, sieht man an OOXML, dem IE6, ActiveX und diverser anhängiger Verfahren gegen Microsoft.
 

low1337

Mitglied
Ich bin zwar neu hier aber will mich auch mal gleich mit einmischen :D

Also ich programmiere in beiden Programmiersprachen aber hab mit java angefangen.
Zuerst kam mir C# etwas seltsam und fremd vor aber inzwischen benutze ich lieber C# da die meisten Sachen einfacher zu programmieren sind.

Außerdem finde ich Visual studio / C# Express Edition übersichtlicher und vorallem schneller als Eclipse.

Netbeans hatte ich nur mal kurz getestet aber das war noch zu einer Zeit als es noch nicht offz. auf Vista lief.

Wie schon oft erwähnt ist der Umstieg von java auf C# sehr leicht da sich die Synatx sehr ähnelt und ich kann nur jeden Java Programmierer empfehlen sich C# mal anzugucken. Es würde bestimmt nich schaden
 

Jango

Gesperrter Benutzer
low1337 hat gesagt.:
Außerdem finde ich Visual studio / C# Express Edition übersichtlicher und vorallem schneller als Eclipse.
Das empfindest du nicht nur so - das ist eine Tatsache. :wink:

low1337 hat gesagt.:
...und ich kann nur jeden Java Programmierer empfehlen sich C# mal anzugucken. Es würde bestimmt nich schaden
Das wird so leicht nicht möglich sein. Als erstes müsste man einsehen, dass Java nicht das 'non-plus-ultra' aller Programmiersprachen ist. Das räumen zwar manche bereitwillig ein - glauben aber nicht wirklich daran.
Das einzige Argument ist die 'Plattformunabhängigkeit', die bei .NET Anwendungen eben noch nicht in den Maßen realisierbar ist, wie es in Java der Fall ist.
Ich frag mich nur ständig: Was würde die Welt ohne Java machen? Einfache Antwort: Weitermachen wie bisher!
Das Einzige, was man bei "Nicht-Java-Sprachen" machen muss um Plattformneutral zu bleiben ist, den Code neu zu kompilieren.
Und mal ehrlich - wie lange gibt es Linux? Schon ne ganze Weile. Warum wird Linux (im Vergleich zu MS Windows) eher wenig genutzt..........? Warum geht der Trend zu Linux schleppend vorwärts? Aber da sind bestimmt alle Anderen dumm und nicht weitsichtig genug - und außedem erpresst MS die ganze Welt, ihr Zeugs zu kaufen...
Man macht hier einen großen Fehler! Man versucht 'Randgruppen' in den Vordergrund zu rücken. Die Welt besteht nicht nur aus ein paar Java-Programmierern, die Linux bevorzugen und bei jeder sich bietenden Gelegenheit MS zur Sau machen. Das würde ich als 'nicht weitsichtig' sehen.
Man könnte ja mal eine Studie darüber machen, wer Plattformunabhängigkeit überhaupt braucht. Hört sich zwar ganz gut an - nur wer zieht wirklich Nutzen davon? Welche Firma nutzt heute MS, morgen Linux und übermorgen was ganz Anderes - möglicherweise sogar ne Neuanschaffung mit Mac's? Klingt realistisch...
Vom wirklichen Globalismus sind wir noch sehr weit entfernt. Um einer 'globalen' Programmiersprache, die hier fälschlicherweise in Java gesehen wird, den Vorrang zu geben, muss noch einiges passieren.

Es ist blos erstaunlich, wie man hier behandelt wird, wenn man mal nicht in das allgemeine Java-Horn bläst. Da wird man beleidigend, wenn man seine Meinung sagt - wehrt man sich im selben Jargon, wird man als Aussetziger betrachtet und zum Abschuss freigegeben. Im Gegensatz dürfen die, die dem Java Hype verfallen sind, dem Sinn nur so trotzen.
Hier war mal wesentlich mehr Niveau vorhanden...
 

Wildcard

Top Contributor
Jango, in zwei Punkten ein Verständnisproblem vor.

1.
Das Einzige, was man bei "Nicht-Java-Sprachen" machen muss um Plattformneutral zu bleiben ist, den Code neu zu kompilieren.
Du redest zB von ANSI C? Beim Hello World mag das zutreffen, aber dann hört es auch schon auf.
Wenn du nicht auf wxWidgets, Qt, oder andere OS unabhängige GUI Toolkits zurückgreifst, ist die Sache keinesfalls plattformunabhängig (und auch nicht mal eben für eine andere Zielplattform kompilierbar).

Ähnlich sieht es aus sobald die Sache etwas komplexer wird und du zB auf die Win API zugreifst, oder auch bestimmte Annahmen über die Hardware/Treiberlandschaft des Zielsystems treffen musst um die geforderte Funktionalität zu erreichen.
Das aufwendige Programme in C/C++,.. eben nicht plattformunabhängig sind, ist doch kein Geheimnis.
Ambitionierte Projekte wie Firefox bilden hier die Ausnahme, aber um auf mehreren Plattformen laufen zu können ist wesentlich mehr Anstrengung notwendig als 'mal eben neu zu kompilieren'.

2.
Man könnte ja mal eine Studie darüber machen, wer Plattformunabhängigkeit überhaupt braucht. Hört sich zwar ganz gut an - nur wer zieht wirklich Nutzen davon? Welche Firma nutzt heute MS, morgen Linux und übermorgen was ganz Anderes - möglicherweise sogar ne Neuanschaffung mit Mac's? Klingt realistisch...
Hier bestreitet niemand das Java nicht DIE Sprache für den Desktop ist (auch wenn das Potential da ist). Wie aber schon in diversen Threads erwähnt wurde, gibt's das große Geld nicht für das 10te WinRAR, den 8ten ICQ Klon,...
Das Geld liegt im Enterprise Bereich und genau da ist Java stark.
Auch geht es hier nicht darum was bei Sekretärin Müller über den Bildschirm huscht, sondern um die Maulesel die im Hintergrund arbeiten. Da wirst du dann plötzlich ganz wenige Windows Systeme und umso mehr Sun Solaris finden.
Das nächste Unternehmen hat aber kein Solaris, sondern da werkelt ein Linux auf der AS400 Kiste.
C# kommt hier nicht zum Zug, der Linux support ist zu schlecht für die extremen Anforderungen im Enterprise Bereich (nicht umsonst gibt es Projekte wie Grasshopper) und bei den vielen anderen Systemen gibt es nichtmal eine Runtime.
Ebenso wird's mit C/C++ schwierig weil du Systeme dieser Größenordnung wohl kaum noch plattformunabhängig schreiben kannst.

Es ist blos erstaunlich, wie man hier behandelt wird, wenn man mal nicht in das allgemeine Java-Horn bläst. Da wird man beleidigend, wenn man seine Meinung sagt - wehrt man sich im selben Jargon, wird man als Aussetziger betrachtet und zum Abschuss freigegeben.
Die Aussage von low1337 blieb zum Beispiel unkommentiert.
Warum? Weil es seine/ihre Meinung vertreten hat ohne gleich in Superlative zu verfallen, falsche Behauptungen aufzustellen, oder schlicht und einfach provizieren zu wollen (Hoffe ich mal). Ich will damit nicht sagen das ich DIR selbiges Vorwerfe, aber was in diesem Thread schon an Müll geschrieben wurde ist kaum noch zum Aushalten. Da waren mir die C Trolle von denen wir früher heimgesucht wurden fast noch lieber...

Schließlich und endlich bitte ich doch nicht zu vergessen, dass es sich hier um ein Java Forum handelt. Viele Leute hier ernähren mit dieser Sprache ihre Familie und hätten (selbst wenn sie wechseln wollten) oft nicht einmal die Möglichkeit in Zukunft eine andere Sprache zu verwenden, da es Sache des Arbeitgebers ist.
Denkt doch einfach mal darüber nach, ob es der richtige Weg ist hier mal eben aufzutauchen und den Leuten erklären zu wollen, dass das, was sie 10 Stunden täglich tun grober Unsinn ist.
Versuche ich gleiches in einem C Forum wird AFAIK mit härteren Bandagen und weniger sachlich Argumentiert.

Ich will damit keine fachlichen Diskussionen unterbinden (die sind in meinen Augen immer willkommen), lediglich das was hier zur Zeit passiert ist in meinen Augen völlig daneben.

Just my 2 Cents...
 
G

Gast

Gast
Auch geht es hier nicht darum was bei Sekretärin Müller über den Bildschirm huscht, sondern um die Maulesel die im Hintergrund arbeiten. Da wirst du dann plötzlich ganz wenige Windows Systeme und umso mehr Sun Solaris finden.
Das nächste Unternehmen hat aber kein Solaris, sondern da werkelt ein Linux auf der AS400 Kiste.
Was bei sekräterin müller über den bildschirm huscht, bildet 90% des desktop-software-marktes ab, und somit einen milliardenschweren marktbereich.
 
G

Guest

Gast
Warum nicht beides, sogar gleichzeitig? C# Client und ein JEE Server.
 

PollerJava

Top Contributor
Wie lange benötigt man, wenn man JavaSE sehr gut kann, C/C++ durchschnittlich, dass man C# lernt.
Das Schwierige wird wieder sein, dass man die ganzen Bibliotheken kennenlernt, schätz ich mal,

Wie schauts eigentlich in C# mit dem Erzeugen von GUIs aus, ist das auch so einfach wie in Java oder hält sich das eher an C++ mit dem MFC?


Also ich muss noch zu dieser Diskussion sagen, dass ich seit 2 Jahren Java- Desktop- Anwendungen programmiere und mit ein wenig geschick (keine Berechnungen in paint(), Swingworker, EDT, Code, der ganz schnell sein soll, auslagern- JNI) und wissen kann man sehr schnelle Anwendungen schreiben.
Diese Anwendungen laufen übrigens seit einiger Zeit mit Erfolg und Zufriedenheit.

Die Entwicklungszeit wäre mit C++ ja auch um ein vielfaches höher gewesen und ausserdem nicht zu realisieren gewesen, da auch eine WEBSTART- Applikation mit dabei ist und seit einiger Zeit haben wir auf LINUX umgestellt und siehe da, auf einmal tritt die Plattformunabhängigkeit in den vordergrund, also ich würde die plattformunabhängigkeit auch für Desktopanwendungen nicht unterschätzen.

Trotzdem möchte ich jetzt auch C# lernen, da es immer mehr gefordert wird.
 

SnooP

Top Contributor
c# ist nicht weiter tragisch... gibt noch einige ganz nette Zusatzkonzepte... und einige Dinge die ich weniger dufte finde - zumindest was die Weiterentwicklung der Sprache angeht, aber c# selbst sollte für einen Java-Entwickler "a-piece-of-cake" sein. Die .Net Klassenbibliothek muss man sich natürlich ebenfalls aneignen und einige zentrale Konzepte von .Net halt, um ein wenig zu verstehen, was da so alles passiert. GUI-Design geht mit .Net ziemlich gut - zumindest halt für die Windows-Anwendungen... ob man damit in allen Bereichen zufrieden ist, weiß ich nicht... ich war was die ASP.Net Konzepte angeht nicht soo begeistert... diese ganzen clicki-bunti-features könnten imho auch wegfallen ;)

Aber der GUI-Designer als solches ist schon ziemlich gut... bzw. sowas fehlt in der Java-Welt einfach ;)

Plattformunabhängigkeit ist natürlich eher weniger vorhanden... selbst wenn man Mono ins Feld führt... - ich würde nicht drauf setzen, wenn ich als Architekt gefragt werden würde eine plattformunabhängige Anwendung zu schreiben.
 

happy_robot

Bekanntes Mitglied
lustige diskussion.

es macht eigentlich kaum sinn dies oder jenes so zu diskutieren, weil jeder wohl das verteidigt was er am besten kann.
ich denke aber daß die kenntnis von C/C++ einem alle konzepte geläufiger sprachen vermittelt und daher die beste basis ist.

vom C#- , Java- ,PHP- oder "was-auch-immer-gerade-so-mode-ist"-Entwickler zum C/C++-Entwickler ist's ein steiniger Weg.
umgekehrt ist's (fast) ein kinderspiel.....man hat halt alles schon gesehen.


klasse find ich aber noch die aussage:

-C# hat im Gegensatz zu Java mehr Schlüsselwörter, ist also besser durchdacht

selten so einen blödsinn gelesen...... :autsch:
 

byte

Top Contributor
ABAP hat über 500 Schlüsselwörter und ist somit unangefochten die beste Sprache aller Zeiten. :idea:
 

AlArenal

Top Contributor
happy_robot hat gesagt.:
vom C#- , Java- ,PHP- oder "was-auch-immer-gerade-so-mode-ist"-Entwickler zum C/C++-Entwickler ist's ein steiniger Weg.
umgekehrt ist's (fast) ein kinderspiel.....man hat halt alles schon gesehen.

Da sprichst du aber wohl nur von der reinen Sprache, nicht von irgendwelchen APIs. Ein C/C++ Entwickler muss mitnichten Ahnung von Webdevelopment haben und hat auch nicht unbedingt Ahnung von relationalen Datenbanken ;)

Der eigentliche Aufwand ist weniger das Lernen der Syntax, sondern das Eintauchen und Auflösen in einem ganz anderen Ökosystem.
 

Jango

Gesperrter Benutzer
Die Diskussion hier war nie fair (weil ein 'Java-Entwickler' niemals etwas anderes, als seine göttliche Sprache zulasssen würde) und stets sinnfrei.
Beschäftigt euch doch einfach mal intensiv mit C#, um zu erfahren, ob das nun für den Ein, oder Anderen was ist.
Zum Einen erspart ihr euch die Fragerei und zum Anderen die unqualifizierten, meist engstirnigen Antworten.

Eine Modeerscheinung ist C# mitnichten! Solange es MS geben wird, gibts auch diese Programmiersprache. Ich gehe sogar soweit zu sagen, dass Java eine Modeerscheinung war. Und es würde sicher kein Java mehr geben, wenn Sun sich nicht aufgerafft hätte, um das 'Urjava' mit etlichen API's zu erweiteren. Der ganz große Durchbruch kam aber erst dann, als Java etliche Features von MS (C#) geklaut, kopiert, gekauft, oder was auch immer hat.

Die Liebe und die Loyalität zu einer Programmiersprache ist ja ganz rührend, aber ein Programmierer, der sich so energisch gegen Neuheiten stellt - wie ihr es hier macht - ist meiner Meinung nach absolut rückständig und nicht Marktreif.

Im Übrigen:
Alles was das .NET Framework beinhaltet - und das ist weit mehr als die paar Features von Java - ist und bleibt immer dort. Eine Adresse. Ihr dürft nicht den Fehler machen, Java mit C# zu vergleichen - Jede Programmiersprache muss sich mit dem gesamten .NET Framework messen <-- denn DAS ist die Programmiersprache...
 

Wildcard

Top Contributor
Jango hat gesagt.:
Eine Modeerscheinung ist C# mitnichten!
Da C# (Stand heute) noch nie in Mode war, ist es auch (noch) keine Modeerscheinung :wink:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Der ganz große Durchbruch kam aber erst dann, als Java etliche Features von MS (C#) geklaut, kopiert, gekauft, oder was auch immer hat.
Das mag dir entgangen sein, aber Java war schon die wichtigste Programmiersprache als es C#/.NET-Framework noch gar nicht gab.
tpci_trends.png


Alles was das .NET Framework beinhaltet - und das ist weit mehr als die paar Features von Java - ist und bleibt immer dort. Eine Adresse.
Die Klassenbibliotheken beider Sprachen schenken sich meines Wissens nichtmal viel, aber darauf kam es auch nie an.
Java lebt von seinem Ökosystem in dem tausende und abertausende hochqualitativer Bibliotheken und Frameworks gewachsen sind. Da kommt noch nichtmal Perl mit und das macht die Mächtigkeit von Java aus.
Ihr dürft nicht den Fehler machen, Java mit C# zu vergleichen - Jede Programmiersprache muss sich mit dem gesamten .NET Framework messen <-- denn DAS ist die Programmiersprache...
Nein, das .NET-Framework ist eben keine Programmiersprache, sondern ein Framework. Sagt doch der Name schon...
 

semi

Top Contributor
Wildcard hat gesagt.:
Die Klassenbibliotheken beider Sprachen schenken sich meines Wissens nichtmal viel, aber darauf kam es auch nie an.
Java lebt von seinem Ökosystem in dem tausende und abertausende hochqualitativer Bibliotheken und Frameworks gewachsen sind. Da kommt noch nichtmal Perl mit und das macht die Mächtigkeit von Java aus.
Ich frage mich wie lange noch. C# hat einen verdammt schnellen Start hingelegt und die Anzahl guter
Libraries wächst rasant. Im Serverbereich tut sich inzwischen auch ziemlich viel. Man hat bei .NET den
Vorteil, dass all die VB, C++, C# Entwickler jetzt die gleiche "Sprache reden".
Ich denke, dass die Aussage, dass "sich jede Programmiersprache mit .NET messen muss", gar nicht so
abwegig ist. Auf dem Desktop auf jeden Fall, serverseitig wird es aber noch 'ne Weile dauern, bis .NET
ansatzweise mitzieht. ;)
 

byte

Top Contributor
Ich könnte mir vorstellen, dass .NET im Desktop Bereich an Java vorbeiziehen wird. Im Swing Bereich tut sich ja herzlich wenig. Einzig SWT/ Eclipse RCP hält da noch die Fahne hoch. Im Bereich Enterprise Applications sehe ich aber Java deutlich vorne und es macht auch keinen Anschein, als würde sich das zukünftig ändern. In dem Sektor hat sich Java längst im Markt festgebissen. Und was das bedeutet, sieht man ja gut an diversen COBOL-Programmen. ;)
 

ms

Top Contributor
Wie stark sich .NET im Desktopbereich im Vergleich zu Java entwickelt hängt meiner Meinung nach wohl auch starkt vom nächsten Windows-Betriebssystem ab. Wenn der Vista-Nachfolger wieder nicht richtig ankommt dann gibt das sicherlich noch mehr Chancen für Alternativen. (Linux, Openoffice, ...)
Denke aber, dass Microsoft den Ernst der Lage erkannt hat und dementsprechend reagieren wird.

Obwohl ich auch javalastig bin sehe ich .NET als ernst zunehmende Alternative die durchaus ihre Berechtigung hat.
Oft sind Entscheidungen in Betrieben ob Java oder .NET eingesetzt wird politisch getrieben, da können wir noch so viele Argumente für oder gegen die jeweilige Sprache bringen, interessiert in Wahrheit kein Schwein.

ms
 

thE_29

Top Contributor
Tjo, man darf und sollte aber Linux und Mac OS (das sowieso grad im kommen ist) nicht vergessen wo Java outofthebox dabei ist und C# eigentlich nur über dieses Mono Framework läuft (läuft das eigentlich gut?)

Und die wollen auch Desktopanwendungen haben!

Nachtrag: Also ich weiß nicht was jeder gegen Vista hat! Hab das jetzt seit 1 Monat und bin eigentlich recht zufrieden! Könnte mich nicht wirklich aufregen. Nutze jetzt auch Mac OS und sehe da jetzt auch nicht soviele Vor/Nachteile gegenüber einem Windows System (vorallem gegen Vista).

OK, hab zwar 4GB RAM (aber hat das nicht heutzutage jeder?!) von daher könnte ich nicht sagen, das Vista langsam ist..
 

ms

Top Contributor
Zu Vista:
Ich selbst habe keins, nur MacOS, WinXP und Linux.

Meine Schwester hat sich vor einem Jahr einen neuen (Billig)-Rechner gekauft mit Vista (32Bit) + 1GB Ram.
Nach ein paar Monaten hab ich schon dran Schrauben dürfen weil ihr Drucker nicht erkannt wurde.
Abgesehen davon ist dieses Ding ist wirklich elends langsam. Unmöglich damit richtig zu arbeiten.
Jetzt werden sicherlich alle sagen "Billigrechner, ... 32Bit ... 1GB Ram ..." selber schuld. Ja sicher, aber genau in diesem Bereich mit solchen Maschinen hat es zuvor nicht solche krassen Unterschiede gegeben.
=> mein Eindruck.

ms
 

byte

Top Contributor
thE_29 hat gesagt.:
OK, hab zwar 4GB RAM (aber hat das nicht heutzutage jeder?!) von daher könnte ich nicht sagen, das Vista langsam ist..
Derzeit gibts 8 GB Riegel im Handel für 140 Euro. RAM scheint grade billig wie nie.
 
U

unicode

Gast
Hallo zusammen,
erstaunlich wie sich dieser Thread entwickelt hat.
Und eigentlich habe ich ihn eröffnet als ich ein bißchen angefressen war und von C# geblendet war im positiven Sinn. Der Anlass war das ein Thread eröffnet wurde wo jemand fragte wie er diese "schöne" Sprache Java lernen kann. Und da es bei Java ein paar unschöne Sachen gibt-wie in jeder anderen Programmiersprache auch- habe ich zu ihm gemeint dass er sich auch C# anschauen könne.
Den Punkt den manche hier für Bödsinn halten, dass eine Programmiersprache mit mehr Schlüsselwörtern wie C# gegenüber Java besser durchdacht ist halte ich gar nicht mal für so unbegründet. Und das Gegenargument ABAP kann doch nicht ernst gemeint sein, schließlich ist ABAP für SAP entwickelt und deshalb hat sie auch viel mehr Schlüsselwörter, da sie für eine bestimmte Aufgabe zugeschnitten ist.
Und dass C# im Gegensatz zu Java einen zwingt nach nem case ein break zu machen, das halte ich eindeutig für ne sehr gute Sache. Natürlich sagt das nicht aus dass C# besser ist als Java, das habe ich auch nie behauptet.
Zur Zeit programmiere ich wieder nur Java und kein C# ;-)
Gruß
 

semi

Top Contributor
thE_29 hat gesagt.:
Nachtrag: Also ich weiß nicht was jeder gegen Vista hat! Hab das jetzt seit 1 Monat und bin eigentlich recht zufrieden! Könnte mich nicht wirklich aufregen. Nutze jetzt auch Mac OS und sehe da jetzt auch nicht soviele Vor/Nachteile gegenüber einem Windows System (vorallem gegen Vista).
Kann ich auch nicht nachvollziehen. Ich habe seit fast einem Jahr Vista x64 und kann die Kritik und Probleme,
die in Foren so kursieren, nicht nachvollziehen. Wenn man den ganzen bunten Sch... aussachaltet, ist es sogar
kaum von XP zu unterscheiden. ;) Ich habe bisher auch nur eine Anwendung erlebt, die unter Vista x64 nicht läuft
(Palm Desktop). Alles andere läuft einwandfrei. Es setzt aber voraus, dass man keinen antiken PC hat.
Die Seite (start64.com) kann ich empfehlen, es gibt fast täglich Meldungen zu Anwendungen/Treibern etc., die
x64 fähig sind oder geworden sind. OK, genug davon, hier geht's nicht um Vista.
 

Jango

Gesperrter Benutzer
ms hat gesagt.:
Obwohl ich auch javalastig bin sehe ich .NET als ernst zunehmende Alternative die durchaus ihre Berechtigung hat.
ms
Wie gut, dass es immer mal einen Clown gibt, der für spaßige Unterhaltung sorgt. :lol:
.NET als Alternative zu Java? Sorry - aber wo warst du die letzten Jahre? Im Kongo?

Das Bisschen, was .NET nicht beherrscht, wird auch nicht von Java gedeckt.
Es ist immer wieder lustig, wie man den einzigen 'Vorteil' von Java - nämlich die angebliche Plattformunabhängigkeit - ständig neu ins Feld führt. Ein Java-Programm kann man auch nur dann ausführen, wenn sich eine VM installieren lässt. Bei Linux und Apple soll das wohl gehen. Gibts denn nur die drei OS?
Java ist genauso plattformabhängig wie jede andere Sprache auch. Oder kann mir hier einer beweisen, dass man Java auf sämtliche Betriebssysteme, die es auf der Welt gibt, portieren kann?
Eher weniger.
Und Linux... Ich halte es für Zeitverschwendung, auch nur eine Minute darüber nachzudenken. Ohne Ubuntu & Co ist es reine Konsole - da kann man sich auch die alten MS-DOS, oder sogar DR-DOS - Teile raussuchen...

@Wildcard:
Statistiken beeindrucken mich nur im negativen Sinn. Wer an sowas glaubt, dem ist nicht zu helfen...
 

Wildcard

Top Contributor
Jango, das ist wirklich nicht sehr zielführend.
Das Bisschen, was .NET nicht beherrscht, wird auch nicht von Java gedeckt.
Wieviel berufliche Erfahrung hast du als Softwareentwicklerin um das wirklich beurteilen zu können?
Nenn mir doch bitte ein paar .NET Application Server (und das ist nur ein Beispiel )

Es ist immer wieder lustig, wie man den einzigen 'Vorteil' von Java - nämlich die angebliche Plattformunabhängigkeit - ständig neu ins Feld führt. Ein Java-Programm kann man auch nur dann ausführen, wenn sich eine VM installieren lässt. Bei Linux und Apple soll das wohl gehen. Gibts denn nur die drei OS?
Weder Apple, noch Linux sind Betriebssysteme. Davon abgesehen läuft Java auf so unglaublich vielen Betriebssystemen und Architekturen das es schwierig wird sie alle aufzulisten.

Java ist genauso plattformabhängig wie jede andere Sprache auch. Oder kann mir hier einer beweisen, dass man Java auf sämtliche Betriebssysteme, die es auf der Welt gibt, portieren kann?
Eher weniger.
Turing Vollständigkeit...

Und Linux... Ich halte es für Zeitverschwendung, auch nur eine Minute darüber nachzudenken. Ohne Ubuntu & Co ist es reine Konsole - da kann man sich auch die alten MS-DOS, oder sogar DR-DOS - Teile raussuchen...
Du schreibst über Dinge von denen du ganz offensichtlich nicht die geringste Ahnung hast.
Linux ist keine Konsole. Linux ist ein Betriebssystemkernel.
Ubuntu ist auch ganz sicher keine bunte Linux Erweiterung oder was auch immer du dir darunter vorstellst, sondern eine Linux-Distribution.
Da du dich also noch nie mit dem Thema beschäftigt hast, wage ich zu bezweifeln, das du den Kernel Source gut genug kennst um irgendwelche Ähnlichkeiten zu MS-DOS :)lol:) zu finden.

Wie gut, dass es immer mal einen Clown gibt, der für spaßige Unterhaltung sorgt
scheint so :roll: :
 

ms

Top Contributor
Jango hat gesagt.:
ms hat gesagt.:
Obwohl ich auch javalastig bin sehe ich .NET als ernst zunehmende Alternative die durchaus ihre Berechtigung hat.
ms
Wie gut, dass es immer mal einen Clown gibt, der für spaßige Unterhaltung sorgt. :lol:
.NET als Alternative zu Java? Sorry - aber wo warst du die letzten Jahre? Im Kongo?
Na? Maulkorb abgegangen?

Wo ich die letzten Jahre war? Bei Kunden. Und du?
Diese Kunden haben sowohl Java als auch .NET Umgebungen. Wie ich oben schon geschrieben habe, sind diese Umgebungen meist nicht durch irgendwelche schlagenden Argumente sondern politisch entstanden.
Und ja, diese beiden Plattformen sind meiner Meinung nach jeweils durch die andere ersetzbar, zumindest im Enterprisebereich.

ms
 

AlArenal

Top Contributor
Jango hat gesagt.:
Gibts denn nur die drei OS?

Wieviel kommerziellen Marktanteil haben alle Betriebssysteme, für die es keine JRE gibt, zusammen?

In der Praxis ist abgedeckt, was abzudecken ist. Sonstige Systeme sind eher Randerscheinungen und selbst für diese kann es JREs geben, wenn es genug motivierte Entwickler gibt. So sind z.B. einige Jungs dabei für Haiku OpenJDK zu portieren.
 

AlArenal

Top Contributor
Verschweigen wollen wir Solaris so wenig wie AIX, aber wir führen ja auch nicht jede Linux Distro einzeln auf ;)
 

AdrWgl

Mitglied
Wartet doch einfach ab, bis jC# herauskommt.

Dann kann Mono entfallen.
C# läuft auf allen Betriebssystemen,
die die Java Laufzeitumgebung unterstützen

und alle sind zufrieden :lol:

Grüsse
 
T

tuxedo

Gast
AdrWgl hat gesagt.:
Wartet doch einfach ab, bis jC# herauskommt.

Dann kann Mono entfallen.
C# läuft auf allen Betriebssystemen,
die die Java Laufzeitumgebung unterstützen

Was hab ich denn dann gewonnen? Prima. Hab mich da noch nicht weiter eingelesen, aber ich geh mal stark davon aus, dass jC# nicht mehr können wird als Java, da beide dann auf der selben VM aufbauen. Tolle Wurst. Die C# und Java Syntax ähneln sich ja so stark dass es, zumindest aus Syntax-Sicht im großen ganzen egal ist ob ich nun C# oder Java verwende. Wieviel Sprachabhängige Features von C# in jC# funktionieren werden hab ich hier mal außen vor gelassen. Dazu weiß ich zu wneig über jC#.

- Alex

P.S. ich hab genauso den Ironie-Tag vergessen wie du auch ;-)
 

happy_robot

Bekanntes Mitglied
AlArenal hat gesagt.:
happy_robot hat gesagt.:
vom C#- , Java- ,PHP- oder "was-auch-immer-gerade-so-mode-ist"-Entwickler zum C/C++-Entwickler ist's ein steiniger Weg.
umgekehrt ist's (fast) ein kinderspiel.....man hat halt alles schon gesehen.

Da sprichst du aber wohl nur von der reinen Sprache, nicht von irgendwelchen APIs. Ein C/C++ Entwickler muss mitnichten Ahnung von Webdevelopment haben und hat auch nicht unbedingt Ahnung von relationalen Datenbanken .

Wir reden hier von Sprachen und deren Konzeption und nicht von irgendwelchen Technologien. Hier von Webdevelopment und Datenbanken oder ähnliches zu reden ist imho fehl am Platz.
Ein guter C/C++-Entwickler kennt Zeiger, VMTs, Templates, Inlcudes, Headers, Precompiler und und und........
Bestes Beispiel ist doch hier die Möglichkeit mit den Sprachmitteln von C++ Java-Interfaces nachbilden zu können. Das Überladen von Operatoren ist doch auch eine tolle Sache die mir in einer anderen Sprache nicht bekannt ist.

Wer C++ wirklich kann kommt mit allen anderen Sprachen klar.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Diskussion zu equals Softwareentwicklung 31
M Diskussion: MVC Softwareentwicklung 5
G Umwandung von Vb auf Java Softwareentwicklung 1
von Spotz Kommunikation zwischen Java und Container Orchestrator (Microservices) Softwareentwicklung 11
S Microservices in Java Spring: Nebenläufigkeitsprobleme lösen Softwareentwicklung 6
temi Elementfunktionen vs. Nichtelementfunktionen in Java Softwareentwicklung 20
R Umsetzungen in Java vs. Umsetzungen auf Datenbankebene Softwareentwicklung 9
L Module Eclipse Java 9 Softwareentwicklung 12
R Software-Architekt (Schwerpunkt Java) Softwareentwicklung 9
S VB.NET / C# als Java-Entwickler? Softwareentwicklung 2
J Java Kentnisse vertiefen oder andere Programmiersprache probieren? Softwareentwicklung 8
U Java vs. anderen plattformunabhängige Programmiersprachen Softwareentwicklung 8
S JNI Java from C Softwareentwicklung 0
H [Java]Regex Hilfe Softwareentwicklung 3
D Teamspeak Java html app Softwareentwicklung 5
N UML Komponenten als Java-Klassen abbilden Softwareentwicklung 4
S Java Anfänger hat Probleme mit Scanner Softwareentwicklung 6
C Lohnt es sich noch ein neues Projekt in C++ anstatt Java zu realisieren? Softwareentwicklung 4
U Java oder welche Sprache? Softwareentwicklung 98
MrWhite Ist Java gar nicht sooo objektorientiert??! Softwareentwicklung 16
J Java Long-Werte in C++ auslesen Softwareentwicklung 4
K Mit "Java" html-Seite entscripten Softwareentwicklung 6
Airwolf89 Theoretische Frage - In Java Java-Programme schreiben Softwareentwicklung 5
G Mischsprache aus Java & C# Softwareentwicklung 23
H COBOL und Java Softwareentwicklung 17
H Java als Backend, Javascript als View Softwareentwicklung 3
D Sind EJB Komponenten auch mit Java Swing nutzbar? Softwareentwicklung 8
U Decorator Pattern in der Java API Softwareentwicklung 6
J Java Software nach C++ portieren Softwareentwicklung 6
C Unterschiede: C++ vs. C# vs. Java Softwareentwicklung 21
G Umstieg Java/Oracle => C#/MSSQL Softwareentwicklung 13
A Jira durch Java ansprechen Softwareentwicklung 18
M Immutable Objekte und funktionales Programmieren in Java oder Scala Softwareentwicklung 34
B [Web 2.0] Java vs PHP Softwareentwicklung 28
Raidri Flex mit Java Softwareentwicklung 2
L Java + WCF Softwareentwicklung 9
Airwolf89 Java-Programm in C++ portieren Softwareentwicklung 4
T Kapselung nich vollständig umgesetzt in Java? Softwareentwicklung 4
J Korpus mit Python einlesen - weiterbearbeiten mit Java Softwareentwicklung 4
N c# nach java Softwareentwicklung 14
K Suche freies UML Tool um aus .java dateien Diagramme zu. Softwareentwicklung 8
D Java in KLassen, schon vorhanden? Softwareentwicklung 3
B Was ist besser für Grafiken? Java oder C#? Softwareentwicklung 9
R Java Passwort verschlüsseln --> kompliziert! wirklich doo Softwareentwicklung 13
F vorteile php gegenüber java? Softwareentwicklung 46
M Umwandlung von String in java.sql.Date Softwareentwicklung 2
lolkind Iso Datein per Java über Windows XP brennen Softwareentwicklung 13
E Java Programm distributen Softwareentwicklung 35
J Hardware zugriff mit java? Softwareentwicklung 4
N Für und Wieder von Java und .NET (primär C#) | Performance Softwareentwicklung 6
G java.lang.ArrayIndexOutOfBoundsException Softwareentwicklung 5
E Default Java unter Linux aendern? Softwareentwicklung 3
S arabische Buchstaben in java ?:L Softwareentwicklung 3
L Noch 'ne Perl-Frage. Kehre dann auch reumütig zu Java zurück Softwareentwicklung 10
G Serveranbindung mit java Softwareentwicklung 24
P Grafik-Programm mit JAVA? Softwareentwicklung 21
G Umstieg von Delphi zu JAVA (wichtige Fragen!) Softwareentwicklung 41
F Welche Sprache sieht ähnlich aus wie Java? Softwareentwicklung 7
T Suche A Star Java Beispielprogramm Softwareentwicklung 2
D C# zu Java - Übersetzer gesucht. Softwareentwicklung 3
F Windows Media Player in Java? Softwareentwicklung 11
C C code in java umschreiben Softwareentwicklung 9
O java und c# - die zweite. Softwareentwicklung 7
S Problem PJIRC java-applet Softwareentwicklung 4
U Geeignete Plattform für Projekt (JSP, PHP, Java-Anwendung) Softwareentwicklung 7
G C++ in JAVA verpacken Softwareentwicklung 2
D C# vs. java Softwareentwicklung 16
G Darstellung von Java-Projekten mit UML Softwareentwicklung 3
E Java & Performance Softwareentwicklung 9
T Brauche für meinen Java-Code dringend Hilfe Softwareentwicklung 4
B Wo bekommt man fertige Java-Programme (z.B. für Lsg LGS) Softwareentwicklung 3
W Herangehensweise an ein Java Programm Softwareentwicklung 4
B Programmierung eines 8051-Assemblers unter Java Softwareentwicklung 3
M Bidirektionale Assoziazion in Java realisieren? Softwareentwicklung 3
J Java <-> C# Softwareentwicklung 1
S c# schneller java - wieso ? Softwareentwicklung 12
D C++ und Java Softwareentwicklung 61

Ähnliche Java Themen

Neue Themen


Oben