Java oder c#
-
Hallo, ich habe vor kurzem mein informatikstudium begonnen und stell mir jetzt dir frage, welche sprache ich für ein längerfristiges projekt verwenden soll.
Ich frag mich, ob c# oder ob java die bessere alternative ist. c# und .net is in der version 2.0 sehr schön, aber in kürze kommt 3.0 und dann kommt irgendwann nächstes jahr orcas. ich habe keine lust, alles was ich in c#2.0 gelernt hab, wieder zu vergessen, weil in orcas und .net3.5 alles anders ist
Fahre ich mit java da besser?
-
andi-298 schrieb:
c# und .net is in der version 2.0 sehr schön, aber in kürze kommt 3.0 und dann kommt irgendwann nächstes jahr orcas.
3.0 ist schon da!
andi-298 schrieb:
ich habe keine lust, alles was ich in c#2.0 gelernt hab, wieder zu vergessen, weil in orcas und .net3.5 alles anders ist
Du solltest Dich vlt. erstmal über grundlegende Dinge informaieren bevor Du so etwas .... schreibst.
-
andi-298 schrieb:
Fahre ich mit java da besser?
klar. allein schon weil deine programme dann auch auf unix-artigen und anderen systemen laufen, nicht nur unter win.
-
C# gibts auch für Linux und Unixe.
-
Sowas wird doch wieder endlos.
-
Noodles schrieb:
Sowas wird doch wieder endlos.
ja, ein neuer 'java gegen c++' thread hat auch schon wieder angefangen
-
ich will nur wissen, ob es sich noch lohnt, mit dotnet 2.0 zu beschäftigen
-
andi-298 schrieb:
ich will nur wissen, ob es sich noch lohnt, mit dotnet 2.0 zu beschäftigen
Die API von Java ändert sich auch oft, da ist keine große Differenz.
Sollen deine Programme auch auf Unix/Linux laufen, oder nicht?Wenn du eine Sprache willst, an der sich nicht oft was ändert, nimm C oder C++. Na, nimm auch so C oder C++
-
andi-298 schrieb:
ich will nur wissen, ob es sich noch lohnt, mit dotnet 2.0 zu beschäftigen
wenn du dich dafür interessierst: warum nicht?
schaden kann's nie...
-
Was heißt es ist alles anders mit Orcas? Klar kommen ein paar Spracherweiterungen, aber es ist doch nicht so dass du nichts von C# 2.0 mehr brauchst. Es ist eher der Gegenteil, ohne die Grundlagen siehst du alt aus. Genauso ists mit .Net 3.0 - einige denken man kann jetzt Windows Forms vergessen - das ist schlichtweg falsch. Die Theorie was überhaupt hinter Oberflächenprogrammierung steckt ist mit Windows Forms leichter, weil WPF noch mehr abstrahiert. .Net 3.0 ist doch eh nen 2.0 nur mit ner erweiterten Klassenbibliothek - an den Sprachen ändert sich rein gar nichts.
Es ist wirklich die Frage was du willst: Wenn dein Hauptaugenmerk auf der Windowsplattform liegt dann würde ich zu C# raten. Microsoft pusht es halt extrem und man merkt das auch das man ne riesige Unterstützung hat. Seis durch ne gute IDE, durch PIAs für Office oder auch durch XNA oder halt WinFX.
Wenn deine Programme wirklich auf vielen Plattformen laufen sollen, dann wäre wohl Java ne Wahl, wobei ich aber auch die Erfahrung gemacht haben, das manche die Plattformunabhängigkeit eher ideologisch wollen statt wirklich aus dem Bedarf heraus. Wenn von 100 Usern nur 5 das Programm nicht auf Windows ausführen, dann lohnt es sich nicht plattformunabhängig zu programmieren.
-
GPC schrieb:
Die API von Java ändert sich auch oft, da ist keine große Differenz.
Das stimmt so aber auch nicht. Es kommen zwar mit jeder Version auch neue Dinge hinzu (sonst gäbs ja keine neuen Versionen
), aber die bestehende API bleibt zum allergrößten Teil erhalten (ist ja auch im Sinn einer API).
Wie das in C# aussieht weiß ich nicht. Aber angeblich isses ja so, dass Dinge die mit .NET 2.0 programmiert wurden, auch weiterhin unter dem .NET 2.0 Framework laufen müssen, was ich schon bisschen scheisse finde.Beide Sprachen sind prinzipiell ja eigentlich sehr ähnlich. Ich persönlich würde dir zu Java raten, es sei denn du weißt schon im Vorhinein, dass dein Projekt *sehr* nativ auf die Windowsplattform ausgerichtet sein soll. Aber ist wie gesagt meine persönliche Meinung.
-
nep schrieb:
Wie das in C# aussieht weiß ich nicht. Aber angeblich isses ja so, dass Dinge die mit .NET 2.0 programmiert wurden, auch weiterhin unter dem .NET 2.0 Framework laufen müssen, was ich schon bisschen scheisse finde.
Das stellst du als Meta-Datum in deiner Assembly und im Installer ein. Du kannst selbstverständlich ein Arsch sein und in .Net 3.0-Zeiten auf ein 1.0 Framework bestehen... sieht man auch immer wieder.
-
nep schrieb:
GPC schrieb:
Die API von Java ändert sich auch oft, da ist keine große Differenz.
Das stimmt so aber auch nicht. Es kommen zwar mit jeder Version auch neue Dinge hinzu (sonst gäbs ja keine neuen Versionen
), aber die bestehende API bleibt zum allergrößten Teil erhalten (ist ja auch im Sinn einer API).
Na ja, ne Runde Refaktorieren würde der API nicht schaden. Die ist imo teilweise etwas ungünstig gewachsen... aber das soll nicht mein Problem sein. :xmas1:
-
Klar, aber ist so halt nicht möglich, da es eben eine API ist und die Schnittstellen nach außen gleich bleiben sollen.
Das ist auch ein Punkt, in dem .NET/C# ein bisschen "besser" ist. Man hat sich das ja alles abgeschaut von Java, aber eben auch manche Sachen gleich von Anfang an besser gelöst als bei Java, die man so bei SUN erst im Nachhinein bemerkt hat, als es die API schon gab. Hält sich aber in Grenzen.