Programmieren lernen, welche Sprache?

b) Was macht C so schwierig, ist es sehr mathematisch, so daß man dort ein fundiertes Grundwissen braucht um in der Sprache was reißen zu können?
Falls ja, ist es in der Tat ein Problem für mich, denn ich war in Mathematik nicht so gut und mein Schulwissen liegt ja auch ewig zurück.
Kann man denn z.B. in C# oder Java auch performante 3D-Spiele programmieren oder eine gute KI?
Tim1974 schrieb:
Minecraft sieht grafisch nun nicht gerade so aus, als wollte ich sowas programmieren oder die Sprache lernen, in der das geschrieben wurde...

"Ich bin nicht gut in Mathe, aber welches Werkzeug brauche ich zum Bauen einer Rakete? Aber keine Ariane, schon eine wie von Space-X, die selber landen kann." :p

Wenn das alles im Rahmen eines "Hobbys für nebenher" bleiben soll, würde ich stark dazu raten eine fertige Engine, wie die erwähnte Unity-Engine, zu nehmen und entsprechend zu nutzen.

c) Welche Hilfestellungen kann ich bekommen?
Es wurden ja schon ein paar Links genannt, jedoch finde ich manchmal ein gedrucktes dickes Buch besser, als wenn man alles auf dem Bildschirm auf irgendwelchen Webseiten lesen muß.
Gut wären auch kleine Programme zum Veranschaulichen verschiedener Befehle und deren Möglichkeiten und genauen Erklärungen, wofür die einzelnen Zeilen notwendig sind und wie man sie variieren kann.

Die Unity + C# Kombination ist wohl sehr gut dokumentiert.
 
Zuletzt bearbeitet:
... wo ich als Umsteiger von Pascal...

Umsteiger? Vielleicht einfach mal ein wenig Eigeninitiative zeigen und mal erklären welches Projekt dir vorschwebt und welchen Nutzen es haben soll.

Für den schnellen Einstieg ohne Kenntnisse empfehle ich Visual Basic, erste kleine Anwendungen mit Windows Forms erstellen.
Ansonsten wenns um Spiele geht dann Unity.

Hört sich nicht so an als ob du damit überhaupt irgendeine Erfahrung gemacht hättest.
 
Umsteiger? Vielleicht einfach mal ein wenig Eigeninitiative zeigen und mal erklären welches Projekt dir vorschwebt und welchen Nutzen es haben soll.

Da ich keinen Bedarf an Anwendungen habe, würde es mich tatsächlich erstmal reizen mehr in Hinsicht Spiele zu machen, das waren so auch meine letzten Projekte damals bei Turbo-Pascal, allerdings ist das rund 25 Jahre her. :ugly:
Unity scheint ja echt interessant zu sein, das muß ich mir mal näher anschauen.
 
b) Was macht C so schwierig, ist es sehr mathematisch, so daß man dort ein fundiertes Grundwissen braucht um in der Sprache was reißen zu können?

Das hat mit Mathematik wenig zu tun. C nimmt einem nichts ab, gar nichts. Man muss sich um alles selber kümmern, wie Speicherverwaltung, allozieren und freigeben. Da muss man wissen, was man tut. Ein krasser Gegenteil dazu sind die Java-Jünglinge, die einfach nur irgendwelche Frameworks zusammen tackern und sich dann wundern, warum der Haufen keine Performance hat, Stichwort Hibernate...

Praktisch ist es heute so:
C wird für sehr hardwarenahe Anwendungen genutzt, z.B. Betriebssysteme und Embedded Software (Also Programme, die oft ohne Betriebssystem auf einem Prozessor laufen, Steuersysteme für Autos und Flugzeuge und dergleichen).

Auch auf einem Mikrocontroller läuft ein Betriebsystem, das ist die Firmware, die man dafür geschrieben hat... es gibt ein Startcode, den der Compiler reinpackt (also das, was nach dem Reset-Vector ausgeführt wird) und dann der Anwendercode... Auch Steuergeräte haben ein Betriebsystem, OSEK wäre eins davon.

Ansonsten:
C: rein prozedural, maschinennah und muss für die jeweilige Plattform (ARM, x64, Itanium, Sparc, ...) compiliert werden
C++: kann sowohl prozedural als auch objektorientiert verwendet werden, maschinennah und muss für die jeweilige Plattform (ARM, x64, Itanium, Sparc, ...) compiliert werden
C#: rein objektorientiert, ein Abklatsch von Java, braucht einen Interpreter (.net Laufzeitumgebung)
 
Zuletzt bearbeitet:
Ist also doch alles viel komplizierter als ich dachte.

Nochmal kurz wie ich es von Pascal kenne, ich Reihe die Befehle in der Entwicklungsebene aneinander und kompiliere das Programm am Schluss, bevor ich es starten kann, alles mit einer Software und dann läuft es oder eben nicht (so wie gedacht), oder bringt einen Error.
Was ich nicht möchte ist mehrere Programme nutzen müssen und mich um jeden Mist selbst kümmern, mein Ziel ist es, mit wenig Aufwand viel auf die Beine stellen zu können, also z.B. ein einfaches Spiel, oder eine KI, die aber trotzdem nicht mangels Leistungsfähigkeit der Programmiersprache gleich enge Grenzen gesetzt bekommt.
Vielleicht gibt es das was ich suche nicht, dann muß ich halt das wählen, was dem am nähesten kommt.
 
Was ich nicht möchte ist mehrere Programme nutzen müssen und mich um jeden Mist selbst kümmern, mein Ziel ist es, mit wenig Aufwand viel auf die Beine stellen zu können, also z.B. ein einfaches Spiel, oder eine KI, die aber trotzdem nicht mangels Leistungsfähigkeit der Programmiersprache gleich enge Grenzen gesetzt bekommt.
Vielleicht gibt es das was ich suche nicht, dann muß ich halt das wählen, was dem am nähesten kommt.

Für mich klingt es immer noch so, dass Du eigentlich im Detail nichts selber schreiben möchtest / solltest sondern, dass Du Frameworks/Bibliotheken brauchst, die deine Ansprüche erfüllen. Gerade im Bereich Spiele zeigt weiterhin jeder Finger auf Unity. Da hast Du einen guten Editor, gute Visual Studio Integration, kannst in C# programmieren und musst Dich aber nicht um die wirklich komplizierten Dinge kümmern.
 
Zwei Wochen später und noch nicht weiter? Schockierend!
Durch dieses ewige hätte, könnte, würde oder "was ist, wenn in fernster Zukunft..." wird es offenbar nicht besser.

Bei den hohen und wechselnden Zielen hätte ich ja auf C++ getippt. Wenn dich das einschränkt, hast du es wohl geschafft.
Erst gab es keine Ziele, dann KI, dann ging es plötzlich um performance und jetzt um alles mit möglichst wenig Aufwand.

es ist einfach das Interesse daran, zu versuchen was schwieriges neues zu lernen und sinnvoll Zeit am PC zu verbringen.
Also doch C++?


Nimm einen Würfel. Bei 1, 3 oder 5 wird es C++, bei 2, 4 oder 6 wird es C#, bei 7 Fortran.


----
Ziele zu setzen ist ja ganz nett aber wie oft führen die unzähligen Themen, die mit "Ich will Spiele programmieren" anfangen, wohl wirklich zum Ziel?
 
Wenn Du möglichst schnell Prototypen schreiben möchtest dann ist meiner Meinung nach Python die erste Wahl. Möchtest Du im Webumfeld entwickeln bzw. für Android/iOS auf mobilen Endgeräten dann ist Java Script zu empfehlen. Ich selbst habe mit C/C++/Java angefangen, dann Python gelernt und nun seit einem Jahr .Net Core/Java Script. Keine der Sprachen ist perfekt aber alle machen Spaß.
 
Zurück