Programmiersprache Lernen, wie, welche?

8 Antworten

Programmiersprache Lernen, wie, welche?

Mit einer Programmiersprache solltest du dich definitiv beschäftigen, wenn du dich für Programmierung interessierst. Andernfalls gibt es natürlich auch Tools, die ohne Programmierkenntnisse es bspw. erlauben, Spiele zu entwickeln (siehe hier) oder sicherlich auch, zumindest pseudomäßig zu hacken.

Wie:

In erster Linie durch eigenständige Recherche und viel Übung. Bereits jetzt könntest du über ziemlich viele Informationen verfügen, wenn du nur einmal die Suchleiste rechts oben benutzt hättest.

Welche:

Ich würde dir zu Processing raten. Zum einen sind Grundlagen der Programmierung mit Processing einfach erlernbar, zum anderen besteht aufgrund der Möglichkeit, von Anfang an auf einer Zeichenfläche zeichnen zu können, auch früh die Möglichkeit, kleinere Spiele wie z.B. Pong zu entwickeln. Dies hält die Motivation höher, als mit einer Sprache zu beginnen, die für Anfänger eher die Konsole bietet (da das Entwickeln grafischer Oberflächen wiederum einige Kenntnisse erfordert).

Da Processing auf Java basiert, ist ein späterer Umstieg einfach. Dies wäre dann auch die erste größere Hürde, da du bei Java auch vollends mit dem Konzept der objektorientierten Programmierung konfrontiert werden würdest.

Die IDE von Processing kannst du dir auf der offiziellen Webseite herunterladen, ebenso finden sich dort Tutorials und eine Referenz.

Passende Literatur findest du hier von den beiden Autoren persönlich:

oder von Daniel Shiffman:

Letzterer hat ebenso einen YouTube-Kanal (The Coding Train; die Playlist für Processing ist hier).

Deutsche Literatur lässt sich zwar ebenso finden (z.B. Einführung ins Programmieren mit Processing von Matthias Wolf), doch wie gut diese ist, kann ich nicht beurteilen.

Alternativ zu Processing bieten sich natürlich auch noch andere Sprachen an, die zudem gut für einen Einstieg geeignet sind. Ich würde hierbei folgende benennen:

  • Python: Wie Java ist diese Sprache ziemlich vielseitig und bietet zahlreiche Bibliotheken für einzelne Themengebiete, wie die Spieleprogrammierung. Zum Thema Hacking mit Python o.ä. (Security, etc.) wirst du einiges an Literatur finden. Warum Python sich eignet? Lies hier.
  • Swift: Wenn du dich mehr für die Apple-Welt interessierst; ein Mac OS ist hier wohl vonnöten.
  • C ist nicht nur für den Einstieg nicht schlecht. Sehr viele Programmbibliotheken wurden mit dieser Sprache entwickelt und bilden eine Grundlage für andere Programme, wie Game Engines. C ist eine systemnahe Sprache, als Erweiterungen von ihr entstanden die Sprachen C++ und Objective-C. Letztere wird in der Apple-Welt eingesetzt und soll nach und nach weiter von Swift abgelöst werden.

------------------------------------------------------------------

Sollte ich, wenn ich auch Java Programmieren möchte (...) erstmal 1 Lernen, oder kann ich auch beide zusammenlernen?

Beide? Von was neben Java redest du da? Von einer anderen Sprache?

Grundsätzlich wäre mein Rat: Eines nach dem anderen. Jede Programmiersprache verdient vollständige Aufmerksamkeit. Wenn du paralleles Lernen versuchst, wirst du eher in Konzepten oder verschiedener Syntax durcheinanderkommen. Das bringt dich insgesamt nicht weiter, sondern behindert eher.

Auch für die von dir angesprochenen Anwendungsgebiete benötigst du erst Grundlagenwissen und gerade bei diesen, nicht zu knapp. Es sei denn, die Programmierung interessiert dich, wie oben bereits angesprochen, nur oberflächlich oder du möchtest Anwendungen viel lieber in Drag&Drop-Umgebungen zusammenziehen.

Generell benötigst du also viel Zeit und Geduld. Neben der Programmierung an sich werden möglicherweise noch verschiedene andere Themen auf dich zukommen. Spiele bestehen ja nicht nur aus Code und auch hacken kann man in verschiedenen Bereichen auf verschiedene Wege.

Wenn ja welche von den beiden ist sinnvoller?

Java kann für vielfältige Zwecke angewandt werden. Natürlich ist auch die Spieleprogrammierung oder Hacking möglich.

Kennt ihr Seiten, Crash YouTube Kurse, die mir Helfen dabei würden? Oder Sachen die mir generell Helfen?

Neben den bereits referenzierten Quellen und Tipps, zu Java:

Eine kostenlose Alternative zu dem erstgenannten Buch stellt (der Verlag selbst) hier zur Verfügung: http://openbook.rheinwerk-verlag.de/javainsel/. Zu beachten ist hierbei, dass sich diese Version noch auf Java 8 bezieht. Die derzeitige Version ist Java 10, mittlerweile wurden nochmals neue sprachliche Features integriert. Diese sollten sich jedoch nachträglich aneignen lassen.

Ein Gang in eine Bibliothek ist in dieser Hinsicht ebenfalls einmal zu empfehlen, diese Option wird oft vergessen.

Weitere Quellen (online):

Von YouTube-Kanälen irgendwelcher Hobbyprogrammierer oder anderen Online-Crash-Kursen rate ich eher ab, denn gerade für einen Einsteiger ist es schwierig zu bewerten, was fachlich korrekt und good/bad practice ist und möglicherweise werden Themen nur unvollständig erklärt. Genügend solcher Fälle kann man hier auf der Plattform nachlesen.

Um programmieren zu lernen, benötigt es mehr als nur 21 Tage. Viel eher sollte in Monaten gerechnet werden, um die Grundlagen zu verinnerlichen. Ansonsten lernst du wohl ein Leben lang. Der Oberbegriff Informatik umfasst bereits zu viel und durch neue Techniken schwillt er weiter rasend an.

Ich lerne nicht so schnell durch Lesen, ich lerne eher wenn ich was höre (...)

Und noch besser lernst du durch Wiederholung. All die empfohlenen Quellen bringen dir nichts, wenn du sie dir nur durchliest oder nur anschaust. Du musst es praktisch üben und auch mit einer eigenen Neugier und Motivation an die Themen herangehen.

Davon ab musst du dich explizit mit dem Kernthema der Programmierung auseinandersetzen: Wie stelle und löse ich Probleme? (Algorithmenbildung) All die Sprachen etc. sind nur Werkzeuge, die nutzlos sind, wenn sie nicht angewandt werden können. Also übe, Probleme zu analysieren, sie (in Teilprobleme) aufzuteilen (Teile und herrsche-Prinzip) und zu abstrahieren. In der Schule wird so eine Vorgehensweise ebenfalls gelehrt, bspw. indem man bei Sachaufgaben in der Mathematik in Arbeitsschritte einteilt: Gegeben, gesucht, Lösung.

Hierbei eignen sich natürlich kleine Übungen und konkrete Aufgaben, die auch nicht unbedingt voller Sinn strotzen müssen. Siehe hier oder probiere dich an den folgenden Klassikern aus, die ich einmal zusammengestellt habe.

Für Basics:

  • Sortieralgorithmen (Bubble-Sort, Quicksort, Mergesort, Selection Sort, Slowsort, ... - hier findest du eine Übersicht, welche es so gibt, auf den konkreten Seiten finden sich die Algorithmen - prinzipiell kannst du auf Wikipedia oft den Algorithmus zu bestimmten Problemen finden)
  • Suchalgorithmen (lineare Suche, binäre Suche, Alpha-Beta-Pruning)
  • Minispiele wie Pong, Conways Game Of Life, Vier gewinnt, TicTacToe - grafisch mit Processing gut umsetzbar, der Kern lässt sich auch als Bibliothek in Java-Projekte einbinden
  • Caesar-Verschlüsselung
  • Eigene Implementierung von Methoden aus der Standardbibliothek (z.B. für Strings: indexOf, split, substring, reverse)
  • Blur-Effekt (mit Processing)

Fortgeschritten (mit OOP):

  • Pacman
  • Eine Wegberechnung (kürzester Weg von A nach Z) via Dijkstra-Algorithmus (dies baut auf einem Netzsystem auf, jede Kante hat eine Länge und jeder Knoten einen Namen - nutze für diese Grundstruktur OOP)
  • Entwicklung einer dynamischen Liste
  • Entwicklung einer ausbalancierten Baumstruktur (d.h., der Baum balanciert sich selbst aus, sobald ein Element hinzukommt oder entfernt wird)
  • Schach (mit Alpha-Beta-Pruning)
5

Guten Morgen! Ich danke dir, dass du mirr versuchst zu Helfen! Werde auf jeden Fall nachher Anfang.

1

Als Programmiersprache für Einsteiger empfehle ich Python. Der Syntax ist leicht erlernbar. Hier die benötigten Downloads für Windows:

Alle Programme und Tools sind kostenlos.

Danach muss man Python zur Windows-PATH-Umgebungsvariable hinzufügen. Das geht so: http://techmixx.de/windows-10-umgebungsvariablen-bearbeiten/

Hier gibt es eine Möglichkeit Python-Programme in EXE-Dateien zu kompilieren die dann selbstständig ohne Python lauffähig sind. Dazu benötigt man folgendes:

Dieses auch zur Windows-PATH-Umgebungsvariable hinzufügen. Und so kompiliert man damit: Zuerst erstellt man sich einen Ordner. Als Name kann z.B. Python-Projekte genommen werden. Dort speichert man das geschriebene Python-Programm ab. Dann geht man in diesen Ordner, klickt mit der rechten Maustaste rein und wählt Powershell. Dann folgendes eingeben:

  • nuitka --recurse-all --standalone programmname.py

Das erzeugt in dem Ordner Python-Projekte 2 weitere Ordner. Einmal programmname.build und programmname.dist. Der Ordner programmname.build kann nach dem Kompilieren gelöscht werden. Im Ordner programmname.dist befindet sich das kompilierte Python-Programm mit dem Namen programmname.exe und den Laufzeitbibliotheken.

Als letzten Schliff hat man noch die Möglichkeit das ganze in ein Installationspaket zu verpacken. Dazu benötigt man Inno Setup: http://jrsoftware.org/download.php/is.exe Inno erstellt dann daraus ein Installationspaket mit dem Namen setup.exe. Ideal wenn man das erstellte Programm weitergeben möchte.

Hier gibt es ein Python Tutorial: https://www.python-kurs.eu/python3_kurs.php In der Rubrik Tkinter Tutorial lernt man mit Python grafische Programme zu programmieren.

Falls einem der Funktionsumfang nicht ausreicht, Python kann man mit zahlreichen Bibliotkeken erweitern.

P.S. Python wird auch verwendet um einen Einplatinencomputer wie z.B. den Raspberry Pi zu programmieren. Damit kann man z.B. die Ein- und Ausgänge ansteuern oder abfragen.

Crashkurse sind für Programmierung nicht empfehlenswert.

Wenn du Minecraft mods programmieren willst, dann lerne Java. Wenn du mit einer game engine (unity) eigene Spiele entwickeln willst, dann lerne C#.

Wenn du mit einer game engine eigene Spiele und hacks entwickeln willst, dann lerne C++.

Sinnvoll diese Programmsprache zu lernen?

Also ich lerne grad HTML. Später wollte ich meine erste Programmiersprache lernen. Ich dachte da an Phyton, es sollte nicht zu schwierig sein für nen Anfänger. Dann wollte ich die Sprache Boo lernen und damit 3D-Spiele erstellen mit Unity-Engine.

Würde das so gehen? Wie lange würde das dauern?

...zur Frage

Wie Programmiersprache lernen?

Ich lerne gerade C# mit dem Buch Schrödinger lernt C#. Das Buch ist eigentlich toll formuliert aber die Themen sind schon trocken und alles findet auf der Console statt. Eigentlich will ich Apps programmieren usw. und ich habe das Gefühl alles zu vergessen was ich gelernt habe und denke, dass ich das nicht anwenden kann, weil alles auf der Konsole stattfindet. Ich habe immer das Gefühl, wenn ich die Sprache irgendwann gut kann, dass ich das lästige hinter mir habe und ich anfangen kann das zu Programmieren auf das ich Lust habe. Könnt ihr mir weiter helfen wie man Programmiersprachen lernt und motiviert bleibt weil ich nie länger als eine Stunde motiviert bleibe...

...zur Frage

Welche Programmiersprache könnt ihr mir empfehlen die man einfach lernen kann?

Mit dieser Programmiersprache möchte ich Spiele und nützliche Programme Programmieren.

...zur Frage

In die Programmierung einsteigen?

Wie in der Frage bereits beschreiben möchte ich mich mehr mit der Programmierung beschäftigen.
Kleine Programme hab ich schon geschrieben. Z.B mit Batch ein Quiz.

Nun möchte ich professioneller Programmierern.

- wie lerne ich am besten zu programmieren ?
- welche Programmiersprache wäre empfehlenswert für Einsteiger?
- sonstige Tipps und Empfehlungen?

Danke für eure Hilfe :)

...zur Frage

C++ als Erste Programmiersprache?

Hallo Community, Ich möchte eine Programmiersprache lernen da ich nämlich 3D Spiele und Spiele Trainer erstellen möchte ich möchte aber nicht wie jeder andere erst eine Programmiersprache lernen, die nicht so umfangreich ist wie c++ einfach aus dem Grund, weil nur um sich das Programmieren anzueignen muss, ich unbedingt eine andere Sprache lernen muss als die ich will stimmt ihr mir dazu das Ich in mindestens einem 1 Jahr die Grundlagen kann?

...zur Frage

Java oder HTML?

Hallo Comunity, ich möchte eine Programmiersprache lernen und überlege welche für den Anfang besser ist: Java oder HTML. Ich habe gehört Java ist zwar schwerer zu lernen, aber die programmierung gestaltet sich nicht so schwierig. HTML soll sehr leicht zu lernen sein aber beim schreiben des Quelltextes schwieriger. Welche sollte ich lernen? LG

...zur Frage

Was möchtest Du wissen?