Programmieren lernen, wo mit sollte ich anfangen?

  • Das eine ist die Sprache, das andere die Leute die eine Sprache anzieht. Was gerade bei Python viele sind, die sich nicht unbedingt für das Handwerk Programmierung interessieren...


    JavaScript oder PHP sind OK um mit Webdesign mal die Grundkonzepte zu lernen und dann mit einer anderen Sprache wie C, C++ oder Java erst richtig einzutauchen.

    • Apple Mac Studio | M1 Ultra | 64GB RAM | 1TB
    • PowerMac G5 | Dual 2GHz | 8GB RAM | GeForce 6800 Ultra DDL
    • AMD Ryzen 9 3950X | ASUS Strix X570-I Gaming | 64GB DDR4-3600 CL16 RAM | Corsair MP600 M.2 NVMe | Radeon RX 6900 XT | Phanteks Enthoo Evolv Shift | Custom Loop | MacOS 12 | OpenCore
      Ryzen MacPro | EFI | RadeonSensor | Aureal
  • Ich wollte mit der Scratch Empfehlung keines Falls das Talent von Max irgendwie in Frage stellen, ich wollte lediglich zeigen, wo heute in der Schule Informatik anfängt. Und da machen wirklich alle Lehrer, die ich kenne, zu Anfang Scratch. Danach wird gerne der Lego EV3 Roboter angeboten. (Der Arduino ist selbstverständlich deutlich billiger und komplexer). Da hört sich alles sehr "kindlich" an, ist aber weitaus komplexer als es scheint aber die Kids haben so schneller ein Erfolgserlebnis. Deshalb wird dann auch schnell auf html übergegangen, einfach weil es schnell begreifbar ist und man schneller ein Ergebnis hat.

    Fängt man gleich, ohne Hilfe, mit Java oder C++ an, ist der Frust bei den Kids schnell vorprogrammiert und der Spaß am programmieren verfliegt. Das alles ist aus der Perspektive eines Vaters mit einem Sohn im gleichen Alter geschrieben.

  • Fängt man gleich, ohne Hilfe, mit Java oder C++ an, ist der Frust bei den Kids schnell vorprogrammiert

    das kommt darauf an, wie man das gestaltet. terminalanwendungen bis zum irrewerden ist natürlich nicht besonders attraktiv (kann man aber auch spannend rüberbringen, bei entsprechendem pädagogischem engagement), aber ein steckbrettchen, zu anfang eine kleine einführung, was bauteilchen wie leds und widerstände etc. so machen, und dann per arduino eine oder mehrere leds morsecodes, lauflichter oder ampeln produzieren lassen, tipptasterchen dazu, vielleicht noch ein poti (aber auf keinen fall ein "starterset" mit ohne ende sinnlosen und qualitativ indiskutablen chinasensoren... ;-) ) ... das kann richtig spass machen, und "nebenbei" gibts die essentiellen grundlagen der programmierung dazu, worauf dann, wenn das interesse weiter besteht aufgebaut werden kann.

    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

  • Genau das war das Konzept des Adventskalenders bei Conrad Electronic, vor ungefähr drei Jahren. Es gab einen Arduino und jeden Tag neue Teile und eine neue Programmieraufgabe. Mein Sohn war damals 14 und ziemlich überfordert. Aber so hab ich mich auch noch mal mit der Arduino Programmierung beschäftigen müssen, was ich auch gerne gemacht habe. Ich will damit nur sagen, hat man jemanden, der einem helfen kann, ist es deutlich leichter. Ich glaube, Conrad hat den Kalender wieder aus dem Sortiment genommen. Bin mir aber nicht ganz sicher, falls nicht, wünsch ich mir einen dieses Jahr.

  • jeden Tag neue Teile und eine neue Programmieraufgabe

    lass mich raten... das waren genau die erwähnten chinasensoren - abstandsmesser, der hausnummern misst, servomotoren, die schon im ruhezustand zuviel strom ziehen, höchst ungenaue winkel produzieren etc. - ich kenn das zeugs, und kenn auch die hübschen beispiele aus den bibliotheken.

    destawegen sagte ich auch "eine handvoll einfache bauteilchen und ein steckbrettchen". damit kann man nämlich einfache progrämmchen realisieren, den funktionsumfang des arduinos kennenlernen - digitale/analoge pins, als ein- oder ausgang, wie geht man damit um - schreiben/schalten oder abfragen/überwachen.. da reichen eine led, ein vorwiderstand und ein tipptaster, und für analoge pins noch ein 10K poti aus, und alles kombiniert - zack kann man auch gleich noch bedingungen im programm lernen - abfrage eines ereignisses, und reaktionen darauf programmieren. lässt sich später prima auf komplexere sachen anwenden und erweitern.

    und programmieren ist nun mal nicht klick&bunt, sondern fieser kryptischer code in texteditoren, mit gemeinen spitzfindigen syntaxvorgaben, hyperpingeligen und kleinkarierten compilern, die dauernd herummeckern etc... wer wirklich interessiert ist, der findet sich damit ab, und findet das noch nicht mal schlimm ;-)

    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

  • in jedem fall bleibst du im dunstkreis des browsers, der webseiten stecken.

    JavaScript an sich als auch das JavaScript "Eco-System" ist weitaus mehr als bloß ein Dunstkreis aus Browsern und Websites.


    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.

    Nichts für ungut und es keineswegs böse meine, bezüglich JavaScript scheint dein Wissen jedoch auf einem Stand vor ~10 Jahren stehengeblieben zu sein. JavaScript ist längst nicht mehr das "Kleinkind", welches nur im Sandkasten (Browser) mit Schippe und Förmchen spielt. Dank Runtimes, Frameworks und Bibliotheken wie Node.js, Angular, React, Vue (samt Nuxt) oder Electron auch außerhalb des Browsers zunehmend an Beliebtheit gewinnt. Egal ob Editoren wie Atom oder VS Code, ob Messenger wie Discord oder die Desktop-App von Spotify - in diesen Anwendungen mischt JavaScript mit.


    java, oder python - komplexer, als javascript, aber auch um längen vielseitiger und nicht ausschliesslich ans web gebunden.

    Dieser Aussage hätte ich damals noch zu gestimmt, sie ist aber inzwischen obsolet. Mittlerweile hat JavaScript mehr auf dem Kasten, als z.B. die "Manipulationen" des DOM's. Angefangen bei Client- oder Server-seitigem Gedöns im Webbereich, bis hin zu nativen und Plattform-übergreifende Applikationen. An Komplexität mangelt es bei JavaScript auch nicht, da die Einsatzmöglichkeiten längst deutlich vielseitiger sind.


    LG loeffla

    __ Keep on hacking! __

    MBP M2 (13", 2022): macOS 13.3 | MBP (13", 2013): macOS 13.3 | Lenovo ThinkPad T420s: macOS 10.13 / Arch Linux | Lenovo T420: Windows XP / 7

    HP ENVY 17: Arch Linux / Windows 10 | Workstation: Z590 Vision D, i7-11700K, Crucial 128 GB RAM, RTX 4070 Ti (WIP!) | Asus Vivo VM 60: (WIP!)

  • Dass JavaScript mittlerweile auch für vieles mehr verwendet werden kann heisst nicht, dass das eine gute Idee ist. JavaScript ist nun halt mal der Standard im Web, aber für mehr würde ich diese Sprache nie verwenden wollen (wenn überhaupt).


    JavaScript wurde schnell in 2 Wochen entwickelt, und das zeigt sich überall. PHP ist da genau so schlimm. Wieso dann eine schlecht designte Sprache noch dort verwenden, wo man gar nicht dazu gezwungen ist? Ohne statisches Typensystem ist jedes Grossprojekt eine tickende Zeitbombe in der Wartung. Das zeigt sich auch darin, dass die meisten neuen Scriptsprachen welche JavaScript ersetzen wollen statisch sind (TypeScript, Dart).

    • Apple Mac Studio | M1 Ultra | 64GB RAM | 1TB
    • PowerMac G5 | Dual 2GHz | 8GB RAM | GeForce 6800 Ultra DDL
    • AMD Ryzen 9 3950X | ASUS Strix X570-I Gaming | 64GB DDR4-3600 CL16 RAM | Corsair MP600 M.2 NVMe | Radeon RX 6900 XT | Phanteks Enthoo Evolv Shift | Custom Loop | MacOS 12 | OpenCore
      Ryzen MacPro | EFI | RadeonSensor | Aureal
  • bezüglich JavaScript scheint dein Wissen jedoch auf einem Stand vor ~10 Jahren stehengeblieben zu sein

    nö... kann man so nicht sagen. in der letzten zeit hab ich nix mehr mit web gemacht, das ist richtig, mir ist aber durchaus bewusst, das jscript nicht nur dort angewendet werden kann, und von den erwähnten frameworks hab ich auch schon läuten hören, das ein oder andere sogar auch mal ausprobiert, allerdings nicht weiter vertieft...

    hier geht es aber um den einstieg in programmieren allgemein, vorkenntnisse sind so gut wie nicht vorhanden. will heissen, von "spezialformen", frameworks etc. weit weit entfernt. um sich damit erfolgreich auseinandersetzen zu können, brauchts grundlagen (in bezug auf die frameworks z.b. javascript an sich beherrschen).

    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

  • mhaeuser Ganz einfach: Weil wir hier in einem Hackintosh-Forum sind und ich versucht habe, Möglichkeiten aufzuzeigen, die mit einem Mac kostenlos und unkompliziert auch von einem kompletten Anfänger genutzt werden können. Ich habe auch nicht Swift empfohlen, sondern Swift Playgrounds, weil man da nicht erst komplexe Syntax und APIs lernen muss, sondern rasch Erfolgserlebnisse hat. Ebenso Python nicht per homebrew, sondern Thonny - auch da wegen der einfachen Nutzung.


    Wenn man mal genügend Erfahrung gesammelt hat, kann man dann (abhängig von den eigenen Interessen) die passenden Sprachen, Frameworks und Werkzeuge wählen. Thread heißt aber "PROGRAMMIEREN LERNEN, WO MIT SOLLTE ICH ANFANGEN?" und nicht "Best ever Universal Programming Language wanted". Aber viele "alte Hasen" haben ihre ersten Schritte mit Commodore Basic oder Turbo Pascal oder gar Cobol und Fortran gemacht - sicher aus heutiger Sicht keine optimalen Sprachen, aber gerade die ersten beiden waren insofern "anfängerfreundlich" als man rasch Resultate sah.


    Zweifellos würde mein Fazit aber anders aussehen, sollte ich konkret für ein Projekt eine sinnvolle Toolauswahl empfehlen, wenn das programmiertechnische Grundwissen in einer oder mehreren Sprachen vorhanden sind.

  • hier wird immer wieder von "erfolgserlebnis" gesprochen, und in dem zusammenhang davon abgeraten sich mit

    komplexe Syntax

    etc. zu befassen. zum einen ist "komplexe syntax" nun mal ein charakteristikum von programmiersprachen, damit MUSS man sich auseinandersetzen, wenn man programmieren ernsthaft lernen will, und es könnte genauso eine böse enttäuschung sein, wenn sich erst mit klick&bunt die ersten erfolgserlebnisse "erkauft" wurden, und dann der "absturz" in form von syntax lernen müssen folgt.

    und warum ist es denn eigentlich kein erfolgserlebnis, wenn man das ergebnis eines selbst- (unter anleitung/ nach tutorial) geschriebenen codes - das funktionieren desselben im terminal - beobachten kann? weils nicht bunt ist und nicht wackelt? ;-)

    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

  • JavaScript ist nun halt mal der Standard im Web, aber für mehr würde ich diese Sprache nie verwenden wollen (wenn überhaupt).

    Ob, wann und wofür man selber JavaScript einsetzt und ob das letzten Endes eine gute Entscheidung wäre, ist ein Thema für sich. Mir ging hier vorrangig um die Aussage von grt , das JavaScript nur im Dunstkreis von Browsern und Websites eingesetzt wird. Weil dem nicht so ist, hier kurz ein paar Beispiele aufgezählt habe.

    JavaScript wurde schnell in 2 Wochen entwickelt, und das zeigt sich überall. PHP ist da genau so schlimm. Wieso dann eine schlecht designte Sprache noch dort verwenden, wo man gar nicht dazu gezwungen ist? Ohne statisches Typensystem ist jedes Grossprojekt eine tickende Zeitbombe in der Wartung. Das zeigt sich auch darin, dass die meisten neuen Scriptsprachen welche JavaScript ersetzen wollen statisch sind (TypeScript, Dart).

    Ich stimme dir in Teilen durchaus zu und hier JavaScript nicht als Eier-legende Wohlmilchsau anpreise. Ganz im Gegenteil - die Wahl der "richtigen" Sprache ist vorrangig vom Projekt selbst und dem eigenen Know-how abhängig. Natürlich gibt es Programmiersprachen, die Probleme mit sich bringen (können) oder selber erst mit dem Anspruch entstehen, etwas besser zu machen als andere Sprachen davor.

    nö... kann man so nicht sagen. in der letzten zeit hab ich nix mehr mit web gemacht, das ist richtig, mir ist aber durchaus bewusst, das jscript nicht nur dort angewendet werden kann

    Dass dir auch andere Einsatzmöglichkeiten bekannt sind, konnte ich aus deinem vorigen Post und der Aussagen so nicht herauslesen. Daher meine Kritik, das "JS" mehr als im Dunstkreis von Browser und Websites Verwendung findet. Meine Einwende also kurz geäußert habe, da der aktuelle Stand von JavaScript (ECMAScript) doch etwas anders aussieht.

    __ Keep on hacking! __

    MBP M2 (13", 2022): macOS 13.3 | MBP (13", 2013): macOS 13.3 | Lenovo ThinkPad T420s: macOS 10.13 / Arch Linux | Lenovo T420: Windows XP / 7

    HP ENVY 17: Arch Linux / Windows 10 | Workstation: Z590 Vision D, i7-11700K, Crucial 128 GB RAM, RTX 4070 Ti (WIP!) | Asus Vivo VM 60: (WIP!)

  • grt Ich gehe davon aus, dass du wenig Erfahrung in der Erwachsenenbildung hast? Es geht darum, Anfänger erst mal bei der Stange zu halten. Warum nutzen Leute Legosteine, wo man mit einer vernünftig ausgestatteten Werkstatt doch alles selbst und viel besser bauen und auch noch selbst konstruieren kann? (Gibt sogar Fernsehsendungen dazu: Lego Masters). Am Anfang hat man weder die Werkzeuge noch die Erfahrung. Später kaufe ich vielleicht eine Fräse, eine Drehbank oder einen 3D-Drucker und finde dann Lego eher primitiv. Aber eben erst später. Natürlich erlernt man irgendwann die vollständige Syntax, wenn das entsprechende Interesse geweckt und ggf ein eigenes Projekt vorhanden ist. Aber eben auch erst später.


    Zumal: wir reden bei Syntax doch nicht nur von den "paar" Anweisungen der Programmiersprache selbst (damit kriegst du doch heute nicht mal mehr eine Bildschirmausgabe hin, erst recht keinen Touch-Input), sondern auch die der tausenden API-Calls, Frameworks etc. Willst du jemanden vergraulen, dann zwingst du ihn, erst mal vier Wochen die Reference-Manuals der Sprache und der verwendeten Frameworks zu lesen, bevor er auch nur eine Zeile programmieren darf. Danach darf er als Neuling im kommerziellen Umfeld eine (!) Funktion in einem riesigen Programmkomplex überarbeiten (!), die ihm dann von der QS vier Mal zurückgeschmissen wird, bis sie akzeptiert wird. Wenn er dafür Geld bekommt, wird er das akzeptieren, aber dann ist er kein Neuling im Programmieren, höchsten in der Sprache, der Entwicklungsumgebung und/oder dem Projekt.


    Wenn es sich aber um einen Jugendlichen handelt, der das als Hobby macht? Da solltest du dafür sorgen, dass der schon nach ner Stunde, besser nach ein paar Minuten, die ersten kleinen Erfolge sieht. Und da gibt es keine QS oder einen anderen Coder im Team, die Feedback geben, sondern nur ein einsames "Error" wegen vergessener oder überzähliger Semikolons, Klammern, Gleichheitszeichen, Parameteranzahlen, falschen Typen o.ä. Wenn man dann auch noch mit Anwendungen aus einem Tutorial beginnt, die man abwandeln möchte, und die aus 200+ Zeilen bestehen, wird das schnell frustrierend.


    Nur weil jemand mit Lego oder Fischertechnik begonnen hat, heisst das nicht, dass er nicht heute Bandsägen, Schweißgeräte und Stehbohrmaschinen nutzt.

  • Ich gehe davon aus, dass du wenig Erfahrung in der Erwachsenenbildung hast?

    wie kommst du darauf?

    Da solltest du dafür sorgen, dass der schon nach ner Stunde, besser nach ein paar Minuten, die ersten kleinen Erfolge sieht.

    geht super mit dem erwähnten arduino. und hat sowohl code, als auch bunt. und ich werde niemanden dazu zwingen erstmal trocken zu fuss code zu lesen, aber ebensowenig werde ich mit hübsch&bunt einen ponyhof vorgaukeln, und verschweigen, dass auch im ponyhof der alltag mehrheitlich aus mistschippen besteht...

    und ja, ich hab erfahrung in der erwachsenenbildung, und versuche dort einen gesunden mittelweg aus trockenem formel- und syntaxkram und "anfassenkönnen" der ergebnisse dessen zu finden.

    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

  • Mit 14 ist man nicht erwachsen, man ist mit 14 ein Teenager und geht in die 8te oder 9te Klasse. Bei Mathe fängt man übrigens auch nicht mit Trigonometrie an, weil sie so schön ist, sondern mit banalen Zahlen.

  • Naja, eigentlich sehr banal gesagt. Wissensdurst ist doch keine Frage des Alters.

    Der TE zeigt sich hier im Forum doch sehr interessiert und für sein Alter doch recht kompetent in einigen Sachen und mit seinem Interesse dazu hat er meine volle Unterstützung.

    Ich finde es gut, dass er Interesse dafür zeigt. Es gibt viel zu viele Jugendliche, die Stundenlang (24/7) vor irgendwelchen Games sitzen, was letztendlich nach hinten raus nix bringt.

    In dem Alter habe ich lieber an Mädels rumgefummelt, was mehr Sinn machte und auch erste, aber damals noch geringe Erfahrungen mit Computern gemacht.

    Die Jugendlichen heute sind uns ohnehin weit voraus, im Vergleich zu damals.

    Es gibt ja auch Leute, welche in Deutsch eine Null sind/waren und trotzdem auf anderen Gebieten besondere Talente zeigen.

    Einige Nullen in der Schule sind heute Firmen-Chef's größerer Firmen, nur weil sie in einer Fachrichtung Talent gezeigt haben und Ideen hatten.

    Ideen kann man auch mit 14 haben.

    Hier im Thread ging es ums Programmieren lernen, womit man doch nicht früh genug anfangen kann, wenn man dafür Interesse zeigt.

    Was draus wird... ? ...kann ich nicht sagen, liegt ja an jedem selbst.

    Es ist auch erst einmal egal, welche Sprache man sich ansieht aus Interesse, es wird ohnehin nicht bei nur einer Sprache bleiben, denke ich.

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

    Real: MacMini M1: 8GB 32" LG 4k SSD 250GB + 1TB nvme USB-C + 1TB thunderbolt nvme macOS 14.4.1

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

    MacMini2014: i5 2,8GHz 16GB DDR3 Intel Iris 5100 23" Apple-Cinema 1TB NVMe / 1TB HDD macOS 13.6.6

    iPhoneSE 3.Gen 128GB: iOS 17.4.1 iPad Pro 9,7" WiFi 32GB: iPadOS 16.7.7 MacPro3,1 macOS 13.6.4 / 14.4

  • Ich werde wohl erstmal mit HTML anfangen, mein Plan ist also erstmal HTML und dann CSS und dann kann ich ja mal gucken.

    Einmal editiert, zuletzt von Max ()

  • Bei Mathe fängt man übrigens auch nicht mit Trigonometrie an

    das - aufs programmieren bezogen - hab ich auch nie befürwortet.

    guck dir mal das "blink" beispiel aus der arduino-ide an. ist supereinfach, trotzdem code, und (je nach led) auch noch bunt. und lässt sich schritt für schritt erweitern, und zwar so, dass variablen vorkommen, und auch der sinn davon selbsterklärend ist, funktionen, funktionsaufrufe und schleifen kann man unterbringen, parameterübergabe, evtl. sogar rückgabewerte, und all das in einfachem und übersichtlichem code, mit direkter rückmeldung vom steckbrettchen. das würde ich durchaus als

    mit banalen Zahlen

    anfangen beschreiben.

    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, eigentlich sehr banal gesagt. Wissensdurst

    Hier im Thread ging es ums Programmieren lernen, womit man doch nicht früh genug anfangen kann, wenn man dafür Interesse zeigt.

    True. Kenne einen der schon sehr früh damit angefangen hat, und jetzt in der Schule (bin 16) deutliche Vorteile gegenüber uns anderen hat, und vieles schon viel früher kann als andere, und auch Sachen kann die "wir anderen" vermutlich nie so lernen werden (außer man bringt es sich selbst bei, wozu aber viele kein Interesse haben(gibt viele mit der Einstellung "nur das nötigste" wobei für einige davon das noch zu viel ist..)). War schon am Anfang so, und ist es auch jetzt noch, dass der Sachen kennt, die andere noch nie gehört haben.


    Würde definitiv dazu raten früh mit programmieren anzufangen, egal ob du mal was in die Richtung machen willst, oder nicht. Max