Hi Chewie,
Programmiersprachen(konzepte) sind als Abstraktion von im speicherbefindlichen Anweisungen für eine CPU zu verstehen. Assembler abstrahiert von diese Maschinensprache, wie Assembpler mit Preoprozessoren von der konkreten Umsetzung wiederkehrender Idiome abstrahieren.
Prezedurale Programmierung beschreibt die Abstraktion und Zerlegung von ausführbarem Programmcode, letztlich der Maschinensprache. Die
Objektorientierung hingegen fasst Daten und Code als logische Einheiten zusammen.
Konstrukte wie Schleifen oder FAllunterscheidungen sind in puren, objektorientierten Sprachen überflüssig, weil von ihnen abstrahiert wird.
Code:
block := [:each | each print].
sequence := 1 to: 5.
sequence do: block.
bzw
Code:
1 to: 5 do: [:each | each print].
Dass sie letztlich in der Regel von einer iterativen Maschine abgearbeitet werden muss, ist mir klar.