Java oder C# ? [erledigt]

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Gackt, 30. Juli 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 30. Juli 2006
    Hi,
    Ich möchte gerne von euch wissen, ob Java oder C# besser für Anwendungsentwicklung ist.
    Ab und zu möchte ich auch kleine Spiele entwickeln, aber da scheint mir C# sehr schwierig zu sein..


    Über einen guten Tip, würde ich mich sehr freuen (10er gibt's natürlich für jeden, der mir weiterhilft).


    MfG
    Gackt
     
  2. 31. Juli 2006
    Also, ich werd dir mal paar Sachen zu C# erläutern. (Von Java hab ich keine Ahnung)

    • Die Syntax ist leichter als die von C++
    • Die Syntax ist an Java, C++ und VisualBasic angelehnt
    • In C# fallen viele Dinge weg, die man in C++ hat, z.B. Zeiger, Templates
    • C# braucht das .NET Framework zum Ausführen (Java die Java Runtimes)
    • C# ist rein objektorientiert, d.h. alles ist ein Objekt, z.B. ein Integer-Wert ist ein Objekt, etc.

    Für Anwendungsentwicklung sind sicherlich beide gut geeignet, jedes hat woanders Vorteile.
    Mit Java kannst du z.B. plattformunabhängig programmieren (Also sowohl auf Linux und Windows lauffähig), das geht mit C# teilweise, die .NET-Adaption für Linux ist Mono.

    Ich weiß nicht wie es bei Java mit GUI-Entwicklung ausschaut, aber bei C# klickst du dir einfach deine Oberfläche zusammen und setzt den Code in die entsprechenden Funktionen.

    Zum Thema Spiele: Du mienst sicherlich so kleine Spiele wie Tetris etc. Falls du richtige Spiele wie UT oder AoE meinst, dann kann ich dir sagen, dass keine der Sprachen geeignet ist. Für sowas nimmt man C++. Für so kleine Spiele ist allerdings Java besser, man kann die Spiele auch als Webapplets verwenden, was bei C# nicht geht.
     
  3. 31. Juli 2006
    Für kleine Spielchen kannst du ja auch "Flash" von Makromedia (oder wie die heißen) benutzen. Aber wenn mal hin und wieder kleine Spieleprojekte realisieren willst, dann ist C# in meinen Augen eher nicht so nützlich, da man es eher für Programme benutzt. Soweit ich weiß.
    Du könntest ja mal "Blitz Basic" näher in Augenschein nehmen bzw. "PureBasic". Oder mal "LPC" ausprobieren. Die ist zwar schon etwas älter, aber dennoch brauchbar.
     
  4. 31. Juli 2006
    Ich bin der absolute extreme Gates-"Hasser" schlechthin. Und doch arbeite ich mit Visual Studio.NET und C#. Jetzt könnt Ihr Euch denken, was DAS bedeutet !

    Mit C# kann man wirklich die schönsten Client-Applikationen machen! Aber ich denke das C# erst in den nächsten 1-2 Jahren an Marktanteilen gewinnt, aber nicht an Java herankommt. Dazu gibt es noch zuviel Nachteile und noch einige Bugs, die erst ausgemerzt werden müssten.

    Willst du aber schnelle Apps, dann empfehle ich dir eher C# als JAVA. Willst du in der Hardware eingreifen, empfehle ich dir C++.

    Für 2D/3D Games mit mittel aufwendigem Charakter, empfehle ich dir dringends C++, da du an der DirectX programmierung kaum vorbeigehen kannst!

    Wenn du noch keine einzige Proggi Sprache beherschst, würde ich dir JAVA empfehlen, da es während der Entwicklungphase nicht so fehleranfällig ist, wie C# oder gar C++.

    Und auch mit JAVA kannst du auch GUIs proggen oder "designen"!

    Ich hoffe, das hat dir geholfen!
     
  5. 31. Juli 2006
    Vielen Dank für eure Antworten^^ Ihr habt alle eine 10er Bewertung von mir bekommen
    Also, so wie es aussieht, ist Java immer noch besser, auch wenn Micro$oft eine Java ähnliche
    Programmiersprache entwickelt hat. Das ist eigentlich sehr gut, weil "wer zuerst kommt, malt zuerst"
    und Java war zuerst auf der Welt, als C#^^

    [OffTopic]
    Bis jetzt hab ich viele Programmiersprachen benutzt, war aber damit
    irgendwie nicht zufrieden..

    Mit PureBasic hab ich mich auch sehr lange beschäftigt und am Ende hab ich's gelassen, weil es nicht richtig
    unter Linux lief. Sonst wär das meine Lieblingssprache..

    Mit Blitz3D und BlitzMax, hab ich mich auch beschäftigt. Mir hat dort folgendes nicht gefallen:
    Entweder war es Plattformabhängig (-> Blitz3D) oder man musste die Module einzeln kaufen, um z.B. eine
    GUI-Anwendung programmieren zu können (-> BlitzMax).

    Was mich aber an solchen Programmiersprachen wie z.B. Blitz und PureBasic stört, ist folgendes:
    Es steckt immer eine Firma dahinter, die eines tages pleite gehen könnte. Deswegen würd ich am besten,
    eine Programmiersprache nehmen, die Zukunftssicher ist (-> Hochsprachen).


    Und mit C++ will ich eigentlich nichts mehr zu tun haben, weil ich mich damit schon sehr viel beschäftigt habe, konnte aber noch nie ein richtiges GUI oder ein kleines Spiel damit programmieren, weil
    mich die ganzen unnötige Codestücke sehr genervt hat
    Man kann sagen, dass C++ unnötig schwer gemacht wurde...
    [/OffTopic]


    Seit ca. eine Woche, hab ich angefangen, ein Java Buch zu lesen, damit ich schauen kann, was für
    Vorteile Java zu bieten hat und bis jetzt hab ich eigentlich alles verstanden. Vielleicht liegt's daran,
    dass ich mich früher mit C++ beschäftigt habe und dass Java eine C++ ähnliche Syntax hat, aber leichter ist.
    Ich hoffe, dass ich meine Sprache endlich gefunden habe, mitdem ich endlich loslegen kann *freu* :]




    Wer noch weitere Tips hat, soll sie bitte posten Sie werden dann auch mit 10er Bewertungen belohnt^^


    Edit Ahja, noch etwas: Mit "kleine Spiele", meinte ich Kartenspiele, kleine Jump & Run Spiele,... und nicht Half Life 2 oder UT xD dafür braucht man sowieso ein starkes Team^^"





    MfG
    Gackt
     
  6. 31. Juli 2006
    wie immer, bei solchen fragen: es gibt keine bessere sprache, es kommt immer auf die anwendungsgebiete an.

    c# ist eine sehr junge sprache und wurde mehr oder wurde als die bevorzugte sprache für .net programmiert.

    mit java lässt sich auch viel machen. java wird vor allem bei netzwerk-applikationen genommen, z. b. für umfangreichere intranetze bei fimen.

    wenn du spiele programmieren möchtest, empfehle ich dir c#. mit c# kannst du natürlich viele andere sachen machen, aber gerade spiele lassen sich sehr schön mit c# machen. mit c# kannst du auch directx benutzen. eines der ersten kommerziellen spiele, die mit c# gemacht wurden ist Arena Wars (ist allerdings auch ein ziemlich aufwendiges 3d-spiel). und obwohl m$ hier einen ziemlich schlechten ruf hat, ist gerade das ein vorteil von c#. du kannst denk ich davon ausgehen, dass microsoft nicht so schnell pleite geht. gerade wegen der konkurrenz mit linux usw. gibt sich m$ sehr viel mühe, dass die entwickler bei m$ bleiben.

    Coding4Fun z. b. ist ein projekt, das microsoft mit den entwicklern von arena wars zusammen gemacht hat. es ist so eine art community, wo man (wie der name sagt) mit (verhältnismäßig) wenig aufwand ziemlich nette programme basteln kann. da gibt es eben auch ein bereich, wo man sich video-tutorials usw. über spiele-programmierung runterladen kann (natürlich alles kostenlos).

    wenn du mit c# anfängst empfehle ich dir außerdem eine ziemlich nette communtiy: MyCSharp.de.
     
  7. 31. Juli 2006
    Vielen Dank^^ hast von mir auch eine 10 bekommen
    Naja, ich hab mir jetzt das Coding4Fun Tutorial mal angeschaut und finde es ehrlich gesagt
    nicht so toll...weil der Typ ca. 45 Minuten (oder war's länger?..) gebraucht hat, um mit C#, ein leeres
    Game-Fenster zu erstellen...
    Die ganzen rüberkopiererei gehen mir sowieso auf die nerven.. und das alles war ohne irgendwelche Animierte Grafiken..

    Und wenn man bedenkt, dass man diesen Aufwand nur für Windows macht, dann kann man doch sofort
    auf Java wechseln und Plattformunabhängig programmieren

    Naja, ich bleibe jetzt bei Java :] Mal schauen, wie kompliziert es in Java ist, so ein Game-Fenster zu erstellen..
    Wer schon Erfahrungen mit Java hat, sollte es mir sagen, ob's schwerer oder gleich schwer ist wie C#
    (wenn man z.B. ein Game-Fenster programmieren möchte).




    MfG
    Gackt
     
  8. 6. August 2006
    Also ich habe erst mit Java angefangen, bin aber jetzt auf C++ gewechselt (allerdings zum Teim mit Borland, was die Sache erleichtert).

    Hab nachher zu Borland gewechselt, weils die Sache sehr erleichtert vor allem was zum Beispiel die Grafische Oberfläche angeht.

    Um in Java ein Fenster zu erzeugen (das man sogar wieder schließen kann!!) reicht schon das bisschen Text:

    Code:
    public class Fenster extends java.awt.Frame {
     public Fenster() {
     initComponents ();
     }
     private void initComponents() {
     addWindowListener(new java.awt.event.WindowAdapter() {
     public void windowClosing(java.awt.event.WindowEvent evt) {
     System.exit (0);
     }
     }
     );
     }
     public static void main (String args[]) {
     Fenster u =
     new Fenster();
     u.setSize(300,200);
     u.show(); 
     }
    }
    
    ein ganz normales Fenster geht sogar schon damit:

    Code:
    public class A extends java.awt.Frame {
     public static void main (String args[]) {
     (new A()).show(); 
     }
    }
    
    Also wenn Du schnell loslegen willst empfehle ich dir C++. Java ist aber auch interessant, da es sehr streng objektorientiert ist. Und Du brauchst viel Geduld bei Java..

    Hoffe ich konnte Dir etwas helfen bei deiner Entscheidung!

    MFG
    Pacman
     
  9. 10. August 2006
    Du hast jetzt ihr AWT benutzt. AWT ist aber das Windowmanaging von Windows und somit nicht plattformunabhänig.

    In Java gibt es 3 sehr bekannte möglichkeiten GUI's zu machen:
    1) AWT - Das sieht aus wie Windows, weil es die Windows API dazu nutzt.
    2) Swing - ist plattformunabhänig, man kann das aber auch so stylen das es aussieht wie Mac OS X etc.
    3) SWT - wurde von Eclipse entwickelt und läuft, mit ein bisschen aufwand, auf allen Platformen auf denen auch Eclipse läuft.


    Ich hoffe ich konnte dir ein wenig helfen
     
  10. 10. August 2006
    Kann sein Hab on Java nicht so die Ahnung. Würde ihm auch zu C++ raten, wenn er nicht vor hat z.B. Bauteile zu programmieren, die ohne PC rechnen sollen.

    MFG
    Pacman
     
  11. 10. August 2006
    Ich würde def. zu Java raten, da es einen guten Einstieg in die OO-Welt bietet!
     
  12. 10. August 2006
    aber man braucht wirklich viel geduld dafür... aber ich glaube auch das man mit java zukünftig mehr machen an. kommt drauf an was man vorhat...
     
  13. 11. August 2006
    Ich denke wenn man sich wirklich reinhängt, dann kann man in den eins, zwei Monaten schon recht viel erreichen. natürlich kannst du dann noch nicht RMI oder andere Netzwerktechniken, aber bis dahin wirst du wahrscheindlich das Konzept von OO verstanden haben, was natürlich das wichtigste ist, und du wirst auch schon erste Pattern's kennen gelernt haben wir MVC oder Singleton...
     
  14. 13. August 2006
    hm....
     
  15. 20. August 2006
    Wofür war das denn jetzt ?


    Back to topic:

    Ich hab jetzt zwar schon mit Java angefangen, aber schnell die Lust verloren, nachdem ich folgendes
    entdeckt habe: Unbenanntes Dokument

    Jetzt hab ich auf Ruby geswitcht und bin damit zufrieden. Gestern hab ich ein FTP progi damit geschrieben,
    um mich per Comman-line (oder Shell genannt (unter Linux) oder?), mit dem Server zu verbinden und
    alle Dateien die da drauf sind, auflisten und downloaden zu lassen.


    Mich würde jetzt interessieren, wielange das mit C++ dauern würde. Wir weichen somit zwar vom Thema ab,
    aber ein neues Thread würde dafür ehrlich nichts bringen...

    Wenn hier ein C++ programmierer ein stück Code posten würde, wo ich sehen kann, wie lang und
    schwierig der Code ist, würd ich mich sehr freuen. Es soll nur das Codestück sein, die die ftp Befehle hat
    (wo es sich mit dem FTP-Server verbindet), sonst nichts. Alles andere ist egal (z.B. int main(void) {}...( <- braucht ihr nicht zu schreiben)).


    Weil ich mich momentan frage, ob ich das gleiche auch in C++ machen könnte, was ich mit Ruby so leicht verwirklicht habe... Aber wenn man sich die liste so anschaut, kann man sehen, dass man es mit
    C++ nicht so leicht haben wird, vorallem wegen Garbage Collection..


    Edit: Schon erledigt, ihr braucht es nicht mehr zu schreiben^^" Ich hab mich entschlossen, bei
    Ruby zu bleiben und nebenbei noch mit Java zu arbeiten Ich gehe lieber Zweigleisig^^

    Das Thema hat sich damit beendet^^ vielen Dank an euch, 10er habt ihr.


    MfG
    Gackt
     
  16. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.