C Bin mir nicht sicher- C, C++ oder C#

Was ist besser C# oder Java?

  • Java

    Stimmen: 16 43,2%
  • C#

    Stimmen: 21 56,8%

  • Umfrageteilnehmer
    37
  • Umfrage geschlossen .

Noeli99

Cadet 3rd Year
Registriert
Aug. 2012
Beiträge
52
Hallo,
ich bin mir sicher das diese Frage schon oft gefragt wurde und es tut mir auch leid aber ich möchte trotzdem klarheit für mich selber schaffen.

Erstmal mein system:
Intel core i5 3570k
Asus geforce gtx 670
8gb RAM
Gigabyte Z77X-D3H

Ich kenne mich relativ gut mit hardware aus, aber nun möchte ich anfangen zu programmieren. Ich habe in diesem Gebiet überhaupt keine erfahrung, deswegen bin ich komplett auf Hilfe angewiesen.

Meine einzigste Frage: Was wäre für einen Neuling den am besten: C, C++ , C# oder vielleicht Java. Bitte erklärt mir auch warum ihr was empfehlen würdet.

Ich möchte gerne simple programme machen und dann auch vielleicht anfangen spiele zu programmieren.

Bitte sagt mir nicht das ich HTML machen soll!


Vielen Dank!
Noeli99
 
C oder Java

C ist halt der Urvater, wenn du C kannst kannst du recht leicht auf C++, C# oder Java Umsteigen. Auf der anderene seite merkt man C sein alter schon an. (Es immer leichter zu lenen, was C++ zusätzlich kann, als zu lernen was C nicht kann)
Dafür ist Java recht modern und kann alles was eine moderne Sprache braucht
 
Zuletzt bearbeitet:
C hat aber eine sehr krasse Lernkurve im Vergleich zu Java, da du bei C auch noch mit denen Ressourcen lernen musst umzugehen, was dir Java schon abnimmt. Ich würde mit Java anfangen, dann fällt dir sowas wie C# sehr einfach weil es von der Syntax recht ähnlich ist. Danach kannst du ja mit C/C++ probieren. Für Java gibt es auch ein gutes Open Book von Galileo ("Java ist auch eine Insel").
Dein System hat nichts damit zu tun, mit welcher Sprache du programmieren willst.
 
Wenn man Java begreift, dann wird man auch C oder C++ schnell begreifen ;-)
 
Zuletzt bearbeitet:
Da er aber auch gerne in die Spieleentwicklung möchte ist Java wohl nicht die richtige Wahl.

Und schnell ist wohl auch das falsche Wort denn paar Jahre wirds wohl auch dauern.
 
Nilson schrieb:
wenn du C kannst kannst du recht leicht auf C++, C# oder Java Umsteigen.

Das halte ich jetzt für ein Gerücht, da bei reinem C einfach einige Programmierparadigmen fehlen, die C++, C# und Java prägen. Das reicht dann höchstens für strukturierte Programmierung in C#und Java, aber nicht für effiziente OOP.

Ich würde an deiner Stelle Visual C# Express herunterladen und mit C# anfangen. Warum C# und nicht Java? Bessere Entwicklungsumgebung, ganz einfach. Und wenn du wirklich irgendwann soweit bist, Spiele zu programmieren (ist ein langer Weg), kannst du auch da den Einstieg in C# wagen, bevor du dich mit C++ auseinandersetzt. In C# gibt es XNA und einige sehr gute DirectX Wrapper (oder auch OpenGL Wrapper wenn dir das lieber ist) die den Einstieg sehr angenehm machen.
 
Zuletzt bearbeitet:
So ein Unsinn.

Wer C kann, kann nicht automatisch leicht auf C++, C# und Konsorten umsteigen, da programmiert und strukturiert man schließlich gänzlich anders.

Einfach ist es mit Java oder C# anzufangen, da sie dir viel helfen und viel verzeihen.
Zudem kannst du in diesen alle modernen Programmierparadigmen anwenden.
In C++ geht das auch, allerdings ist es da schwieriger rein zu kommen, weil dir deine Programme anfangs dauernd um die Ohren fliegen und du in den meisten Fällen nicht weißt warum ;)

C ist für moderne (Desktop-)Anwendungen eher ungeeignet, dafür aber eben bei Hardwareprogrammierung oder Embedded Systems immer noch ganz vorne.

Edit: Meine Vorschreiber haben schon gesprochen. ;)
 
Nun wenn man gleich mit OOP Anfängt, dann klar Java. Ist halt dann schwerer mal was ohne OOP zu machen (aber andererseits, wo braucht man noch reines C, außer wenns um Microkontroller geht?)

Sind wohl doch nicht alles E-Techniker da draußen :P
 
Zuletzt bearbeitet:
Spiele programmieren ist nicht so einfach wie es klingt. Bevor man so etwas probiert, sollte man viel Erfahrung sammeln mit Grundlagen und verschiedene Techniken und Besonderheiten der Sprache kennnen.
@GrinderFX naja gut dann kann er immernoch C# nehmen mit DirectX :)
 
Die Antwort ist: Es kommt darauf an, was du programmieren möchtest.

Ich würde auch Java oder C# empfehlen (was im Prinzip das gleiche ist).
 
Also Java und C# sind für den Einstieg wohl am besten geeignet. Einfach zu lernen, dennoch mächtig. Was einen bei C oder C++ abschrecken könnte: Man muss mMn erst "viel" programmieren, damit man "was sieht", geschweige denn produktiv Programmieren kann. Das geht finde ich bei Java/C# um einiges schneller.
Mit welcher Sprache du anfängst, ist erst einmal egal. Wer Java kann, der wird auch in kürzester Zeit C# lernen können.

Trotzdem würde ich dir eher zu C# raten, da es mMn eine modernere Sprache ist als Java. Zum anderen meintest du, dass du evtl. später mal Spiele programmieren willst. Ich gehe mal davon aus, dass du damit 3D-Spiele meinst. Das kannst du mit Java knicken. Bei C# hast du hier bessere Möglichkeiten: Hier gibt es Managed DirectX bzw. XNA. Das sind "Aufsätze" auf der DirectX-Schnittstelle, mit denen es sehr einfach wird, in die 3D-Programmierung einzusteigen.

Wenn du "richtig" in die Spiele-Entwicklung einsteigen willst, wirst du aber nicht an C++ und "reinem" DirectX herumkommen...
 
@SymA:

Sei dir da mal nicht so sicher ;)
Ich habe mit einem proprieträren Basic Dialekt angefangen, der simple Klassen unterstützt und alles mitliefert um 2D Spiele zu schreiben.
Damit habe ich das Programmieren meiner Meinung nach viel einfacher gelernt, weil man sieht was passiert und das viel motivierender ist als eine schnöde Konsolenausgabe.

Ich habe bisher nie Zustimmung erhalten, aber das mag wahrscheinlich daran liegen, dass es keiner hier so gemacht hat.

Wenn da ein Bild über den Bildschirm wandert durch eine For-Schleife, dann ist das einfach schöner als Zahlen von 0 bis 100 auszugeben ;)

Ich studiere mittlerweile Informatik und habe keine Probleme gehabt auf Java, C# und C++ umzusteigen bzw. die zu Nutzen wenn ich es muss, was ich auch schon erfolgreich getan habe.
 
Ich studiere ebenfalls Informatik und habe als Schwerpunkt Medieninformatik und dort auch unter Anderem eben Computergrafiken. Klar wenn man jetzt von Spielen wie Pong und anderen 2D Sachen ausgeht langt Java und simple Sachen. Komplexe Spiele wie Crysis, Battlefield und Co. werden aber nunmal zu 90% in C++ mit Frameworks und Co. geschrieben.
 
Für den Einstieg und die ersten simplen Programme: Java oder C#. Oder zur Übung gleich beides ausprobieren. Als Entwicklungsumgebung für Java Eclipse oder NetBeans (was halt besser gefällt), für C# Visual Studio Express.

Wenn's dann etwas performanter werden muss - was bei Spieleprogrammierung wohl nicht zu vermeiden sein wird - auf C/C++ umsteigen. Wohlgemerkt C/C++, nicht reines C. Das ist heute nur noch was für Mikrocontroller.
 
@SymA

Niemand schreibt alleine an etwas wie Crysis, Battlefield und Co.
Pong, Tetris, Pacman usw. usf. oder andere 2D Spiele sind aber schon möglich.
Indie Spiele werden meist nur von wenigen Leuten geschrieben.
 
SymA schrieb:
Spielen wie Pong und anderen 2D Sachen ausgeht langt Java und simple Sachen. Komplexe Spiele wie Crysis, Battlefield und Co. werden aber nunmal zu 90% in C++ mit Frameworks und Co. geschrieben.

Da er wohl noch keine grosse Ahnung von Programmieren hat (er gibt sein System an ;.) )wird er wohl mit sobald kein richtiges "Spiel" programmieren.
 
Zuletzt bearbeitet:
Ich glaube da sind sich alle einig und bestreitet auch hoffentlich keiner, dass er um C/C++ nicht herumkäme, wenn er richtige Spielerprogrammierung machen wollte.

Allerdings will er erstmal Programmieren lernen und dann zur Spieleentwicklung übergehen. Da ist meine Empfehlung einfach C# zu benutzen, weil er da verhältnismäßig schnell lernt zu programmieren, gute Entwicklertools zur Verfügung hat und außerdem die selben Werkzeuge und Sprache weiterverwenden kann, wenn er mithilfe von XNA, SlimDX oder SharpDX (oder etwas vergleichbares) das erste mal in die Grafikprogrammierung reinschaut.
Wenn er es danach immernoch will, kann er auch C++ lernen. Nachdem er schon Erfahrung gesammelt hat ist es zwar immernoch schwierig C++ zu lernen und die DirectX-API direkt anzusprechen, aber deutlich einfacher als direkt damit anzufangen oder von Java zu kommen.
 
Gut klar Spiele ist nun ein sehr weites Spektrum. Ich habe allerdings in erster Linie an wirkliche Spiele wie ich sie bereits genannt habe gedacht.
Ich wäre auch für Java oder C# - wohl sogar eher C# wegen Visual Studio <3
 
Also ich bin fast fertiger Diplom-Informatiker, und versuche mich jetzt im 5. Monat an C++ und muss sagen; es ist schon knackig!
Es geht ja nicht darum, irgendwas zum compilieren (und linken ;) ) und laufen zu kriegen, sondern die Sprache auch richtig einzusetzen. Und das heißt im Fall von C++ Bücher wälzen ohne Ende und auch theoretisches Hintergrundwissen zu Compilerbau und Rechnerarchitektur erwerben.

Sprich, C und C++ sollte man sich für später aufheben, wenn man sein Wissen wirklich vertiefen will.

Man kann heute aber zB OpenGL auch ziemich gut mit Java verwenden (Java3D, oder OpenTK), also man kann damit schon auch gut 3D Szenen bauen, wenn man das will.
 
Zuletzt bearbeitet:
Zurück
Oben