Cover-Art für: Schlüsseltechnologie

Schlüsseltechnologie #33 vom 2. März 2023

Programmiersprachen

In dieser Episode wird die Antwort auf die Frage geliefert, warum wir Dinge wie Programmiersprachen brauchen, und vor allem, warum so viele. Es werden mal wieder starke Meinungen geäußert und es gibt einen zweiten Prolog in der Mitte der Episode. :) Außerdem dabei: Linguisten, automatisierte Textilbearbeitung und unsichtbarer Programmcode.

Länge: 97:14 Minuten

 
00:00 Intro und Prolog
 
02:55 Sprachen in Literatur und Film
 
05:19 Formale Sprachen und Compiler
 
18:43 Frühe Programmiersprachen
 
21:04 Erste Anwendungen von Programmierbarkeit
 
28:00 Beispiel: Fibonacci-Funktion
 
38:53 Programmiersprache vs. Maschienensprache
 
52:06 Arten von Programmiersprachen
 
52:35 imperative Programmierung
 
54:06 strukturierte Programmierung
 
54:58 modulare Programmierung
 
57:55 objektorientierte Programmierung
 
60:02 logische Programmierung
 
65:45 funktionale Programmierung
 
69:10 Beispiel für Haskell
 
79:27 reaktive Programmierung
 
86:19 esoterische Programmiersprachen

Download

Shownotes

unsigned int fibonacci(unsigned int x) {
    if (x == 0 || x == 1) {
        return x;
    }
    return fibonacci(x - 1) + fibonacci(x - 2);
}
fibonacci(unsigned int):
    push    rbp
    mov     rbp, rsp
    push    rbx
    sub     rsp, 24
    mov     DWORD PTR [rbp-20], edi
    cmp     DWORD PTR [rbp-20], 0
    je      .L2
    cmp     DWORD PTR [rbp-20], 1
    jne     .L3
.L2:
    mov     eax, DWORD PTR [rbp-20]
    jmp     .L4
.L3:
    mov     eax, DWORD PTR [rbp-20]
    sub     eax, 1
    mov     edi, eax
    call    fibonacci(unsigned int)
    mov     ebx, eax
    mov     eax, DWORD PTR [rbp-20]
    sub     eax, 2
    mov     edi, eax
    call    fibonacci(unsigned int)
    add     eax, ebx
.L4:
    mov     rbx, QWORD PTR [rbp-8]
    leave
    ret
module Primes where

isPrime :: Int -> Bool
isPrime x = all (\y -> mod x y /= 0) $ takeWhile (\y -> y * y <= x) primes

primes :: [Int]
primes = 2 : filter isPrime [3..]

Audioquellen in Abspielreihenfolge (soweit nicht gemeinfrei)