Programmieren lernen, Tipps:)?

4 Antworten

Programmieren lernen, Tipps:)?

Ich empfehle Anfängern gern die Programmiersprache Processing. Das hat folgende Gründe:

  • Sprache und Programmumgebung sind auf das Wesentliche reduziert, was du für den Anfang brauchst.
  • Die Syntax ist sehr ähnlich zu anderen Programmiersprachen (wie Java, C#, ...), daher ist ein späterer Wechsel zu diesen nicht schwer.
  • Die Standardbibliothek stellt dir eine Zeichenfläche mit verschiedenen Zeichenfunktionen (und mehr) zur Verfügung. So kannst du schon früh zu Erfolgsmomenten mit grafischem Feedback kommen. Minispiele (wie Pong oder Snake) können bereits nach wenigen Grundlagen begonnen werden.

In dieser Antwort habe ich schon einmal dazu geschrieben und auch einige Lernquellen verlinkt. Noch ein deutschsprachiges Buch, was evt. infrage kommen könnte (ich habe es bisher noch nicht gelesen), wäre Programmieren lernen mit Computergrafik von Deussen und Ningelgen.

Ich werde da aber gar nicht schlau draus, habe mir auch schon Youtubevideos angesehen.

Als Lernquelle würde ich eher auf Bücher verweisen. Die Autoren sind in der Regel in der Lage, Themen / Zusammenhänge verständlich zu erklären. Außerdem sind solche Bücher eher auf Fehler geprüft.

Bei der Suche nach Online-Tutorials / Videos würde ich empfehlen, Reviews externer Quellen (also bspw. nicht der Like-Anzahl oder Kommentare unter dem Video) einzubeziehen.

Eine weitere Anlaufstelle sollte stets die offizielle Dokumentation sein. Dort findet man öfter auch Empfehlungen / Referenzen zu Tutorials, Büchern, usw..

Ich habe schon mal einen vierstündigen Kurs für Python gemacht, habe aber alles wieder verlernt.

Bezüglich der Lernmethodik würde ich empfehlen, sich regelmäßig ranzusetzen und einzelne Themen in Ruhe durchzuarbeiten. Ein hastiges Durcheilen nach dem Motto Ich-lerne-Programmieren-in-n-Tagen bringt meist gar nichts. Von Crashkursen würde ich demzufolge ebenfalls abraten.

Versuche dich in möglichst allem praktisch. Denke dir bei Bedarf Übungsaufgaben aus oder suche nach Übungsaufgaben zum jeweiligen Themengebiet (z.B. auf Edabit). Kombiniere alte Themen mit neuen, um mittels Wiederholungen Inhalte tiefer einzuprägen. Lernmaterial gibt es in Hülle und Fülle.

Ich weiß noch nicht mal, wie genau ich mir das vorstellen muss und wie genau Programmieren überhaupt funktioniert.

Programme bestehen aus mehreren Anweisungen. Als Programmierer kombinierst du Anweisungen, um einen bestimmten Programmablauf zu erwirken.

Ein einfaches Processing-Beispiel:

size(400, 400);
rect(10, 10, 50, 50);

Mit dieser Befehlsfolge wird einmal eine Zeichenfläche erstellt, die 400x400 Pixel groß ist und darauf ein Rechteck mit den Maßen 50x50 Pixel gezeichnet. Die linke obere Ecke des Rechtecks befindet sich bei der Koordinate P(10/10).

Ich würde gerne wissen, ob man einen guten Pc dafür braucht?

Um die Grundlagen zum Programmieren zu lernen: Nein.

Wenn es später um eigene Projekte geht, die darüber hinausgehen sollen, verhalten sich die Anforderungen projektspezifisch. Wenn du bspw. Spiele mit einer Game Engine wie Unreal entwickeln möchtest, solltest du schon die Systemanforderungen berücksichtigen, die die Engine stellt. Hinzu kommen womöglich weitere Ressourcen (z.B. Blender zum Rendering von 3D-Animationen), die den Rechner etwas fordern.

Mit welchem Programm programmiert man überhaupt?

An sich brauchst du lediglich ein Übersetzungstool für die jeweilige Programmiersprache und eine Oberfläche, die deinen Code entgegennimmt. So viel zu den Minimalanforderungen.

Für viele Programmiersprachen gibt es allerdings ausgereiftere Programme (IDEs), die alles Notwendige in sich vereinen (oder eine entsprechende Konfiguration zulassen).

Kostet es Geld?

Die meisten Programmiersprachen kann man kostenlos lernen und nutzen. Die meisten Programmierwerkzeuge sind frei erhältlich. Darüber braucht man sich also keine Sorgen machen.

Bei der Suche nach gutem Lernmaterial (Büchern/Videokursen) kommst du eher in die Lage für eine Geldinvestition. Ein Gang in eine Bibliothek kann sich aber vielleicht auch einmal lohnen.

Ich würde gerne z.B für Sketchful.io (...) einen Pinsel programmieren (...)

Eine offizielle Schnittstelle gibt es dafür zwar wohl nicht (jedenfalls habe ich auf den ersten Blick keinen Hinweis dazu gesehen), aber schwer, sich da reinzuhängen, ist es trotzdem nicht. Die Zeichnungen werden auf einem Canvas-Element vorgenommen. Du kannst über ein Browserplugin (Tampermonkey) oder über die Browserkonsole eigenen JavaScript-Code einschleusen. Ein paar Kenntnisse über die DOM-API und die Canvas API wären vonnöten.

Wenn das tatsächlich dein selbstgestecktes Ziel sein sollte, wäre es also sinnvoller, sich mit Webtechnologien auseinanderzusetzen. Dazu gehört ein wenig HTML und für die Programmierung JavaScript. Online-Quellen findest du hier:

Auch für das Web gibt es einen Processing-Ableger: p5.js. Passende Übungen / Tutorials findest du auf diesen Seiten:

An den Beispielen dort solltest du bereits sehen: JavaScript / p5.js ist für Spiele im Browser gut geeignet.

Da frage ich mich (...) Und muss ich (...) einfügen?

Ich denke, diese Fragen wirst du dir selbst beantworten können, wenn du so weit bist.

FYNN12623  11.04.2022, 08:03

Ich würde dir VSCode empfehlen.

0

Wenn du mit Programmieren anfangen willst wäre es eigentlich am Besten, wenn du dir ein Buch besorgst, was an Anfänger gerichtet ist, in dem dir alles Schritt für Schritt beigebracht wird.

Ich würde gerne wissen, ob man einen guten Pc dafür braucht?

Nein brauchst du nicht. Wenn du gerade erst anfängst, ist eigentlich jeder PC der letzten 10 Jahre mehr als ausreichend.

Mit welchem Programm programmiert man überhaupt?

Du schreibst den Quellcode mit einem Texteditor und hast dann eine Datei. Diese Datei kannst du dann (je nach Programmiersprache) direkt als Programm mit einem Interpreter ausführen oder mit einem geeigneten Compiler kompilieren (übersetzen).

Kostet es Geld?

Eigentlich nicht. Die meisten Tools und Programme kannst du kostenlos runterladen und benutzen.

Wie füge ich das programmierte dann ein?

Ich kenne mich mit dem, was du vorhast leider garnicht aus.

Ich würde dir als Einsteiger Java als eine der einfachsten, aber gängigsten Programmiersprachen empfehlen.

Java ist komplett kostenlos und läuft auf jedem Kartoffel-PC. Zur Programmierung empfiehlt sich eine IDE (macht das Programmieren erheblich leichter) diese gibt es auch kostenlos.

Zum Lernen jeglicher Programmiersprache würde ich dir die "für Dummies" (also z.B. einfach mal "Java für Dummies" googeln) Bücher empfehlen, da diese dich ohne jegliche Kenntnis und strukturiert ins Programmieren einführen.

msmw0202  11.04.2022, 01:04

Ich persönlich würde Anfängern von IDEs abraten, da diese meist soo viele Funktionen besitzen und "überladen" wirken, dass man nur unnötig verwirrt wird.

Außerdem lernt man durch das Benutzen einer IDE nicht die absoluten Grundlagen des Programmierens, also was ein Compiler überhaupt ist, wie er benutzt wird, was ein Linker tut und wie man Fehlermeldungen richtig versteht und selbstständig behebt.

Eine IDE ist schön und praktisch, aber eben nicht zum Lernen geeignet.

Ich erlebe es so häufig bei uns in der Firma, dass neue Leute anfangen und nichtmal die absoluten Basics können, weil sie einfach dran gewohnt sind in der IDE nur den grünen Pfeil zu klicken und der Rest funktioniert schon von alleine. Oder Fehler einfach von der IDE beheben zu lassen. Sobald das aber mal nicht die gewünschten Resultate erbringt kommt das böse Erwachen.

0
anonymousduck  11.04.2022, 01:07
@msmw0202

Also würdest du mit Notepad++ programmieren? Ich würde nur davon abraten, da man nicht unbedingt verstehen muss was ein Compiler ist, um zu programmieren. Am Anfang reicht es einen Knopf zu drücken das es läuft ohne viel Hintergrundwissen.

2
msmw0202  11.04.2022, 01:09
@anonymousduck

Das mag sein, aber irgendwann sollte man sich schon dieses Hintergrundwissen aneignen.
Nein Notepad++ würde ich nun nicht unbedingt nutzen, aber Emacs nutze ich.

0
anonymousduck  11.04.2022, 01:11
@msmw0202

Kam auch einige Jahre ohne das Wissen aus. Das sind "kleine" Gimmicks, die einen Programmierer meistens nicht interessieren, ob das ein Compiler oder was für ein Compiler das macht solange es klappt.

0
Lamanini  11.04.2022, 01:54
@msmw0202
Sobald das aber mal nicht die gewünschten Resultate erbringt kommt das böse Erwachen.

Ist doch exakt genauso, wenn man einfach nur nen Compiler bedient. Anstatt auf den großen grünen Button zu drücken gibst du dann halt „dotnet run“ oder ähnliches ein. Wenn man einen Compilerentwickler fragt, wird der wahrscheinlich das gleiche über die Kommandozeile sagen, was du über den Button sagst: „Zu abstrakt, verstehen tut man deswegen nichts“.

1
anonymousduck  11.04.2022, 01:56
@Lamanini

Die Bedienung eines Compilers kann schwierig und nervig sein. Auch wenn es in IDEs für Einsteiger zu viele Knopfe gibt, finde ich es trotzdem ok, da man nur seinen bestimmten Knopfe hat und die anderen interessieren nicht.

0
VINC767  11.04.2022, 03:08
@msmw0202

Bro, der Dude ist noch Anfänger..

Javac HelloWorld.java

Java HelloWorld

bringt ihm auch nicht viel.

Ist ja schon und gut das du so ein Core-Programmer bist, am liebsten im Texteditor ohne Debugger, aber für ein Anfänger ist das nicht empfehlenswert. Als Anfänger hat man schon Probleme genug den Code zum laufen zu bringen und am Ende war es nur ein fehlendes Semicolon.. da braucht man auch nicht mit dem Compiler rumtüffteln.

Er macht vorallem Java, kein C/C++ wo das vielleicht besonders interessant wäre.

Er hat noch genügend Zeit danach sich damit zu beschäftigen. Was ein Compiler ist, wird ihm im jeden Anfänger Buch am Anfang erklärt. Dazu muss man erstmal nicht wissen wie man es anwendet.

---

Zudem mal eine IDE zu benutzen und deren Debugger ich viel wertvoller finde. Mal ganz ehrlich, die meisten programmieren in einer IDE und zu verstehen wie man richtig debugged muss auch erst gelernt werden. Aber vor allem die Step-by-Step Debug-Executions oder wie man das auch immer nennt haben mir Anfangs schon gut geholfen.

Da schau ich mir lieber 1h an wie meine IDE funktioniert und wie man effizient debugged als das ich 5h mit dem Compiler spiele, zudem der meist eh nicht mehr ausspuckt als ein vernünftiger Debugger in einer IDE.

Eclipse, die IDE welche ich für Java empfehlen würde, hat einige Features, ja. Manche sind ein bisschen schwieriger zu verstehen, ja, aber das geht schon. Da schaut man sich einfach ein "how to create a Project in Eclipse" video an und ein "how to debug in Eclipse".

---

Aber Emacs? Are you even a Programmer dude? I use vim on Arch btw.

Kleiner Joke am Ende ;)

2