Programmieren lernen - ist es einfach, wie hoch sind die Kosten und wie lange dauert es in der Regel?
6 Antworten
Ich würde Java empfehlen. So habe ich damals auch Programmieren gelernt (bevor ich in die Fänge von C# geraten bin 😀). Es gibt unzählige Tutorials im Internet und alle Tools, die man benötigt, sind kostenlos.
Du kannst Eclipse verwenden. Das ist kostenlos und eine vollständige Entwicklungsumgebung: https://www.eclipse.org/
Die Kosten sind gering. Du könntest es sogar umsonst lernen. Im Internet ist alles da, was es braucht. Oder du kaufst halt Bücher. Dauer ist unterschiedlich. Es gibt unterschiedlich schwere Sprachen. Und der eine lernt es schnell, der andere braucht sehr lange. Die Schwierigkeit am Programmieren ist aber nicht das Beherrschen der Sprache, sondern das Lösen von Problemen damit. Nehmen wir an, du möchtest eine 3D Engine programmieren. Dann bringt dir allein die Tatsache, dass du eine Programmiersprache beherrscht, garnichts. Du musst die Mathematik dahinter beherrschen. Oder du möchtest einen Treiber programmieren. Dann musst du das Bauteil kennen, du musst wissen, wie es arbeitet, musst dich über die Schnittstellen informieren, dir du anprogrammierst, wie sie arbeiten, welcher Befehl was bewirkt. Ausserdem gibt es völlig unterschiedliche Szenarien. Eine Webseite zu bauen, ist was völlig anderes, als Low Level Programmierung, was du zum Beispiel beim Treiber brauchst. Allein mit Programmieren kannst du noch nicht viel machen. Du musst dich immer in spezielle Techniken einarbeiten. Spiele, Web, Low Level, Smartphone, Windows-Applikationen und vieles mehr. All das wird dich dann weiter beschäftigen. Auf irgendwas musst du dich dann erstmal konzentrieren.
Die Schwierigkeit am Programmieren ist aber nicht das Beherrschen der Sprache, sondern das Lösen von Problemen damit.
Genau das. Coden als Teil des Programmierens ist die Übersetzung eines Problemlösungsverfahrens in eine Sprache, die der Computer versteht. Softwareentwicklung als Teil des Programmierens ist die Entwicklung von Problemlöseverfahren, die alle Fälle berücksichtigen, die überhaupt vorkommen können, und dann auch keine zwei Stunden für etwas braucht, was mit einem geschickteren Verfahren nur zwei Sekunden benötigt. Und das Ganze noch so, dass der Benutzer nicht den Eindruck kriegt, das Programm wäre abgestürzt. Das erfordert oft Stunden höchst konzentrierten geistigen Arbeitens. Und dies ist das, was die Einen frustriert und die Anderen fasziniert.
Als Einsteigersprache empfehle ich Python. Das ist leicht und schnell erlernbar. Hier die benötigten Downloads für Windows:
- Python: https://www.python.org/ftp/python/3.8.2/python-3.8.2-amd64.exe Man soll alle Komponenten installieren. Während der Installation wird Python automatisch zur Windows PATH Umgebungsvariable hinzugefügt.
- Pycharm, das ist ein Python-Editor mit Syntaxhervorhebung. Hier der Download: https://www.jetbrains.com/de-de/pycharm/ Wähle die Community-Version. Diese ist kostenlos. Pycharm findet automatisch Python.
Hier ein Python-Tutorial: https://www.python-kurs.eu/python3_kurs.php Man lernt dort auch anhand von Codebeispielen. Wenn man auf Tkinter-Tutorial klickt, das ist das Tutorial um in Python grafische Programme zu programmieren.
Python-Programme kann man auch in EXE-Dateien kompilieren die dann selbstständig ohne Python lauffähig sind. Dazu muss man zuerst das pyinstaller-Modul installieren. Das geht so:
Zuerst die Eingabeaufforderung oder Powershell als Administrator starten. Dann dort folgenden Befehl eingeben: pip install pyinstaller Das installert dann alles erforderliche.
Und so kompiliert man: Dazu erstellt man sich einen Ordner mit dem Namen Python-Projekte. Dort das geschriebene Python-Programm abspeichern. Dann von diesem Ordner aus die Eingabeaufforderung oder Powershell aufrufen und folgendes eingeben: pyinstaller programmname.py
Die Kompilierung wird gestartet. Dann findet man im Ordner Python-Projekte 3 weitere Ordner: Einmal build dist und __pycache__ Die Ordner build und __pycache__ kann man nach dem Kompilieren löschen. Im Ordner dist befindet sich ein weiterer Ordner mit dem Namen programmname Dort drin befindet sich die programmname.exe und weitere Dateien und Ordner. Das sind die benötigten Laufzeitbibliotheken. Das ganze ist dann zusammen mit der EXE selbstständig ohne Python ausführbar.
Falls man das integrierte Symbol in der programmname.exe ändern möchte, kann man dazu das Tool Resource Hacker http://www.angusj.com/resourcehacker/ nehmen. Damit kann man EXE-Dateien direkt bearbeiten, modifizieren und z.B. das integrierte Symbol ändern. Resource Hacker erstellt dann eine neue EXE-Datei und die alte wird als Backup angelegt.
Als letzten Schliff hat man noch die Möglichkeit das ganze mit Inno Setup https://www.jrsoftware.org/download.php/is.exe in ein Installationspaket zu verpacken. Dazu muss man den ganzen Inhalt von /dist/programmname/ zu seinem Inno Setup Projekt hinzufügen. Inno Setup verpackt dann das ganze in eine setup.exe Ideal wenn man sein Programm weitergeben möchte. Der Nutzer kann sich dann das Programm ganz normal installieren.
Python ist sehr schlecht für Einsteiger. Es bietet zu viel Freiheit in der OOP. Somit wird der Umstieg auf schwerere Sprachen extrem schwer fallen.
(...) ist es einfach (...)
Die Programmierung beschäftigt sich mit dem Lösen von Problemen. In der Hinsicht kannst du dir die Antwort sicherlich schon denken.
Das Lernen fällt erfahrungsgemäß manchen sehr schwer, manchen wiederum nicht so sehr. Eine Pauschalaussage lässt sich also nicht so einfach treffen.
Es hängt auch von verschiedenen Faktoren ab, wie schwer du es dir letzten Endes machst. Ob du beispielsweise viel und regelmäßig lernst, welche Lehrquellen du wählst oder mit welchen Themen und welcher Programmiersprache du beginnst.
Für einen leichten und motivierenden Start würde ich dir zu Processing raten.
Aber auch wenn es die Sprache selbst schon leicht macht, musst du natürlich ebenso eigenen Elan in so ein Vorhaben stecken. Selbstständig recherchieren zu können ist bspw. eine wichtige Fertigkeit oder die analytische Herangehensweise an ein Problem.
(...) wie hoch sind die Kosten (...)
Grundvoraussetzung sind ein funktionierender Computer mit der üblichen Zusatzhardware (Maus, Tastatur, Bildschirm). Eine Internetverbindung wäre zudem vorteilhaft.
Ausgehend davon ist es meist möglich, ohne Kosten zu lernen und zu entwickeln. Es gibt für einige Sprachen Software, für die man einiges zahlen muss (bspw. einige JetBrains-Produkte), doch in der Regel gibt es genügend gute und kostenlose Optionen.
Wenn, solltest du eher in das Lernmaterial investieren (Stichwort: Bücher), wobei da auch ein Gang in die Bibliothek schon ausreichend sein kann. (Video-)Kurse findet man bspw. auf Udemy, edX oder PluralSight ebenso. Ob du solche nutzen möchtest, musst du selbst entscheiden.
(...) wie lange dauert es in der Regel?
Für das Erlernen erster Grundlagen einer einzigen Programmiersprache würde ich in Monaten rechnen. Weiterlernen kannst du dann im Grunde fast ein Leben lang. Es rücken immer wieder andere / neue Themen in den Fokus, neue Technologien (Bibliotheken, Frameworks, ...) kommen hinzu und die Programmiersprachen selbst werden ja ebenfalls weiterentwickelt.
Nicht nur fast ein Leben lang. Aber das gehört für mich zum Reiz meines Berufs dazu.
Nee das ist nicht einfach, dazu müsstest du erstmal in Mathe gut sein.
Die Kosten sind null, kannste alles im Internet lernen.
Wie lange dauert es: Jahre. Programmieren ist nicht irgendwas, was man mal kurz sich in 2 Monaten aneignen kann.
Mathe nicht unbedingt. Hängt viel davon ab für welches Unternehmen man später arbeitet. Um eine Programmiersprache zu erlernen braucht man eigentlich gar kein Mathe finde ich. In der Firma wo ich arbeite habe ich noch nie Mathe gebraucht und ich bin sowohl im Fronten als auch im Backend unterwegs.
Zum Programmieren brauche ich per se kein Mathe. Mathe brauche ich, wenn die Software es verlangt. Das kann verdammt viel, aber auch wenig sein. Je nach dem, was programmiert wird.