Follow

Erzählt mir mal bitte Anekdoten aus der Zeit, als ihr angefangen habt programmieren zu lernen. Wie habt ihr euch gefühlt? Was waren Schwierigkeiten? Wie seid ihr trotzdem dran geblieben? Because I could really need some input rn to not quit.

Vielen Dank für eure ganzen Antworten! Ich werde mich die Tage da mal durchlesen.

Show thread

@alexshendi
Was ist apl. Hab Hauptschule qbasic. Meine Lösungen waren da aber immer zu kompliziert.
@teufelsweiblein

@1seidla @teufelsweiblein

Hallo,

APL ist ein Kürzel für "a programming language" und will zweierlei sein: 1. Eine Schreibweise für mathematische Ausdrücke, die klarer ist als die normale 2. Eine Programmiersprache die darauf aufbaut. APL Programme sehen so aus:
life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}
Das ist das Standardbeispiel, das meist verwendet wird, Conway's Game of Life.
Wegen dieser Schreibweise wird APL oft mit Hieroglyphen verglichen.

@1seidla @teufelsweiblein
2/2

Daher auch mein schnippischer Toot, für den ich um Entschuldigung bitte.
Weitere Details, falls es interessiert.
en.m.wikipedia.org/wiki/APL_(p
Der englische Artikel ist leider sehr viel besser als der entsprechende deutsche.
Auf YouTube gibt es eine Playlist mit einigen ganz interessanten Videos:
m.youtube.com/playlist?list=PL
Interessanterweise kommen mit APL manche Leute besser klar, als mit "konventionellen" Programmiersprachen.

@alexshendi @1seidla @teufelsweiblein an unserer Universität ist das die Bezeichnung für das Modul "Aussagen- und Prädikatenlogik".

@teufelsweiblein Am Anfang war das eine ziemliche Quälerei. Ein Mitschüler hatte mir C empfohlen. Das würde ich so nicht machen.

Aber ich empfand es als eine unheimliche positive Erfahrung, etwas zu tun und Ergebnisse zu sehen. Wie nach Stunden / Tagen frustrierter Bastelei etwas entsteht, das schön ist und funktioniert.

@chaosdaten Oh ja. C. Wochenlang Spielereien mit Pointern, bei denen das beste Ergebnis darin bestand, ein Programm zu haben, das etwas auf die Konsole schreibt, ohne abzustürzen. Aus didaktischer und motivierender Sicht extrem grenzwertig. Irgendwann hab ich für einen speziellen Use Case (damals mit Perl) ein ziemlich krudes Skript gebaut, das aber funktioniert hat. Das war ein völlig anderes Erlebnis... 🙂

@teufelsweiblein

@teufelsweiblein Bescheiden, insbesondere zu Studienzeiten, als Programmierung im Wesentlichen abstrakte praktische Kunst an abstrakten theoretischen Problemen war. Das wurde erst später besser, als die Aufgaben praktischer, die Lösungen "sichtbarer" wurden. Vielleicht hast Du Chancen (Praktikum, studentischer Job, ...), mit konkreten Problemen in Berührung zu kommen...?

@teufelsweiblein hab in meiner Ausbildung ein bisschen HTML gelernt, das war’s leider schon.

@teufelsweiblein ich bin sicher ein ganz schlechtes Beispiel, denn mir hat Knobeln, Logeleien, Puzzeln etc. schon immer Spass gemacht. Das Programmieren war daher genau das Richtige für mich, frustrierend, keine sofort Erfolge, Probieren so, so oder ganz anders...
Nach einer ganzen Weile hat es Spaß gemacht und dann war es wie bei einer Fremdsprache, manchmal träumt man darin...

@teufelsweiblein Puh, ich hab einige Jahre ziemlich schrecklich herumgemurkst. Ganz am Anfang noch so richtig schön mit Quickbasic. Mehr als ganz prozedurales "hallo welt" oder "wie ist dein name? hallo $name!" ging da nicht. Irgendwann dann Visual Basic 6.0. Versucht einen IRC client zu schreiben. MVC war mir ein totales fremdwort, hätte aber geholfen. Hat trotzdem irgendwie funktioniert. Spaghetticode. Dann mit Perl und Gtk dinge auf Linux getan. Totaler Spaghetticode. Ging trotzdem.

@teufelsweiblein Ganz viel Zeit mit HTML, CSS verbracht, ein bisschen PHP und MySQL, als das web 2.0 gerade hip und cool war. Ich hatte so viele potentielle SQL injections, wenn ich zurückdenke. Grauenhafter code. Aber die seite hat funktioniert. Ich habe damit sogar meinen ersten 400€ job bestritten! Nettes Taschengeld. Irgendwann dann tiefer in C eingestiegen, für Mikrocontroller. Mit AVR. Auf so absoluten Basics den grundlegenden Programmfluss gelernt. Wie RAM tut, was interrupts sind

@teufelsweiblein Auch da: ganz viel Spaghetticode. Grässlich. Irgendwann dann an der Uni mit Node.js in kontakt gekommen, weil im Kurs vorgegeben. Ganz viel gedacht "jo, jetzt kann ich's!" - als SHK dann gemerkt dass ich den ganzen async kram nicht wirklich gerafft habe. Hat aber trotzdem irgendwie funktioniert.

Nächster SHK Job: erstmal ganz viel systemadministration. Und dann Python & Django, mit klarem Ziel, klaren Vorgaben was ich tun muss. Strukturiert. Git.

@teufelsweiblein inzwischen glaube ich dass ich grob weiß, was ich kann, und was ich nicht kann. Nach wie vor: funktioniert irgendwie. Schöner geht immer.

Wichtige Lektion: Ich bin viel gewandert, habe viel probiert. Hatte fast nie einen wirklichen Plan. Am Ende hatte ich trotzdem ergebnisse. Oftmals schlecht, manchmal cool. Wichtig war immer: Ich blieb dran. Habe immer wieder hier und da ein kleines bisschen dazugelernt. Und auch wenn's Ergebniss immer jenseits von Perfekt war, hat's gereicht.

@teufelsweiblein Von daher: Bleib dran! Such dir ein konkretes Problem, versuch es zu lösen. Bleib auch mal eine Zeit länger bei einem doofen Weg. Ich habe oft immer wieder alles übern haufen geschmissen, viel zu oft. einfach mal dran bleiben, bis zum bitteren ende durchexzerzieren, und danach wirklich wissen wieso es doof war. und dann beim nächsten mal besser. :)

@teufelsweiblein ich erinnere mich noch an die erste Schwierigkeit als ich eine Weile brauchte um zu verstehen wie man schleifen verschachtelt. Wesentlich später brauchte ich dann eine Weile um rekursion zu verstehen.

@teufelsweiblein Ich war erst 11, hab mit Basic angefangen, und hatte überhaupt keine Ahnung, was ich da wirklich tue. Aber gerade weil ich so jung und Computer was relativ seltenes waren, hat es auf mich eine unfassbare Faszination ausgeübt, dieser Maschine Befehle eingeben zu können, und die hat das dann abgearbeitet. Ich weiß noch wie stolz ich war, als ich ein ganz simples tic-tac-toe Programm gebaut hatte, das so gut war, dass man dagegen nicht mehr gewinnen konnte.

@teufelsweiblein Ich weiß von einigen, die diese Form von Nostalgie in PICO-8 wieder finden. Vielleicht wäre das auch für dich interessant, dir das mal anzuschauen. Oder ansonsten einfach mal was kleines zu schreiben, nur weil du da Spaß dran hast, ohne druck, dass das fertig werden muss oder nachher von irgendwem bewertet wird.

@teufelsweiblein Und wo wir gerade dabei sind, bis ich so 19, 20 rum war, hatte ich immer das Gefühl, dass ich da einfach zu blöd für bin, dass so richtig Software entwickeln was für die ist, die einfach schlauer sind als ich. Arbeite mittlerweile seit ziemlich genau 20 Jahren in der Industrie und kann mir nichts anderes mehr vorstellen.

@teufelsweiblein nachdem mir @eichvat3r 2003 einen computer mit linux zu weihnachten geschenkt hat war ich frustriert weil es dafür keine guten spiele gab deshalb wollte ich mir meine eigenen schreiben und habe mir deshalb ein buch über C in der bücherei ausgeliehen und habe die listings abgetippt und war happy als es irgendwie funktioniert hat

hat zwei jahre gedauert bis ich dann mit SDL ein erstes kleines spiel programmiert habe das nach heutiger betrachtung nur etwa 500 memory leaks enthält

@teufelsweiblein ich glaube warum ich trotz der frustration immer dran geblieben bin war weil ich immer irgendein konkretes projekt vor augen hatte was ich unbedingt programmieren wollte

mit 16 wollte ich zB unbedingt ein RPG programmieren aber so richtig ist das nie fertig geworden doch das liegt einfach nur daran dass ich mir keine geschichten ausdenken kann und ein RPG ohne geschichte ziemlich langweilig ist

@teufelsweiblein
@eichkat3r ich bin sehr stolz auf dich mein sohn weil du es geschafft hast dir das alles ganz alleine beizubringen :eichkat3r:

ich bin gespannt was die zukunft noch alles für dich bringt vielleicht arbeitest du mal bei SAP oder einem anderen großen EDV unternehmen

@teufelsweiblein Es macht mir Spaß, Probleme zu lösen und das ist wie mit Strategiespiele. Es gibt eine Lösung und dann wird probiert welche das ist.

Wir durften damals Assambler lernen, ohne Editor und direkte Eingabe in die Speicher. Das bedeutete auch, hast du dich verzählt/verrechnet, musstest du komplett noch mal neu anfangen.

Es hat nicht immer Spaß gemacht aber doch wieder schon, vor allem wenn es dann lief wie gewollt

@teufelsweiblein Anstatt von Fantasygeschichten habe ich angefangen abends Dokumentationen zu lesen. Und am nächsten Tage wurde dann ausprobiert.

Schwierigkeiten gab es viele, dank Suchmaschinen ist es mittlerweile aber wesentlich einfacher.

Der beste Tipp den ich geben kann: Dokumentationen und Source Code lesen. Das bringt einen schneller ans Ziel als hunderte Antworten von Stack Overflow durchzuprobieren.

Dran geblieben bin ich aus Neugier. Jetzt entwickle ich Software für die Industrie.

@teufelsweiblein Und natürlich macht es unglaublich viel Spaß zu sehen, wenn die eigenen Programme laufen. Vor allem, wenn man Services schreibt, die dann auch mal länger laufen sollen/müssen.

Irgendwann entwickelt man dann auch einen Blick für potentielle Probleme/Fehler, und vermeidet diese gleich zu Anfang. Später kommt dann ordentliches Softwaredesign hinzu. Und irgendwann dann auch Unit Tests, CI/CD, etc.

Nur schade, dass ich damals #Git noch nicht kannte. Das sollte jeder verwenden :)

@teufelsweiblein Ich war ständig überfordert und fühlte mich zu dumm. Speziell, als ich mit C angefangen habe, hat mich die Zeigerarithmetik total in den Wahnsinn getrieben. Dranbleiben. Irgendwann fällt jeder Groschen. Und kleine Erfolgserlebnisse motivieren immer.

@teufelsweiblein Ich war 14 und hatte einen krachneuen Schneider CPC 464. Programmiersprache: Basic. Da ich in Mathe eine Niete war, schrieb ich mir in tagelanger Arbeit ein Programm, das mir bei den Hausaufgaben helfen sollte. Hat tatsächlich funktioniert. Später dann schrieb ich mir kleine Baller-Computerspiele selber. Irgendwann war der Rechner veraltet, ich hatte kein Geld für einen Neuen, das wars mit meiner Programmierer-Karriere. ;-)

@teufelsweiblein Einstieg (in C) fühlte sich so an, als ob ich orientierungslos ins eiskalte Wasser geworfen worden wäre: "Wieeee, woooo, warum? Wieso? Warum geht das so? Wieso brauche ich das?".

Programmieren hat vielleicht etwas von einem Puzzeln, bei dem du am Anfang das fertige Motiv noch nicht kennst: An Anfang komplett orientierungslos, und mit der Zeit fallen immer schneller die Puzzleteile an die richtige Stelle, sobald du Schemata wiedererkennst.

@teufelsweiblein ich hatte keine Angst Fehler zu machen, weil ich ein Projekt hatte (eine Website) das mir zwar super viel Spaß gemacht hat, aber das mir, außer meiner intrinsischen Motivation, es hinzubekommen, keinen Druck gemacht hat.

@teufelsweiblein ich habe alleine an einem Spiel gewerkelt das ich mit einer handvoll Freunden aus der Schule gespielt habe. Das hat mich sehr motiviert.

@teufelsweiblein Bei mir hat es ingesamt 4 Anläufe gebraucht.
Mit ca 11, bei einer Freundin, kein eigener Rechner, kein Internet, keine Doku. Lustiges Befehle und Syntax raten.
Mit 15, es gab einen Familienrechner, immer noch kein Internet, keine Doku und der Cousin meinte "Am besten lernt man C". Oder auch nicht.
Mit ca 24, mit einem Freund, der es konnte, ein gemeinsames Projekt in JSP. Die einfachen Sachen, um das ganze drumrum hat er sich gekümmert.
Und dann mit 35.

@teufelsweiblein Da hab ich mich eines Abends hingesetzt und angefangen. In Perl. Am nächsten Morgen stand das erste alleine geschriebene Programm, das was sinnvolles tat. Dann noch ein bißchen privat vor mich hinprogrammiert und dann kam beruflich ein Javascript-Projekt vorbei, das ich stemmen konnte (ich war damals in der Firma die Zuständige für Design, HTML, CSS). Und ab da war dann auch genug Zeit, um hauptberuflich Programmieren zu lernen.

@teufelsweiblein Entscheidend beim 4. Anlauf war: Herangehensweise total kleine Schritte. Man zerlegt alles in winzige Teilprobleme und löst die schön eins nach dem anderen. Testen, läuft? Dann nächster Schritt.

Viele Anfänger schreiben zig Zeilen Code, lassen das laufen und ertrinken dann in Fehlermeldungen, ohne einen Plan zu haben, woran es liegt.

Später werden die Schritte dann größer, aber das Vorgehen bleibt gleich.

@teufelsweiblein ich fand's lange echt schwierig und bin auch heute noch nicht überragend, hab aber irgendwann Dinge entdeckt, die mir Spaß gemacht haben (in meinem Fall Sysadminkram mit bash und Python). Dadurch kam dann auch die Motivation mich weiter damit zu beschäftigen und besser werden zu wollen.

@teufelsweiblein ich war 9 und hatte dyskalkulie und einen c64. Mit Basic habe ich angefangen mir Programme zu schreiben die mir beim Rechnen halfen und mir Arbeit abgenommen haben. Hab Diverse Formeln aus meiner „Formelsammlung“ implementiert damit ich nur noch die Zahlen eingeben musste und der Computer hat für mich gelöst. Hab’s verwendet um meine Ergebnisse zu überprüfen, weil Rechenweg musste ja dastehen...

@teufelsweiblein Hab mit HTML/CSS angefangen, bin dann über jsp und aspx ins Programmieren gewandert, hab Java und C# gelernt. Aber meine große Liebe ist JavaScript/TypeScript/React geworden, weil ich gern was zum Angucken hab, wenns fertig ist und weil das Endprodukt meistens auch für andere direkt erfahrbar ist.

@teufelsweiblein Ich dachte ewig lange, ich werde es _nie_ lernen! Ich sag immer, Programmieren ist ne manisch-depressive Angelegenheit. Man braucht viel Frustrationstoleranz, aber wenn mal was klappt - was für ein großartiges Gefühl! Auf jeden Fall nicht aufgeben, durchbeißen! Scheitern und Zweifeln gehört zum Geschäft und ist nichts, wofür man sich schämen muss.

@teufelsweiblein Ich hatte ein Basic buch, das zu jedem Befehl eine Seite mit einem kurzen Beispielprogramm hatte, das hab ich abgetippt.

Weil ich kein english konnte musste ich mir seltsame Namen merken, die keinen Sinn ergaben.

Die Fehlermeldung des Computers war "SYNTAX ERROR?" was so gut wie alles bedeuten konnte. Für mich hiess es nur 'geht ned'.

Nach und nach hab ich angefangen Spiele zu schreiben. Kleine.

Warum der ganze Stress? Weil ich machen konnte, dass der Computer eine Tonleiter spielt, weil ich mir Spiele selber basteln musste, weil ich einen drecks Toshiba T1000 hatte, der nur GW Basic auf floppy hatte und keine 1000 Spiele wie meine Freunde mit ihrem C64/Amiga...

@teufelsweiblein Falls du dir die Mühe machen willst das aufzuschreiben, wäre ich übrigens sehr an deiner Sicht der Dinge interessiert. Ich hab schon mehrere Workshops für jugendliche Programmieranfänger gegeben und wäre auch an Erwachsenenbildung interessiert. Nach dem, was ich bisher gesehen und gehört habe, ist es da aber allgemein viel schwieriger, die Motivation hoch zu halten.

@teufelsweiblein Noch mein Senf dazu: Ich hatte den Vorteil, dass mein Vater schon Coder war und er bei mir die Begeisterung schon früh (mit 10? => Pascal ^^) geweckt hat. In der Ausbildung - ein Studium war mir "zu viel Schule" - war es wie bei anderen; abstrakte Probleme die keinen wirklichen SInn gemacht haben aber programatisch gelöst werden sollten; Ich habe mir dann einfach eigene Projekte aufgehalst :) das hat super funktioniert um wirklich was (damals C++) zu lernen.

@teufelsweiblein

Ich finde projecteuler.net/ toll, weil das so kleine isolierte Probleme sind, die man loesen kann. Aber die dauern nicht so lang, d.h. man ist da auch nach einiger, weniger zeit fertig.

Aber auf der anderen seite lernt man da nicht wirklich ordentliche Softwareentwicklung. Wie ich das gelernt habe? Bei einer tollen firma arbeiten, die gute softwareentwicklung kann. (hatte die damals ueber einen groesseren podcast gefunden, bei denen die sponsor waren)

@teufelsweiblein

Aber selbst auf der Arbeit ist das manchmal so, dass ich frustriert bin weil ich mich "irgendwie nicht so recht traue" ordentlich zu debuggen.

D.h. ich probiere printf() debugging & ein bisschen mit dem debugger durch den code steppen. Aber wenn man an 200k zeilen code projekten arbeitet, ist dass auch etwas frustrierend. Und naja, ich denke ich waere gebildet genug um das ordentlich durchzusteppen und solange zu suchen bis ich die loesung gefunden bzw das problem verstanden

@teufelsweiblein

hab. Aber sehr haeufig frag ich davor schon um hilfe und denk mir im nachhinein "joa, das war jetzt auch nicht so schwer, da haette ich selbst gut drauf kommen koennen". aber es ist schon ein bisschen besser geworden.

Entscheidend fuer mich, als narzist, ist da die kollegiale Reaktion. Ich hab da schon wegen wirklichen trivialitaeten um hilfe gefragt und wurde da nicht ausgelacht dafuer. Das ist toll, da kann man super lernen.

@teufelsweiblein

Gleichzeitig lernt man aber auch bestimmte leute einfach nicht zu fragen, weil man weiss dass die einen belaecheln wuerden.

Sign in to participate in the conversation
Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!