Java oder C#? Empfehlenswerte Meinung..

7 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Java und C# sind definitiv ähnlich, wie greye schon angedeutet hat (ich programmiere in beiden Sprachen). Jede hat ihre eigenen stärken und schwächen.

Java ist Plattform-unabhänig und hat teilweise bessere Bibliotheken (zumindest bei den im täglichen brauch benötigten):

  • insgesamt empfinde ich die integrierten Collections von Java besser gelungen (allerdings möchte ich hier noch die C# LinkedHashMap erwähnen, die in Java keine Entsprechung hat)
  • JDOM ist C#s System.Xml klar überlegen (mit der Einschränkung, das Validierung nicht besonders gut gelungen ist)
  • sehr gute Logging-Bibliotheken (wobei mir log4j nochmals besser gefällt als das interne Java-Logging - sind aber beide ähnlich)

Außerdem läuft auch das aktuellste Java noch auf älteren Windows-Betriebssystemen (habe noch einen alten Rechner mit Windows 2000, für den ich keine neue Lizenz mehr erwerben möchte - .NET ist da nur bis 2.0 erhältlich).

C# ist eine .NET-Sprache und damit von Microsoft ausschließlich für Windows vorgesehen - .NET 3.0/3.5 ist erst ab Windows XP benutzbar.

Zwar gibt es Portierungen (z. B. Mono, derzeit am weitesten fortgeschritten), aber da sie nicht von MS unterstützt sind, hängen sie naturgemäß immer ein wenig der aktuellen Entwicklung hinterher.

Andererseits hat C# aber auch sehr interessante Konzepte, zu denen es in Java keine Entsprechung gibt:

  • Properties
  • Delegates und darauf aufbauende Events

Erstere sind mit Getter-/Setter-Methoden leicht nachzubauen (was letztlich angenehmer oder besser ist, muss jeder für sich selbst entscheiden). Letztere sind so nicht direkt nachbaubar, man benötigt Interfaces, um eine entsprechende Funktionalität zu erreichen (vgl. C# Events und Java Listeners).

C#s using-Direktiven gibt es in zwei Varianten, einmal um ganze Namespaces verfügbar zu machen (Java: import <package>.*;), einmal um einzelne Klassen verfügbar zu machen (Java: import <package>.<class>;), bei letzterem kann/muss man dann einen Alias für die Klasse angeben (der durchaus auch gleichlautend wie der Klassenname sein kann). Mit der zweiten Variante kann man auch mehrere gleichbenannte Klassen aus verschiedenen Namespaces benutzen, ohne die Namespaces voranstellen zu müssen, bei Java muss man in diesem Fall alle Klassen bis auf eine mit vorangestelltem Package ansprechen.

Ich persönlich arbeite lieber mit Java, da ich mich ungern so eng an MS-Betriebssysteme binde, auch wenn ich meistens auf/für Windows-Systeme entwickle.

Upps - meine Imports sind ein wenig schiefgegangen... Sollte so aussehen:

import <package>.*;

bzw.:

import <package>.<class>;

0

Ein Unterschied ist auch die Entwicklungsumgebung, Eclipse und IntelliJ IDEA (Java) sind zwar gute IDEs, aber mit Visual Studio (C#) ist es immer noch am angenemsten zu arbeiten.

Java und C# dürften von der Sprache her ähnlich sein.

Ich selbst würde vermutlich eher zu Java greifen - zum einen, weil ich weiß, daß es dazu sehr gute Bücher gibt, die man auch online und kostenlos lesen kann (galileocomputing.de hat da mit seinen Openbooks einiges; ok, das haben sie auch zu C#/.NET :)), zum anderen weil Java, in Gegensatz zu C# wirklich plattformunabhängig ist.

HTH, 42m

Welche Programmiersprachen etc muss ich lernen, um eine App programmieren zu können?

Hey. Ich bin schon dabei, Java zu lernen. Was muss ich noch alles lernen, um eine App programmieren zu können und wie lange dauert das ungefähr?

LG

...zur Frage

Programmieren lernen C oder Java?

Ich möchte Programmieren lernen soll ich C oder Java benutzen was ist das überhaupt?
Kann mir jemand ein Buch empfehlen?

...zur Frage

Programmieren! aller anfang ist schwer

hallo ich möchte programmieren lernen aber es gibt soviel verschiedenes mit was fängt man an. Selbststudium Java? C# ? C++?

...zur Frage

Was bedeutet dieses Ausrufezeichensymbol in Eclipse?

Ich habe gerade angefangen Java zu lernen und jetzt habe ich solche "Übungscodes" aus dem Internet geladen. Sie gehören zum Buch "Mit Java programmieren für Dummies". Ich habe diese Codes importiert und jetzt zeigt es mir immer diese Symbol an und ich verstehe nicht was das zu bedeuten hat....

...zur Frage

Ist Java heutzutage immer noch unsicher?

Ich habe gerade mit einer anderen Person darüber diskutiert. Sollte man heutzutage Java auf seinem Computer installieren oder lieber nicht? Die Meinung, dass Java unsicher sei, ist ja sehr verbreitet.

...zur Frage

Java vs C++/C#?

Hi, wir lernen in der Uni Java, zwar haben wir auch C Kurse, aber hauptsächlich dreht sich alles um Java.

Wenn man irgendwelche außenstehenden Programmierer trifft (die nicht an der Uni waren), sagen die immer dass Java nichts bringt und "echte" Programme immer nur in C++ oder C# programmiert werden.

Was meint ihr dazu? Argumente, Gegenargumente?

...zur Frage

Was möchtest Du wissen?