Jackery IFA Fireplace
Mobile

Welche Programmiersprache? Netzwerk, Grafik, ...

te one

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.255
Hallo,

ich möchte mal wieder ein bisschen programmieren.
Bisher war ich eher auf der Ebene der Webentwicklung (PHP) sowie der Mikrocontrollerprogrammierung (C) tätig.

Nun möchte ich mal mit "richtigen" Programmen für Windows anfangen.
Was nutze ich denn da am besten?

Was mir jetzt so einfallen würde wäre C++, C# und Java.

Ganz einfaches Beispiel was zB grundlegend beschreibt was ich irgendwann mal machen möchte:
kleines Netzwerkspiel:
- Installer-Aufruf, der Dateien kopiert, Reg-Einträge vornimmt
- Netzwerkverbindung zu Server oder anderen Spielern aufnehmen
- in Echtzeit grafisch sehen wo zB der andere ist (in einer Mini-Spielwelt)

Was ist da zu empfehlen? Wo liegen die größten Unterschiede der Sprachen? Habe ich eine bekannte Sprache vergessen?


Vielen Dank schonmal.
 
.NET oder Java, C++ würde auch gehen
 
Ist irgendeine zu bevorzugen zB weil man sie eher mal später gebrauchen könnte.
Also Wissen über OOP usw. ist schon vorhanden.
Was lernt man denn sonst so während Studium etc? Das habe ich nämlich auch noch vor mir...

Bisher habe ich halt PHP, Phython, C und mal kurz ein bisschen Java (mit viel Internetsuche ein kleines Jump&Run) programmiert.
 
te one schrieb:
Bisher war ich eher auf der Ebene der Webentwicklung (PHP) sowie der Mikrocontrollerprogrammierung (C) tätig.

Hast du dich schon mit OOD/OOP auseinandergesetzt? Ich kenne mich jetzt in der Webentwicklung nicht so aus, aber Microcontroller werden ja i.d.R. imparativ programmiert. Für die objektorientierte Herangehensweise muss man seine Hirnwindungen etwas anders verknoten :freak:.

Der Profi wird die Programmiersprache sicherlich nach seinem Können und nach Anwendungszweck wählen. Als Nicht-Profi sollte man m.M.n. auch schauen, ob man zu Beginn überhaupt mit der Synthax klar kommt. Ich persönlich (Laie!) bin z.B. zu FH-Zeiten mit C++ nie richtig warm geworden, meine kleine "Liebe" war Delphi.

EDIT: Man, war ich langsam, vorhin war noch keine Antwort da. ^^
 
Mit C# kannst du alles machen. Dazu gibts noch kostenlos Visual C# 2010 Express von Microsoft, womit man gut entwickeln kann.
 
Mit Hilfe des XNA Frameworks für C# bekommst du unter Windows eine recht einfache Möglichkeit dich kostenlos dem Thema Spieleentwicklung zu nähern.

Du sparst dir hier die Basics und kannst dich mehr auf dein Spieldesign kümmern und musst nicht erst lernen, wie man Auflösungen und der gleichen einstellt.

Ebenfalls gibt es hierfür einige gute Libs für die Netzwerkanbindung und recht viele Beispiele.
 
@Rippchen: Ich muss ganz ehrlich sagen, dass ich die OOP nicht so gerne mag. Aber hab damit absolut keine Probleme und kann auch ganz gut in PHP und Java OOP programmieren. Und manchmal ist OOP einfach eine wesentlich bessere Lösung.
Bei Mikrocontroller ist alles etwas anders, das stimmt ;)

Syntaxmäßig komme ich bestimmt mit allem klar.
Bin ja ziemlich alles gewohnt:
- Pyhton: Schreiben "auf gut Glück". Kaum Klammern -> Einrückung
- PHP: Noja schon weng umfrangreicher. Init von Variablen wird zB nicht gebraucht
- C/Java: Ich glaub mehr Syntax als bei denen gibt es eh nirgendwo^^

Was mir wirklich wichtig ist, ist die Netzwerkprogrammierung und, dass ich eben auch etwas Grafik relativ einfach reinbringen kann.
Kann mich an Java von damals noch etwas erinnern. Da hat man irgendwelche komischen BufferedStreams oder so gemacht. Das lief eigentlich recht gut :)

Wo sind die Unterschied bei C#, C++ und Java?

edit: Danke für die Antworten.
Wie sieht es mit Programmierung auf mobilen Endgeräten bei C# aus?
Android-Apps und so?
 
Primärer Vorteil von Java: Die Programme sind hochgradig portabel. Du kompilierst gegen die Java VM, nicht gegen einen Prozessor oder ein Betriebssystem. Unter Linux geschrieben, in Windows getestet und auf nem Fernseher zur Anwendung gebracht...
 
Im Info Studium fängst du mit Java an, also würde ich damit anfangen. Auch wenn du dich dann die ersten zwei Semester langweilst ;)
 
Einer der größten Nachteile von Java ist die im Vergleich zu nativen Hochsprachen schlechte Performance. Ein C Programm oder besser noch ein C++ Programm ist meisten schneller als eine Java Applikation. Das gleiche gilt aber auch für .NET, wobei auch .NET in meinen Augen mehr Sinn macht als Java und mehr Vorteile bietet.
 
Mit C# bleibst du bei Microsoft :)

Du kannst damit zwar für XBOX 360, Wndows Phone 7 und Windows programmieren, aber "natürlich" nicht für Android oder Apple
 
Sev7eNup schrieb:
Einer der größten Nachteile von Java ist die im Vergleich zu nativen Hochsprachen schlechte Performance.
Was heisst schon "schlechte Performance", Java liegt so im Mittel 10% hinter C/C++ bei einem guten Compiler, mal schneller als C, mal um einiges langsamer.
C wird auch erst so richtig schnell wenn der richtige Entwickler die richtigen Tricks verwendet, gleiches gilt auch für Java.
Aber in der Realität wird das niemanden stören, sofern man nicht Hard-Realtime-Anwendungen, Number-Crunching oder sonstwas macht, wird man nicht an die Leistungsgrenzen von Java stoßen, dieses Java ist langsam und C schnell getue ist ein unsinniges Argument, die meisten Entwickler werden nie in den Bereich kommen, wo dies relevant wird. Und selbst da zeigt Java durchaus, dass es immer mehr Verbreitung findet, wie z.B. im Finanzsektor mit dem dafür erschaffenen Disruptor Framework für wirklich low-level Thread-Messaging.

Und zum Schluss: Es zählt nicht nur Performance sondern auch Einfachheit der Entwicklung und wenn man sich da durch Java viel Arbeit sparen (weniger Fehlermöglichkeiten) macht das einen Geschwindigkeitsvorteil auch wieder wett.
 
Sev7eNup schrieb:
Einer der größten Nachteile von Java ist die im Vergleich zu nativen Hochsprachen schlechte Performance. Ein C Programm oder besser noch ein C++ Programm ist meisten schneller als eine Java Applikation. Das gleiche gilt aber auch für .NET, wobei auch .NET in meinen Augen mehr Sinn macht als Java und mehr Vorteile bietet.

Die ach so schlechte Performance von Java... Erklärst du mir jetzt auch, in welchen Anwendungssituationen selbige auffallen sollte?
Hast du schon einmal derbe Lade-Lags und Ruckler bei OpenOffice/LibreOffice erlebt, die du bei MS Office nicht hattest? Musstest du schon mal deine CPU aufrüsten, nur um in Eclipse programmieren zu können?

Wir reden hier doch nicht von High Performance - Programmierung, wie sie bei Computerspielen oder auch bestimmten Berechnungsprogrammen nötig ist. In 99% der Fälle wartet das Programm auf den Benutzer, nicht umgekehrt. Das ist wie mit den JS-Engines von Browsern. Ja, Chrome hat aktuell die schnellste, aber trotzdem kann der IE problemlos eine JS-basierte Navigation darstellen, er braucht dafür dann halt nur 1-2ms länger.


Und wenn man sich .NET antut sollte man sich immer im Klaren darüber sein, dass man sich auf ein einzelnes Betriebssystem festschießt. Meiner Meinung nach ein absolutes K.O. - Kriterium.
 
Für größere Spielprojekte ist immernoch C++ am wichtigsten, Sosnt würde ich aber zu C# mit XNA raten.
Java geht auch, ist eher persönliche Meinung dass ich es nicht mag.

Du kannst dein Vorhaben prinzipiell in jeder Sprache umsetzen, von reinem C bis Python. Such dir eine Sprache aus und fang einfach an, du wirst auf jeden Fall was dabei lernen.
 
Ich würd auch C# nehmen. Netzwerkprogrammierung ist sowieso überall kein Problem und bei .Net kannste auch dank WPF grafisch gut was machen. Ansonste wie gesagt kannste für WP7 und XBox entwickeln. Mit Mono kann man auch mit .net für ios und android entwicklen, kostet aber einiges =) Visual Studio gefällt mir auch wesentlich besser als Eclipse o.ä. Wenn du n Studium vor dir hast bekommste dann auch die Visual Studio Ultimate und Expression (richtig gute Designtools). In der Uni wird zwar Java gemacht aber eigentlich (natürlich je nach Uni unterschiedlich) nichts über die Grundlagen hinaus, und da sind Java und C# zu 95% gleich.
 
Daaron schrieb:
Musstest du schon mal deine CPU aufrüsten, nur um in Eclipse programmieren zu können?
denkbar schlechtes Beispiel ;)
Denn in Eclipse hat man im Gegensatz zu vielen anderen Programmen öfter mal hänger, das liegt da aber nicht an Java sondern dem Plugin-Modell von Eclipse und dass nur ein Plugin nicht sauber geschrieben sein muss um die ganze IDE für wenige Sekunde einfrieren zu können. Das Problem hätte man in C++ aber auch.

An schlechter Performance ist so gut wie immer der Entwickler schuld, nicht die Sprache.
 
Ja, Eclipse ist n Fall für sich... wobei ich da noch nie CPU-seitig Probleme hatte. Es ist nur ein monströses Speicherloch *g*
Aber das ist halt kein Java-Problem, sondern weil Eclipse selbst eben etwas hungrig ist.
 

Ähnliche Themen

D
Antworten
57
Aufrufe
4.408
Antworten
24
Aufrufe
2.670
Antworten
21
Aufrufe
3.442
M
  • Gesperrt
  • Umfrage Umfrage
Antworten
7
Aufrufe
1.871
Zurück
Oben