Programmieren lernen, wo mit sollte ich anfangen?

  • Hallo,


    Ich bin Max und ich bin noch nicht volljärig, womit kann ich anfangen zu programmieren, ich denke so an HTML und dann CSS und später JavaScript. Womit kann man soetwas am besten lernen. Und wie fange ich am besten an? Ich möchte ein paar Webseite probieren zu programmieren, und Spiele versuchen zu programmieren

    Einmal editiert, zuletzt von Max ()

  • Hallo Max, ich empfehle Dir mit html anzufangen und dann nach und nach in die Bereiche Css und Javascript vorzuarbeiten. Gratis gibt es viele Kure und Tutorials, zb. selfhtml.org. Es gibt auch Kurse, die etwas kosten, die aber auch sehr gut sein können.

  • W3Schools - währe mein Mittel der Wahl um mit Webentwicklung anzufangen.

    Und ist mein Mittel der Wahl um immer wieder mal was nachzuschen wenn ich etwas nicht auswendig weis.

  • grmpfffff....

    also erstmal weder html noch css ist "programmieren" - html ist eine "auszeichnungssprache" das ist struktur, so wie z.b. die config.plist von unserem bootloader. css heisst "cascading stylesheet" und hat auch absolut nix mit programmieren zu tun.

    vereinfacht gesagt strukturiert html eine webseite, und css fabriziert die gestaltung dazu. das ganze ist "statisch" - da bewegt sich nicht wirklich viel. interaktivität erreichst du z.b. mit javascript oder auch php, beides scriptsprachen, die interpretiert werden (macht der browser oder der server). in jedem fall bleibst du im dunstkreis des browsers, der webseiten stecken.

    ist aber durchaus spannend (zumindest, wenn man mit javascript browserspielchen oder -anwendungen zusammenstrickt, php kann ich nicht leiden..), aber "richtig" programmieren ist noch mal was anderes. da hättest du mit sprachen wie C, C++ oder C# zu tun oder java, oder python - komplexer, als javascript, aber auch um längen vielseitiger und nicht ausschliesslich ans web gebunden.

    einfaches C (eine art abgespeckter "C-dialekt") lässt sich prima mit microcontrollern (arduino, ESP8266, ESP32), einem steckbrettchen und ein paar bauteilchen wie widerständen, leds und tipptastern entdecken. ist auch für schülertaschengeld erschwinglich, und die grundprinzipien des programmierens kriegst du dabei durchaus ziemlich gut mit. und C ist fast schon eine der "ursprachen" der programmierung.

    kannst mich gerne auch deswegen anpingen (pn)

    ersthilfe vor ort für altes zeugs (-> laptops) 8)

    berliner häckinTosh.stammTisch am 3.monatsmittwoch im maxFish/kunsthaus ACUD

    der stammtisch in berlin ist WIEDER DA!! nächster termin voraussichtlich: mittwoch 15.9.21, 19.00 uhr

  • Danke für diese viele Tipps


    Elektrohorst Danke für den Tipp


    bounty96 Auch ein Danke für die Tipps.


    grt Ok, also wäre HTML und CSS und JavaScript eher was, wenn man Webseiten „programmiert“? Arduino und Raspberry PI 3B habe ich, arduino wahr glaub ich ein Uno. Sachen zum löten habe ich auch, mein Vater hat mir sein altes Lötgerär gegeben, und mit Elektronik und sowas kennt er sich gut aus.

    Einmal editiert, zuletzt von Max ()

  • löten musst du gar nicht. ein steckbrett und eine (passende) handvoll bauteilchen reicht aus. uno ist ok, ein arduino nano wär auch ausreichend. der raspi und seine pins ist schon fortgeschrittener, und für den anfang eher overkill. aber interessant, um das einrichten und administrieren von linux per ssh/terminal übers netzwerk zu lernen. aber das wär noch ein anderes thema.

    und ja, das zusammenspiel von html, css und javascript ist für webseiten gedacht.

    du hattest ja mal auf die webseite geguckt, die ich im profil hab, das ist html, css, ein kleines bisschen php und (unfertiges) javascript. die fischchen die da herumgeistern, oder das gummibären sortieren ist mit javascript realisiert. nicht ganz fehlerfrei geb ich ja gerne zu, und auch noch nicht fertigprogrammiert das meiste...

    ich schreib dir morgen mal eine pn mit mehr infos.

    ersthilfe vor ort für altes zeugs (-> laptops) 8)

    berliner häckinTosh.stammTisch am 3.monatsmittwoch im maxFish/kunsthaus ACUD

    der stammtisch in berlin ist WIEDER DA!! nächster termin voraussichtlich: mittwoch 15.9.21, 19.00 uhr

  • Ich denke das es am Anfang nicht wichtig ist, den besten Code zu schreiben, sondern Projekte auch irgendwann zu Ende zu bringen, und nicht immer ein neues Anfangen, und das alte nicht fertig zu machen

    Einmal editiert, zuletzt von Max ()

  • damit hast du auf jeden fall recht. und die projekte sollten auch zu dem jeweiligen lernstand passen - also nicht gleich eine künstliche intelligenz entwickeln wollen, bevor man überhaupt weiss, was eine variable ist ;-)

    wie gesagt, ick meld mir morgen im lauf des tages.

    ersthilfe vor ort für altes zeugs (-> laptops) 8)

    berliner häckinTosh.stammTisch am 3.monatsmittwoch im maxFish/kunsthaus ACUD

    der stammtisch in berlin ist WIEDER DA!! nächster termin voraussichtlich: mittwoch 15.9.21, 19.00 uhr

  • Okay, da ich lange in dem Bereich Dozent war, nutze ich mal meinen 100. Beitrag hier und gebe auch mal meinen Senf hinzu. Wie andere schon erwähnt haben, sind HTML und CSS kein "programmieren", sondern beschreiben die Struktur und das Aussehen der Inhalte einer Webseite. Die Interaktivität kommt dann durch JavaScript (JS), PHP usw., mit denen diese Elemente auf der Seite nach bestimmten Regeln verändert werden.


    Wichtig ist aber die Frage, was und warum du programmieren lernen möchtest und was am Ende herauskommen soll. HTML, CSS, JS und diverse "Frameworks": Damit kannst du zB Anwendungen und einfache Spiele entwickeln, die du dann leicht im Web veröffentlichen kannst. ABER du musst dazu erst mal viele unterschiedliche Teile lernen. Beim Raspberry ist es eher umgekehrt: Die Anwendungen, die man da entwickelt, sieht man oft gar nicht: die lesen irgendwelche Sensordaten aus und verarbeiten sie weiter, schalten die Beleuchtung an, wenn der Dämmerungssensor "dunkel" anzeigt etc. Und dann gibt es noch die Anwendungsentwicklung zB für Windows, macOS oder Linux oder die App-Entwicklung für iOS und Android. Alles unterschiedliche Bereiche, in denen oft unterschiedliche Werkzeuge und Programmiersprachen genutzt werden.


    Zunächst geht es beim Programmieren aber erst mal darum, die grundlegenden Elemente zu beherrschen: Variablen, Schleifenkonstrukte, Bedingungen, Ein-/Ausgabeanweisungen etc. Beherrscht man das mal richtig, dann kann man sich auch leichter in neuere Programmiersprachen und Werkzeuge einarbeiten. Denn in der Industrie wird oft mit ganz anderen Programmierwerkzeugen gearbeitet.


    Für den Einstieg würde ich bei verfügbarem Mac/iPad das kostenlose "Swift Playgrounds" empfehlen - da klickt man die Anweisungen zusammen und muss verschiedene Aufgaben/Szenarien lösen, indem man eine vorhandene Spielfigur auf einem vorhandenen Spielfeld dazu anweist, Diamanten einzusammeln und Schalter zu betätigen. Vorteil: kostet nix, kein Vorwissen erforderlich, wenig Frust durch Syntaxfehler (also Tippfehler, die dein Programm für den Computer unlesbar machen). Swift ist die Programmiersprache, die Apple auch für die App-Entwicklung unter iOS und macOS empfiehlt und theoretisch kannst du von Swift Playgrounds zu Xcode wechseln und dann in die App-Entwicklung einsteigen (die Hürden bleiben aber erst mal hoch).


    Anschließend würde ich mir Thonny anschauen: Das ist eine kostenlose, interaktive Entwicklungsumgebung für Python. Diese Programmiersprache wird auch viel auf dem Raspberry benutzt und mit Thonny hat man so was ähnliches wie den Basic-Interpreter, den die älteren von uns noch vom C64 kennen: Thonny öffnen und lostippen, dann auf "Ausführen" klicken, sich wundern, Fehlermeldung analysieren, Code verbessern und von vorne. Toll daran ist, dass du dir dein System nicht vermurkst, denn wenn du Python normal installierst, musst du auf Kommandozeile arbeiten und kannst dir dein System zerschießen, wenn du Versionen und Erweiterungspakete installierst, die mit den systemeigenen nicht problemlos zusammenspielen. Für Python gibt es zahllose Kurse und Beispiele im Web, vieles auch kostenlos. Und die Einsatzgebiete reichen von der Entwicklung eines einfachen "Hello World" über Kommandozeilen-Tools bis zu Neuronen Netzen, Sprach- & Signalverarbeitung oder eben auch dem Verarbeiten von Sensordaten zB eines Raspberry Pi.


    Hast du dich mal mit Swift Playgrounds und Thonny/Python beschäftigt, wirst du schon viel besser wissen, was du zukünftig programmieren willst - und dann suchst du dir die richtige Programmiersprache, die richtigen Werkzeuge und die richtigen Libraries/Frameworks (quasi Sets von Lego-Bausteinen für Programmierer, die bestimmte Zwecke erfüllen) für den Job aus.


    Hope that helps - Geld würde ich am Anfang keines ausgeben, gerade nicht für Kurse. Das lohnt sich erst, wenn du weißt, in welche Richtung du weitergehen willst.

  • Meine 2¢


    Harvards CS50's Introduction to Computer Science An introduction to the intellectual enterprises of computer science and the art of programming.


    Zitat

    About this course


    Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50x teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, Python, SQL, and JavaScript plus CSS and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. The on-campus version of CS50x , CS50, is Harvard's largest course.

  • Ich finde es nicht ganz fair, HTML, CSS, JS und PHP als "ist kein Programmieren" abzuwerten, nur weil es Browser-Anwendungen sind.

    Es gibt ja schließlich auch dafür Experten, die nur reine Browser-Anwendungen schreiben, ohne jemals eine Codezeile Basic oder C oder sonst was geschrieben zu haben und damit noch gut Geld machen.

    Als ich damals noch Gewerbe hatte und Software entwickelte, die ich natürlich auch verkaufen wollte und habe, musste ich mich zwangsläufig mit dieser Sache beschäftigen und ich empfand dies nicht weniger Aufwendig, als die Software selbst zu entwickeln.

    Ok, HTML und CSS ist die Grundlage, aber auch die muss man erst einmal verstehen und richtig einsetzen, wenn's gut werden soll.

    Ich habe damals mittels PHP meine ganze Kaufabwicklung automatisiert, Datenbank angebunden, mit automatischer Rechnungserstellung als PDF und automatischen eMail-Versand an den Kunden und an mich in Kopie und dies alles im Browser.

    Ohne dies hätte ich wohl sehr viel Arbeit gehabt, um je auch nur eine Software zu verkaufen, aber mit diesem zusätzlichen Aufwand lief alles von selbst.

    Und dabei war ich ganz sicher noch unter 10% von dem was diese Sprachen tatsächlich noch alles können.

    Für mich war auch dies tatsächlich Programmieren, wie schon die Entwicklung der Software selbst.


    Mein Hinweis an den TE ist folgender, wenn man so ganz bei Null anfängt und nicht gerade Informatik oder Webdesign studiert hat.

    Für jede Sprache, egal ob nun Web- oder App-Entwicklung gibt es viele Hilfeseiten, von denen hier ja schon einige genannt wurden.

    Oft findet man dort viele Code-Beispiele, welche helfen, die Grundlagen besser zu verstehen.

    Man muss sehr viel lesen und auch dafür tatsächliches Interesse mitbringen, wenn man bei Null anfangen will, aber es geht, wenn man nur will.


    Im Fall der Code-Beispiele einfach mal eine Sache ändern und das Ergebnis anschauen, dann... aha, ok, dies hat meine Änderung nun bewirkt.

    Was man mal selbst gemacht hat bleibt einfacher hängen und so kommen immer mehr Erkenntnisse dazu.

    Von Null lernen ist ein langer Weg mit viel Ausdauer und Geduld.


    Ich finde Dein Vorhaben aus Post#1 erst einmal prima, wenn echtes Interesse dahinter steht, denn ich selbst habe mal so angefangen.

    Allerdings fang mal klein an! Spiele sind da eine ganz andere Hausnummer, denke ich. Richtig gute Spiele mit vernünftiger Grafik und auch etwas Anspruch werden nicht von Einzelpersonen entwickelt.

    Das ist mitunter ein richtig langer Weg zum Erfolg.

    Müll diesbezüglich gibt's schon genug im Appstore.

    Medion P9614: C2D 2,8GHz 8GB DDR3 GT330M 512GB FullHD intern BCM WLAN/BT SSD 512GB + 512GB + 1TB macOS Catalina / Win10pro 8)

    Real: MacMini M4 Pro: 24GB 32" LG 4k 1TB SSD + 1TB NVMe USB-C + 1TB thunderbolt NVMe macOS 15.2

    MacMini M1: 8GB 23" Apple-Cinema SSD 250GB macOS 15.2

    MacBook Air M2 15": 8GB SSD 512GB macOS 15.2

    MacMini2014: i5 2,8GHz 16GB DDR3 Intel Iris 5100 23" 1TB NVMe / 1TB SSD Monterey/Sonoma/Win10pro

    iPhoneSE 3.Gen 128GB: iOS 18.2 iPad Pro 9,7" WiFi 32GB: iPadOS 16.x

  • Max kann keiner wissen das du erst 14 bist. „Nicht volljährig“ ist ne große Range.

    MacBookPro 15,2:Lenovo Thinkpad T480

    Intel Core i5-8250U, Intel UHD620, 16GB RAM, OpenCore 1.0.0, macOS Sonoma 14.5 (23F79)


    MacMini 8,1:ASUS H310M-A

    Intel Core i5-8500, Intel UHD 630, 16GB RAM, OpenCore 1.0.0, macOS Sonoma 14.5 (23F79) / Windows 11 im Dual-Boot


    iMac 19,1:ASUS B360M-A

    Intel Core i9-9900K, XFX 6600 XT 8GB, 32GB RAM, OpenCore 1.0.0, macOS Sonoma 14.5 (23F79) / Windows 11 im Dual-Boot


    (real) MacBook Pro 8,2 (late 2011)

    Intel Core i7-2675QM, 16GB RAM, OpenCore 1.0.0, macOS Sonoma 14.5 (23F79)

  • Max


    ...prima, dann sind meine Hinweise doch gut, durch Eigeninteresse diese Dinge zu lernen und später dann mit gemachten Erfahrung vielleicht mit Fachrichtung ins Studium gehen.

    Beste Voraussetzungen dafür, wenn man sich schon früh damit beschäftigt hat.

    Medion P9614: C2D 2,8GHz 8GB DDR3 GT330M 512GB FullHD intern BCM WLAN/BT SSD 512GB + 512GB + 1TB macOS Catalina / Win10pro 8)

    Real: MacMini M4 Pro: 24GB 32" LG 4k 1TB SSD + 1TB NVMe USB-C + 1TB thunderbolt NVMe macOS 15.2

    MacMini M1: 8GB 23" Apple-Cinema SSD 250GB macOS 15.2

    MacBook Air M2 15": 8GB SSD 512GB macOS 15.2

    MacMini2014: i5 2,8GHz 16GB DDR3 Intel Iris 5100 23" 1TB NVMe / 1TB SSD Monterey/Sonoma/Win10pro

    iPhoneSE 3.Gen 128GB: iOS 18.2 iPad Pro 9,7" WiFi 32GB: iPadOS 16.x

  • HTML und CSS ist die Grundlage, aber auch die muss man erst einmal verstehen und richtig einsetzen, wenn's gut werden soll

    das ist vollkommen richtig, und abwerten wollte ich ganz bestimmt nix. sorry, wenns so rübergekommen sein sollte. aber HTML und CSS sind keine "programmiersprachen" und eine statische webseite aus den beiden ist kein "programm". das meinte ich.

    webprogrammierung wär dann mit php, jscript etc.. scriptsprachen, was aber nicht heisst, dass sie jetzt irgendwie schlechter sind, oder weniger "wert", oder weniger wissen und verständnis des programmierers benötigen.

    ersthilfe vor ort für altes zeugs (-> laptops) 8)

    berliner häckinTosh.stammTisch am 3.monatsmittwoch im maxFish/kunsthaus ACUD

    der stammtisch in berlin ist WIEDER DA!! nächster termin voraussichtlich: mittwoch 15.9.21, 19.00 uhr

  • naja... "in dem alter" ist schon ganz schön pauschal finde ich. und die verlinkten projekte sind auch noch recht "kindlich".

    so, wie ich den max hier im forum erlebt habe, ist er interessiert, engagiert, und hat ein offensichtlich gutes verständnis für it-krams, ich finde durchaus überdurchschnittlich in bezug auf sein alter. und wenns eine brauchbare informatik-ag in der schule gäbe, könnte ich mir vorstellen, dass er da längst teilnehmen würde. scheint aber wohl nicht der fall zu sein.

    ersthilfe vor ort für altes zeugs (-> laptops) 8)

    berliner häckinTosh.stammTisch am 3.monatsmittwoch im maxFish/kunsthaus ACUD

    der stammtisch in berlin ist WIEDER DA!! nächster termin voraussichtlich: mittwoch 15.9.21, 19.00 uhr

  • Ich würde mir

    https://de.aliexpress.com/item…22%3A%2266468842330%22%7D

    oder so ein Arduino Set holen

    https://de.aliexpress.com/item…22%3A%2266499224078%22%7D


    Bei der Arduinoprogrammierung fängt man schön bei low level c an.

    Es gibt online vile how to's welche sich mit solchen starter kits befassen.

    Macbook Pro Retina 2015 + 16GB ram 1TBGB ssd AMD Radeon R9 M370X 2048 MB  OSX 14.x)
    GA-Z77 DS3H + i7 3770 + 32GB RAM, RX580 8GB,2TB SATA SSD, TP-Link T8E (AC Wlan) + Bluetooth usbstick OSX 13.6.7 OC 1.0


  • krokol Ich habe bis auf die üblichen Verdächtigen "Java" und "Arduino" keine besonderen Gegenvorschläge im Sinn, aber warum gerade Swift und Python - Sprachen, die dafür bekannt sind, ohne vernünftige Begründung alles anders als in anderen Sprachen zu machen? Ich habe schon gesehen, wie Python-Einsteiger C schreiben und da kommt mir die Galle hoch.