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

1

15.12.2013, 00:20

Die Qual der Wahl

Welche Sprache

Insgesamt 30 Stimmen

57%

C++ (17)

30%

C# (9)

13%

Java (4)

Hey Leute,

ich brauche dringend Eure Hilfe ich habe nun das erste Lehrjahr als Fachinformatiker Anwendungsentwicklung angefangen. Unsere Firma entwickelt und Supportet für andere Firmen Programme. Nun habe ich von meinen Chef die Frage gestellt bekommen welche Sprache ich nach der Ausbildung dann "Supporten" will. Zur Auswahl stehen C# C++ und Java. Da ich die Freie Wahl habe will ich eine wo ich auch im "Alltag" nutzen kann. Ich will keine 3d High End Games machen ich will lediglich vielleicht mal ein Android Spiel (Java) oder auch mal für Windows kleiner Anwendungen wie MP3 Player mit eigenem Design erstellen.
Ansich liegt mein Hauptinteresse an Android Apps, aber Java ist ja wiederum für den Computer nicht die Effizienteste Variante.
C++ würde mich auch reizen da man doch Spiele oder Anwendungen für Windows gut erstellen kann.
An C# gefällt mir der "Designer (WPF) (Windows 8 APPS)" usw.

Tendieren würde ich ja zu C++ da man laut Google ja mit einem "NDK" auch Android Apps erstellen kann aber anscheinend nur Eingeschränkt.
Java will ich aber nicht lernen wen es nur für Android ist und bei meinetwegen Aufwendigeren Anwendungen auf Windows dank der Performance versagt.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Compag2000« (15.12.2013, 01:30)


Renegade123

Alter Hase

Beiträge: 494

Wohnort: Berlin

Beruf: Certified Unity Developer

  • Private Nachricht senden

2

15.12.2013, 00:41

Was sagt denn dein Chef wo Not am Mann ist? Je nachdem was du selbst für eine Karriere in der Firma und in deinem weiteren Berufsleben anpeilst, könnte das wichtig sein.

Die Wahl der Tools und Sprachen solltest du nicht Vergleichen, sondern lieber eine wählen, die deine alltäglichen Aufgaben am besten unterstützt.
Warum nicht C verwenden, wenn man Treiber in der Firma baut und C#, wenn man Zuhause kleine Spiele erstellt?
Liebe Grüße,
René

3

15.12.2013, 00:53

Hm, mal ein Versuch, objektiv zu sein:


Java:
Läuft in einer Virtuellen Maschine auf quasi jeder Plattform. Viele sagen, es ist langsam, weil der Bytecode interpretiert werden muss, aber die VMs werden ständig optimiert und verbessert, in der Praxis wirst du also in den meisten Programmen keine Geschwindigkeitsprobleme haben. Mit Eclipse hast du eine sher angenehme Entwicklungsumgebung die auch auf sehr viele Plattformen läuft.

C#:
Habe ich nie wirklich benutzt, ist aber vom Prinzip her ähnlich wie Java. Die Syntax ist halt nur eine leicht andere. Soweit ich weiß, läuft es hauptsächlich unter Windows (und auf der XBox), es gibt VMs für Linux und so, aber wie toll die sind kann ich nicht beurteilen.

C++:
Läuft nativ auf eigentlich auch allen Plattformen und gibt dir maximale Kontrolle. Du kannst bis runter auf die Bit-Ebene optimieren, hast aber mit templates trotzdem high-level Möglichkeiten, die Java und C# nicht bieten (natürlich haben diese auch eine handvoll Features, die C++ nicht hat, aber nichts was ähnlich mächtig wäre, wie Templates). Aber man braucht Jahrzehnte, um C++ zu lernen und alle Facetten zu kennen. Und das Compilieren ansich ist viel komplizierter als bei den anderen Sprachen, insbesondere wenn du externe Bibliotheken einbinden muss (also quasi immer).

Tendenziell kommt man mit Java und C# zumindest bei einfachen Anwendungen schneller ans Ziel. Bei C++ geht doch oft viel Zeit fürs einrichten drauf. Mir persönlich ist Java "zu geschwätzig", man muss oft viel Code schreiben, der wenig macht (wobei Eclipse aber hilft). Im Gegensatz dazu ist die Syntax von C++ teilweise sehr kryptisch, da sie enorm kompakt ist. Es kann also leichter vorkommen, dass man schlicht nicht versteht, was ein Codeteil jetzt macht.

Für Anfänger sind wohl C# und Java besser, dort kann man schlicht weniger falsch machen. C++ ist extrem mächtig und es kann mächtig was daneben gehen, und man kann nicht erwarten, innerhalb einer Informatikausbildung ein guter C++ Programmierer zu werden. Und C++ Programme von unerfahrenen Programmierern sind etwas, das schlicht keinen Spaß macht (zu debuggen, weiter zu entwickeln, oder auch nur zu benutzen (weil sie abstürzen)).
Lieber dumm fragen, als dumm bleiben!

4

15.12.2013, 01:20

also meiner ansicht nach wäre C# die perfekte sprache

du kannst damit in kürzester zeit 2D und 3D spiele für android entwickeln (mit unity3D)
du kannst damit Windows Forms/Konsolenanwendungen programmieren (Visual Studio etc.)
du kannst damit (hab ich persönlich noch nie gemacht :D ) GTK anwendungen für linux programmieren (Mono)

5

15.12.2013, 11:03

Ich würde zu Java tendieren. Das passt gut zu deinen Vorstellungen (Android, keine High-End-Games). Zudem kannst du von Java relativ einfach zu C# wechseln. Java ist auch für anspruchsvollere Anwendungen im Desktopbereich geeignet und in den allermeisten Fällen auch performant genug. Das hängt eh viel mehr von verschiedenen Faktoren ab wie Nebenläufigkeit, Optimierung usw. . Kritische Komponenten kann man zur Not auch in eine andere Sprache auslagern. Aber soweit muss man erst einmal kommen.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

6

15.12.2013, 11:08

Habe ich nie wirklich benutzt, ist aber vom Prinzip her ähnlich wie Java. Die Syntax ist halt nur eine leicht andere.
C# ist von Java doch eher ziemlich weit weg, auch wenn es auf den ersten Blick nicht so aussieht. Es gibt aber wirklich diverse Sachen, die weit über Java hinaus gehen und die vorhandenen Frameworks sind wesentlich besser. Java mit C# zu vergleichen ist sehr sehr oberflächlich.

Die Frage dieses Topics ist eigentlich weniger "welche Sprache soll ich lernen", sondern eher "was will ich entwickeln". Wenn ihm Android wichtiger ist, eindeutig Java. Ist ihm Windows mit Anwendungen wichtig, dann eindeutig C#. Selbst bei Casual-Games würde ich noch C# wählen. Will er hochperformante Spiele entwickeln, dann eher C++. Es ist immer die Frage des richtigen Werkzeugs für die richtige Aufgabe. Am Ende sollte ein guter Entwickler ohnehin alle davon fließend beherrschen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

7

15.12.2013, 12:17

Hey Leute Danke für eure Antworten.
Ich habe diese Frage bereits auf anderen Coding Seiten gepostet und diese waren weitestgehend Identisch mit euren.

Nun bin ich soweit das C++ wegfällt, und meine Entscheidung zu Java oder C# fallen muss.

Jetzt habe ich noch ein paar kleine Fragen: durch diese Windows Forms usw. sind mit C# ja relativ geile Oberfläche möglich wie sieht das mit Java aus´? Oder muss man die normale Oberfläche nutzen Das ist für mich eine Ansprechende Oberfläche:( http://i.i.cbsi.com/cnwk.1d/i/tim2/2013/…eng_610x434.png ).

Und wen ihr das Bewerten müsstet was ist leichter zu lernen, also nicht von der Zeit sondern von dem Verständnis?
Welche Sprache ist langlebiger also Zukunft sicherer?
C# hat ja die .Net Bibliothek bringt diese irgendwelche Vorteile?
Kann man Java sofort in Verbindung mit Android lernen? Und daran dann Üben/Wachsen?
Wo gibt es bessere Literaturen dazu?

Das wars dann denke ich mal.
MFG, Marco

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

8

15.12.2013, 12:28

Windows Forms sind "von gestern". WPF ist "der neue heiße Scheiß" in Bezug auf C#. Deutlich flexibler, deutlich sauberer und überhaupt sehr viel mehr Möglichkeiten. Mit WPF kannst Du Deinen Oberflächen jeden beliebigen Look verleihen. Der Screenshot von Avast wäre da erst der Anfang.

Sowohl Java als auch C# haben ihre Vorteile. GUI-Entwicklung ist jedoch mit C# deutlich besser, deutlich schneller, deutlich performanter und überhaupt macht es sehr viel mehr Spaß als sich mit Java-GUIs rumzuärgern. Ich habe beides gemacht, glaub' mir.

Java kann man in Verbindung mit Android lernen, kein Problem.

Wie ich schon sagte, deine Entscheidung sollte viel mehr sein, für welches System oder was für Dinge du entwickeln willst.
Windows Anwendungen: Ganz klar C#.
Android: Java.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

9

15.12.2013, 13:18

Mich reizt an sich Android mehr weil ich denke mal das im Privaten bereich nicht viel mit Windows Anwendungen ist.
Wen man beides lernt wo mit am besten anfangen?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

10

15.12.2013, 13:33

Privater Bereich = ?
Wir entwickeln z.B. eine Anwendung für den kommerziellen Bereich und da ist ein 6-stelliger €-Betrag im Spiel für die erste Stufe der Anwendung. Ich weiß nicht, was jetzt mit "nicht viel" gemeint ist. Windows ist in der Industrie auch immer noch Betriebssystem #1.

Mit was Du anfängst ist eigentlich egal, solange Du es mit einem guten Buch in der Hand tust.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige