Wie funktioniert eigentlich dieses Programmieren? Um das zu verstehen, besuchen wir den berühmt-berüchtigten Programmierer Andreas Bogk.
Andreas bereitet uns schon seit Jahren Kopfschmerzen mit allerhand Technik-Kram, Vorträgen, Podcasts und Bier. Ziemlich gutem Bier.
Andreas erklärt uns, wie genau ein Programm geschrieben wird, was man dafür braucht und was dabei beachtet werden muss. Wir besprechen, wie die verschiedenen Arten und Weisen, beziehungsweise Paradigmen heißen und was sie bedeuten. Außerdem lernen wir ein wenig, was für Programmiersprachen es gibt, versuchen uns abermals am Turing-Vollständigkeits-Dings und verstehen endlich wieso wir immer ausgelacht werden, wenn wir behaupten, dass wir “nur ein bisschen HTML programmieren” können.
Mit dabei ist Claudia im Nebenzimmer mit einem sensationellen 5-fachen Nieser und Andreas riesiger Kühlschrank, der im Hintergrund mitbrummt.
- Andreas Bogk auf Twatter
- “Sex, Drugs & Compiler Construction”
- Andreas’ Vortrag auf dem 30C3: Bug Class Genocide
- Chaos Radio Express mit Andreas über Bier
- Andreas erster Computer aus der Reihe KC 85
- BASIC Programmiersprache
- Zum Programmieren braucht man einen Editor
- Compiler nehmen den kompletten Code und machen einen Programm draus,
- der Interpreter liest Programmtext und führt ihn Zeile für Zeile aus, ohne ein eigenes Programm daraus zu machen
- Flappy Bird, das Spiel – kann man mal nebenbei programmieren, 2048 auch.
- Github ist ein Versionskontrollsystem (führt zu “Versionsverwaltung”)
- “i/o-Möglichkeiten” – i/o steht für Input und Output
- Das RGB-Farbsystem in HTML
- Imperative Programmierung: Tu dies und tu jenes, auf diese Art und Weise. Zum Beispiel C, Fortran…
- Logik-Programmierung: Ein Buffet besteht aus x und y, man “beschreibt”, wie die Lösung auszusehen hat, der Compiler wiederum baut daraus Instruktionen
- Funktionale Programmierung: Eine Funktion nimmt einen Input, berechnet eine Lösung und gibt sie aus, was es einfacher macht, darüber nachzudenken und vermeidet Knoten im Hirn. Sie ermöglicht, lokal zu unterscheiden, ob eine Funktion richtig ist oder nicht – mit lokalen Funktionen.
- Von zuviel funktionaler Programmierung kriegt man Monaden. Eine tropische Krankheit.
- Objekt-Orientierte Programmierung: Der Versuch, das mentale Modell, das der Mensch von seiner Umwelt hat, in Programmiersprachen abzubilden, u.A. um das Denken zu erleichtern. Zum Beispiel: Apfel und Banane sind eine “Frucht” oder auch etwas, was “man kleinschneiden kann” – Beides sind Modelle, die uns erlauben, damit sinnvoll zu arbeiten. Das “Etwas Sein” ist die Beziehung zwischen Superklasse und Klasse. Und wenn plötzlich eine Quitte auftaucht, ist sie einfach ebenfalls eine “Frucht”. Wobei das sehr umstritten sein dürfte.
- Assembler Sprache
- Der Heartbleed Bug erklärt in xkcd
- 99 Bottles of Beer in verschiedenen Programmiersprachen
- Die langweiligere Variante: “Hello World” in verschiedenen Programmiersprachen
- Skriptsprachen: Man muss sich nicht um Speicherverwaltung kümmern, die ist nämlich automatisch. Außerdem haben sie eine sogenannte “Dynamische Typisierung”. Beispiele sind Python, Shell… und sie heißen Skriptsprachen, damit man sie Skript nennen kann. Hm!
- C++ ist eine objektoriente Programmiersprache und eine Erweiterung von C
- Aus der Abteilung funktionaler Programmierung kommt z.B. Haskell
- Prolog – aus der Logik-Programmierung
- Whitespace und Dog aus der Quatsch-Programmierung
- HTML is not a Programming Language
- “Turing-Vollständigkeit” – tl;dr please?
- SQL ist auch keine Programmiersprache, sondern eine Datenbankabfragesprache
- Schach auf Wahlcomputern
- Video einer Turing-Maschinen-Imitation
- “Python for Kids”
- Turtle Graphics
!!!!!!!!!!!!!!!!!!!!Werbung!!!!!!!omg!!!!!!!!!!!!!!!!
- Looking into Black Boxes – unser Crowdfunding-Projekt für eine Webserie über Algorithmen. Wir brauchen noch
knapp 600€etwa 550€ und haben noch 7 Tage übrig! - Quelltextlesung, Nr. 1 und Nr. 2 – nächste Folge am Besten via Twitter unter #quelltextlesung verfolgen