Grunsätzliche Fragen zu Java und C#

ThomasCH

Grünschnabel
Hallo,

bisher habe ich zwei Programmiersysteme kennengelernt: C++ und PHP.
Da ich C++ eigentlich nur dazu verwende kleine Skripte zu schreiben, habe ich mir überlegt, dass ich dafür mit C# oder Java besser bedient wäre.

Nachdem ich ein wenig bei Google und Wikipedia gestöbert habe, verstehe ich das Ganze folgendermaßen: Java kann auf jedem System angewandt werden, sei es Linux, Windows oder Mac. Das Java/C# -Programm greift nicht direkt auf das System zu, sondern verwendet die VM als eine Art Dolmetscher. C# ähnelt Java in der Syntax, wurde von Microsoft entwickelt und benötigt wie Java eine virtuelle Maschine.
Ich kann weder mit C# noch mit Java eine .exe-Dateien kompilieren, sondern nur "Container" erstellen.

Kann man das so gelten lassen?

Vielen Dank im Voraus,

Thomas
 
Unter C# heissen die Dinger Assemblies und haben die Endung .EXE um für Anwender weiterhin als ausführbare Dateien ersichtlich zu sein. Dahinter wird das Framework benötigt um die Datei auszuführen.

Bei Java ists ähnlich, gibt aber auch die Möglichkeit eine eigenständige ausführbare Datei zu erstellen (mit Zusatztools).

Welche Sprache du verwenden sollst wird dir hier keiner sagen können bzw. wird dir hier keiner eine wertfreie Aussage liefern. Am besten du schaust dir die Syntax von beiden an und entscheidest dann, welche Sprache du verwenden willst.

Bzw. solltest dir auch überlegen, ob du ausschließlich für Windows-Systeme entwickeln willst, oder später auch mal Linux/Unix etc. anstrebst. Im Idealfall solltest ohnehin beide Sprachen können.
 
Hi Norbert, vielen Dank!

Jetzt verstehe ich auch was das mit dem .net-Framework auf sich hat. Wie du siest bin ich nicht ganz auf dem Laufenden.. :)
 
Das .NET Framework ist vom Prinzip her gleich wie das Java SDK. Also welche Sprache ist insofern egal, dass es lediglich auf die Plattformunabhängigkeit ankommt .. wobei .. C# kannst per Mono-Projekt auch auf Linux laufen lassen.
 
Original geschrieben von Norbert Eder
Das .NET Framework ist vom Prinzip her gleich wie das Java SDK. Also welche Sprache ist insofern egal, dass es lediglich auf die Plattformunabhängigkeit ankommt .. wobei .. C# kannst per Mono-Projekt auch auf Linux laufen lassen.

Im Sinne des Forumsfrieden verkneif ich mir jetzt den Kommentar über Mono und .net Interkompatibilität denn das wurde hier schon so breit getreten das mann fast nicht daran vorbeilaufen kann.

:)

@ Threadstarter: Es gibt kaum ein Thema das so oft und so leidenschafftlich Diskutiert worden ist wie Java vs .net. Das heisst du wirst hier in diesem Forum einige Threads finden aus denen du herauslesen kannst was wer wie an jener Plattform gut findet, und an der anderen auszusetzen hat.

Also bitte, führe uns nicht in Versuchung und les die anderen Threads :)
 
Die einzig gültige Antwort darauf:

Was willst du damit tun? Ist Plattformunabhängigkeit nötig? Ist es ein Webprojekt? Welche Mittel willst du ausgeben ($$$$)?

Nur Java ist wirklich Plattformunabhängig - Mono kann glaube ich nur den freien Teil von .Net implementieren. GUIs gehen glaube ich noch nicht ganz Plattformunabhängig oder nur mit wxWindows (aber da lass ich mich gerne berichtigen).
Wirklich wichtig: wieviel Kohle willst du ausgeben. Bei Java steht mit Eclipse 3.0 eine sehr vollständige und stabile Entwicklungsplattform inklusive Debugging und Refactoring Tools zur Verfügung. Wenn du VS.Net hast, ist das natürlich egal.
 

Neue Beiträge

Zurück