Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

07.07.2008, 23:15

Ich sehe zwischen allen drei Sprachen keinen Unterschied. Erfüllen alle ihren Zweck und es ist auch mal ganz gut, den Syntax zu wechseln, wird ja langweilig.

Der große Unterschied zwischen Java und C# ist meiner Meinung nach:

(1)
C#: Kommerzielle, auch die meisten Bibliotheken und Software dazu. Generell kommerziellerer Gedanke, Open Source ist eher ein Randthema, da sich die meisten mit konkreten Produkten befassen. Aber: Es gibt viele gute Portierungen aus der Java-Welt, z.B. Spring.NET, NHibernate, log4net.

Java: Sensibler für Open-Source. Praktisch alles is Open Source, was auch für kommerzielle Projekte gerne benutzt wird obwohl die Firmen durchaus das Geld haben sich Software zu leisten. Dadurch meiner Meinung nach innovativer.

(2)
C#: Aufgeweichter Standard. Wenn MS was braucht, was C# nicht kann, dann kommt das in der nächsten Version, z.B. Linq for SQL. Nicht immer positiv, da zum Teil schwer verständlich.

Java: Strikt, meiner Meinung nach verständlicher dadurch.

Meine Empfehlung: Obwohl ich im Beruf .NET einsetze würde ich Java empfehlen. Man lernt sich ein bisschen in die Open-Source-Szene einzuarbeiten und wird nicht zum MS-Zombie. Man lernt vielmehr unterschiedliche Konzepte und herangehensweisen und Bibliotheken (die dann auch später für .NET interessant werden können). Es kommt nicht selten vor, dass man 10 - 20 externe jars im Projekt hat von unterschiedlichen Anbietern.

Im Produktiveinsatz würde ich aber trotzdem C# empfehlen. Die Tools sind einfach Klasse. In einem aktuellen Projekt kann ich die Formulare zu 90% zusammenklicken und das andere Zeug generiere ich mit Code Generatoren. So macht Programmieren Spaß.

Anonymous

unregistriert

12

08.07.2008, 10:05

malignate88
1/ Also das dotGNU und gerade auch das Mono-Project als Randthema zu bezeichnen halte ich für absoluten Nonsens, ebenso das du einen kommerziellen Hintergrund unterstellst, halte ich ebenfalls für Unsinn.

C# und .NET sind von ISO Standardisiert, Java nicht. Daher ist die Aussage, dass Java "sensibler" für OpenSource ist als eine... hmn nennen wir es mal "Farce", das trifft es eigentlich sehr gut.

2/ Wie oben schon gesagt: KEIN aufgeweichter Standard, da es standardisiert ist, während Java nicht mal beim ISO vorgelegt wurde. Auch ist es nicht Strikt. Die Aussage "... MS stopft was neues rein... usw..." trifft ebenso auf Sun zu: Ich sage hier nur mal das Stichwort "Generics", welche erst mit 1.5 reingeklopft wurden und das auch noch nicht mal sehr schön. Bei C# wurden sie in .NET 2.0 reingehauen. Also ich sehe hier keinen Unterschied.

Ebenso muss ich die Aussage, extrem kritisieren, dass C# nur Microsoft ist. Das ist absoluter Bullshit um es mal deutlich zu sagen. Gerade in der Linux-Szene haben C# und .NET Projekte die Java-Projekte überholt: Gerade weil es das Mono-Project/dotGNU gibt, die Sprache standardisiert ist (sich also an kein Unternehmen bindet) und sie auch von den Features her Java weit überlegen ist.

unsigned long - der C#.NET unter Linux benutzt dank Mono und beruflich (leider) Java.

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

13

08.07.2008, 10:34

Naja aber in mancher Hinsicht muss ich malignate88 zustimmen.

Was die Opensource Community angeht ist Java wirklicht ganz, ganz weit vorne. Also ich kenne wenig was C# opensource Kram angeht, aber in Java lernt man wirklich sehr schnell, dass es für fast jedes Problem, jede Aufgabe bereits eine Opensource Bibliothek gibt die man dafür verwenden kann. Man macht praktisch nur noch die Rahmenarbeit um vorhandene Bibliotheken zu einem funktionierenden Programm zusammenzufügen.

Wegen der Strikt gehaltenen Sprache ist es meist sogar verdammt einfach diese Bibliotheken zu lernen. Ich habe einige Bibliotheken benutzt ohne jemals in die Dokumentation zu schauen, Syntaxvervollständigung und ziemlich eingängige Strukturen, Klassen/Methodennamen reichen da oft schon aus. Viele der Bibliotheken könnten glatt einem Lehrbuch für Objektorientierte Strukturen entsprungen sein.

Doch da wir hier von Informatikunterricht reden ist es vermutlich einfacher mit einem "Komplettpaket" zu arbeiten. Wo man sich Formulare zusammenklickt und ein paar Zeilen code dazu schreibt. Das ist denke ich anschaulicher. Daher würde ich da zu C# tendieren.

Da sich die Sprachen im Endeffekt kaum was tun kann man später immer noch umsteigen. Das sollte man sowieso sehr schnell lernen.. Für jedes Problem das richtige Werkzeug.

Man kann eine dynamische Webseite in Assembler schreiben, klar.. aber in Python mit Django geht es einfach wesentlich schneller ;).
Es gibt viele Sprachen, jede hat so ihre Vorteile und man sollte genug Sprachen beherrschen um für das Problem die richtige auswählen zu können.

14

08.07.2008, 19:19

ich persönlich würde c# java vorziehen und vb.net ganz vergessen^^. java hat den vorteil das es plattform unabhängig ist aber ich persönlich kam mit java in der bbs nicht wirklich klar. über c# gibt es sehr viele tuts, open books (galileo computing ;)) und webcasts also videos von ms. somit findet man meiner meinung nach einen leichteren einstieg in c# als in java.

hier mal ein paar links zu c#:
http://www.microsoft.com/germany/msdn/we…nology=C/C++&q=

http://www.galileocomputing.de/openbook/visual_csharp/

15

08.07.2008, 19:25

Also Sprachfeatures einbauen um Bibliotheken erst Programmieren zu können halte ich schon für einen aufgeweichten Standard und dann so Zeug wie vars einzuführen. Ein Glück wird das nicht benutz, aber man wäre bestimmt in der Lage PHP ähnlichen Code zu erzeugen.

Das ist einfach Zweckentfremdung finde ich, aber das ist eine Grundsatzdiskussion, ich setze eigentlich Java und C# beides gerne ein und habe keine Vorlieben.

Anonymous

unregistriert

16

08.07.2008, 19:27

Zitat von »"Bolle"«

java hat den vorteil das es plattform unabhängig ist
Ist C# auch.

17

08.07.2008, 19:41

Zitat von »"unsigned long"«

st C# auch.


wäre mir neu das man c# programme auch auf linux nutzen kann. was ich weis ist das man jedes in .net geschriebenes programm auf jeden rechner starten kann, auf dem die benötigte .net version enthalten ist. aber klärt mich bitte auf.

Anonymous

unregistriert

18

08.07.2008, 19:46

Bolle
Hättest du aufmerksam den Topic gelesen, wäre dir aufgefallen das ich viel über Mono-Project und dotGNU gesagt habe.

Dieses ewige leidige Gerücht: "Ja, C# ist only Micro$oft, blablabla, nicht Plattformunabhägngig, blub blub blub" suckt langsam derbe! Ist schon schlimm genug, wenn sowas ehemalige Vorgesetzte sagen und noch denken, sie hätten Ahnung davon - obwohl sie C# noch nie gesehen haben.

Kommt ja von Micro$oft, sagt ja schon alles.

Aber bitte, zum 100000e-5ten male:
http://de.wikipedia.org/wiki/.NET#Plattformunabh.C3.A4ngigkeit

edit: Wobei man die Aussagen über Mono und das diese nicht alles können, eigentlich nicht mehr viel beachtung Schenken kann. Gut .NET3.5 ist noch nicht zu 100% implementiert, aber das meiste ist drin ;)

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

19

08.07.2008, 19:53

100000e-5 = 1 ;)

Anonymous

unregistriert

20

08.07.2008, 19:54

Touché

Werbeanzeige