Prolog:
Weil Weihnachten gleich wieder vorbei ist, veröffentliche ich diesen mir wichtigen Artikel, obwohl er noch unfertig ist. Ich werde die Weihnachtsfeiertage nutzen, ihn perfekter zu machen.
Gestern war Heiligabend. Ich habe vergessen, Weihnachtsgrüsse zu schreiben, weil meine Gedanken im neuen Jahr waren.
Frohe Weihnacht!
Über Zahlen, Ziffern, Unendlichkeit und Null zum Programmieren!
Die beiden sehen doch aus wie zwei Nerds. Nerds mag ich.
Ich bereite sein Tagen (gedanklich seit Wochen und Monaten einen Vortrag zur Digitalisierung vor. Da habe ich festgestellt, wie das Unwissen – nicht nur – über Digitalisierung in den Köpfen der Verantwortlichen ist, die die Gesellschaft organisieren sollen/wollen (genannt Politiker). Das Ignorieren von Fakten scheint auch bei der Digitalisierung vorsätzlich zu sein. Das hat mich erschüttert, weil Digitalisierung wichtig ist.
So unternehme ich zur Jahreswende einen kleinen digitalen Spaziergang und beginne mit den Zahlen.
Ich freue mich auf das Jahr MMXX. Hier in römischer Notation aufgeschrieben. Einer zwar pfiffigen aber letztendlich sehr unpraktischen Methode, Zahlen zu notieren. Allerdings hat sie zwei Vorteile: Zahlen sind ihr folgend für das menschliche Gehirn einfach zu bauen. Und es ist schwierig, große Zahlen zu notieren. Das ist gut, weil der Mensch große Zahlen eh nicht begreifen kann. Ansonsten hat die gute alte römische Methode nur Nachteile; eine effiziente algorithmische Verarbeitung von Zahlen dürfte mit ihr nicht möglich sein.
À propos große Zahlen – da kommen wir schnell ins UNENDLICHe. Und sind dann auch sofort bei der NULL. Null und endlich habe ich schon als Kind nicht verstanden. Kein Wunder, sie sind ja auch schwer zu begreifen. Vielleicht gibt es beides gar nicht! Ich beschreibe NULL und UNENDLICH, wie ich sie mir vorstelle. Dazu nutze ich in das Dezimalsystem, das in unserer Kultur herrscht.
UNENDLICH
Ich wähle ein Hilfskonstrukt und starte mit der EINS. Die schreibe ich im dezimalen System als 1,0 auf. Und schiebe jetzt Nullen von rechts über das Komma (oder den Punkt). So dass eine Folge von 1.0 10,0 100,0 1000,0 … entsteht. Damit mache ich EWIG weiter. Und komme so dem UNENDLICH immer ein wenig näher, aber erreiche es nie. Falls das EWIG nicht funktioniert, dann gibt es das UNENDLICH nicht. Die klugen Mathematiker haben deshalb den Begriff des Grenzwerts (limes) genutzt. Unendlich wird als lim ∞ notiert.
Null
Mit der Null machen wir es ähnlich. Wir drehen das 1.0 um und machen 0,1 draus. Und schieben jetzt die Nullen von links über das Komma (oder den Punkt). So dass eine Folge von 0,1 10,0 100,0 1000,0 … entsteht. Damit mache ich EWIG weiter. Und komme so der NULL immer ein wenig näher, aber erreiche sie nie. Auch hier gilt: Falls das EWIG nicht funktioniert, dann gibt es die NULL nicht. Die Mathematiker nutzen auch hier den Begriff Grenzwert (limes) . Unendlich wird als lim 0 notiert.
Gibt es die NULL und UNENDLICH eigentlich in der Natur? Wie GERADEN, QUADRATE, KREIS und KUGELN. Alles natürlich in perfekt? Diese Frage, hat mich schon als Kind beschäftigt. Aber wie ich Mathematik studiert habe, habe ich aufgehört drüber nachzudenken.
Wenn wir meine beiden Null-Schiebereien jetzt einem Kreis schalten könnten, kommen wir dann vielleicht sogar bei gekrümmten Raum an. Null und endlich in einem Zahlenband angesiedelt mit sich in verschiedenen Richtungen drehenden Nullen?
Vielleicht hilft ein philosophische Scherzfrage beim erörtern von NULL und UNENDLICH: Die soll ein Witz sein, an dem Witz schon Freundschaften zerbrochen sind. Der geht so:
Wie groß ist der Umfang der Insel England.
Die Antwort ist dann
UNENDLICH!
Mit der Begründung:
Man müsse bei jedem weiterem Vermessen des Umfanges nur den Maßstab verkleinern (also immer eine Null von links reinschieben) und der Umfang würde immer länger werden.
Dankt mal drüber nach. Aber denkt an mine Warnung, wenn Ihr den Witz Eurer oder Eurem Liebsten erzählt:
{Null, Eins, Zwei, Drei, Vier, Fünf, Sechs, Sieben, Acht, Neun}
Man schreibt Konrad Zuse die bahnbrechende Erkenntnis zu, dass “elektrische Rechenmaschinen nur auf der Basis von binären Zuständen arbeiten können”. Sie verwenden binäre Zahlensystem mit nur 2 Ziffern:
{Null, Eins}.
So wurde im 20. Jahrhundert binäre Zahlensystem und das BIT geboren. Man kann jede Zahl in einem binären wie dezimalen und x-beliebigen beschreiben. In der Mathematik nennt man das einen bijektiven Homomorphismus , der zwischen all den verschiedenen Notationen gültig ist.
Ich persönlich musste mich in meinem Programmierleben neben digital und dezimal auch noch mit dem oktalem und sedezimalen (auch hexasedezimal genannten) System auseinandersetzen:
Im oktalen rechnen wir mit 8 Ziffern:
{Null, Eins, Zwei, Drei, Vier, Fünf, Sechs, Sieben, Acht, Neun}
Im sedezimalen rechnen wir mit 16 Ziffern und ergänzen die 10 Ziffern und 5 Buchstaben:
{Null, Eins, Zwei, Drei, Vier, Fünf, Sechs, Sieben, Acht, Neun, A, B, C, D, E, F}
Das lag daran, dass Zahlenfolgen wie folgende für uns Menschen schwer zu lösen sind. Man hat also je nach Hardware Worte mit fester Wortlänge gebildet. Die war sechs oder acht. Die Halbworte wurden Bytes (so hatten diese 3 oder 4 Stellen. Hier im Beispiel an einem “Kette” (String) von 24 Bits :
100010101100011110101111
(24 Bits in unstrukturierter binärer Anwendung)acht
100 010 101 100 011 110 101 111
(Dieselben 24 Bit für bessere Lesbarkeit in Dreierbytes notiert)
1000 1010 1100 0111 1010 1111
(Dieselben 24 Bit in Viererbytes aufgeschrieben)
42 54 36 57
(Dieselben 24 Bit für bessere Lesbarkeit oktal notiert)
8A C7 AF
(Dieselben 24 Bit sedezimal notiert)
Übungsaufgabe:
Jetzt rechnet mal aus, welchen Wert die 24 Bit in dezimale Schreibweise beschreiben.
Tipp:
Es muss immer derselbe Wert herauskommen.
Ein kleiner Seitenhieb auf meinen ehemaligen Arbeitgeber Siemens sei mir hier erlaubt. Ich habe in meinem Labor bei WS ST DF 131 an Transdata Rechnern mit einem 6-Bit-Wort-Rechenwerk und an Mainframes (BS1000, BS2000) mit einem 8-Bit-Rechenwerk gearbeitet.
D.h. die Speicherabzüge (Dumps) kamen als oktale oder sedezimale Ausgedrucke. Das Umrechnen der Zahlenwerte zwischen binär, oktal, dezimal und sedezimal war mühsam und zeitaufwändig.
Aber da gab es ein kleines elektronisches Helferlein von Texas Instrument für Programmieren, den TI Programmer. Diese Wundermaschine kostete zirka 650 DM und fraß ganz schön viel teuere Batterien (Akkus hatten damals noch nicht die Kraft). Das war ein Drittel meines Gehalts. Da die Siemens AG ihren Programmieren dieses Gerät nicht als Arbeitswerkzeug zur Verfügung stellte und uns dafür mit Druckbleistiften ausstattete, habe ich ihn mir privat gekauft und wurde so gerade beim Dump-Lesen und Fehlersuchen wesentlich produktiver.
Meine damalige Lebensgefährtin und heutige Ehefrau, die Barbara, fand das sicher nicht so toll. Und war mir wohl auch deshalb nicht böse, wie ich ein paar Monate meinen sichern Arbeitsplatz bei Siemens inklusive den zum Teil schon erworbenen Anspruch auf Betriebsrente aufgab. So hat doch wieder alles sein Gutes.
Aber noch ein bisschen “Geschichte des Programmierens”. Algorithmen wurden früher von mechanischen Konstruktionen abgearbeitet. Da der “algorithmische” Hardware war, die sich nicht verändern konnten, waren diese Automaten immer auf spezifizierte Aufgaben beschränkt.
Auch bei den Programmen, die auf”elektrischen Maschinen” galt lange die strenge Regel, dass der Programm und Daten streng getrennt werden müssen und um alles in der Welt vermieden werden müsse, dass das Programm verändert. Erst als mutige junge Programmierer zum Ende der 1950iger es wagten, bei Bedarf Teile des Programm zu überschreiben, “öffnete sich die Büchse der Pandora und der universelle Rechner wurde möglich”.
So hat es der leider schon verstorbene Professor F.L .Bauer, bei dem ich 1969 die erste Vorlesung Informatik an der TUM gehört habe, bei seinen Führungen für mich und meine Freunde im Deutschen Museum formuliert.
Zusammengefasst muss man wissen, dass ein jedes Programm letzten Endes nur eine großes Bitmuster ist. Theoretisch also nur eine Zahl. Das in einer Programmiersprache kompliziert beschrieben wird. Das bedeutet in letzter Konsequenz, dass viele Zeilen komplizierten Quellcode mit dem dahinter stehenden noch komplizierteren Überlegungen nur einem einzigen Zweck dienen – eine Zahl zu definieren.
In der Zeit, in der wir HIT/CLOU mit einem Aufwand von “Mann/Frau-Jahrhunderten” entwickelt haben, haben meine Kollegen oft gescherzt. Wie schön wäre es, wenn man einen Zufallsgenerator hätte, der alle Zahlen generieren könnte und ein System, dass ausprobiert, welche Zahl das perfekte und fehlerfreie Textsystem realisieren würde.
Das ist natürlich unmöglich. Wobei die bitcoin-Leute mit ihrer blockchain ähnlich vorgehen. Sie erstellen den “proof of work” der der “Versiegelung der Blöcke” dient, in dem sie Schlüssel, die besonderen Kriterien genügen müssen, würfeln (per Zufall generieren) und austesten, ob einer der Schlüssel zufälliger weise passt. Es dauert natürlich oft sehr lange, bis man mit diesem “Algorithmus” einen passenden Schlüssel findet. Das Ganze nennen sie “mining” und verbrauchen dafür den vielen Strom.
Unser Programm, dass große Bitmuster, muss leben und sich im Betrieb dynamisch verändern können, um seinen Zweck zu erfüllen. Das ist auch der Grund, warum es eine hundertprozentige Datensicherheit nicht geben kann. Vielleicht ist das sogar gut so, den IT hat den Zweck, Wissen zu teilen und für Transparenz zu sorgen. Und nicht Wissensmauern auf zubauen.
So geht DSGVO in die völlig falsche Richtung. Sie erhöht die Aufwände und bremst technologische Entwicklungen.
Heute ist die IT zum Büttel der Überwacher und “Geheimhalter” geworden. Die DGSVO macht die Geheimhaltung zum Gesetz und bestraft Verstöße mehrfach strenger als Verstöße gegen das Betriebsverfassungsgesetz.
Sie schützt uns aber nicht vor der Überwachung durch staatliche Instanzen. Im Gegenteil die sind bei uns mittlerweile verpflichtend. Auf meiner Südamerika-Reise kurz vor Weihnachten habe ich gelernt, wie schnell eine Demokratie abrutschen kann. Und das uns das nicht mehr passieren kann, beruht auf Nichtwissen und dummer Arroganz.
Das Internet ist das wertvollste Werkzeug der Menschheit. Wenn unsere Probleme überhaupt noch lösbar sind – auf Grund meines Erlebten, Erfahrenen und Erlernten bin ich da sehr skeptisch – dann wird uns das nur mit klugem Einsatz aller unserer Möglichkeiten gelingen.
Das zynische Moment beim Datenschutz ist, dass wir halbwegs sichere technische Systeme nur mit konsequenter Transparenz erreichen können, also mit konsequenter Offenlegung aller Quellen, die ja unser Wissen beschreiben (Open Source). Wenn wir aber die Sourcen geheim halten (weil wir den Eigentumsbegriff über persönliche Dinge, Güter der Allmende auf das “geistige” und Daten ausweiten) dann
Wir aber diskutieren die falschen Themen und implementieren diese in unserer Gesetzen. Und fordern Dinge ein, die gar nicht machbar sind. Dabei behindern wir uns und schwächen uns selber. Es ist wie mit der Schwerkraft. Steine fallen auf unserem Planeten halt von oben nach unten. Das ist halt so. Ein Gesetz zu machen, dass Steine ab jetzt nach oben fallen sollen ist sinnlos.
Wir sollten uns lieber überlegen, wie wir die Demokratie mit Hilfe der Digitalisierung erneuern. Kultur braucht Kommunikation, sozialer Konsens entsteht durch Dialog. Auch die Entwicklung von sozial verantworteten Werten fällt eben nicht vom Himmel.
Werte müssen sich weiterentwickeln. Sie brauchen eine Dynamik. Der Mensch als Krönung der Schöpfung war einmal. Heute könnte es der Respekt vor dem Leben sein – nicht nur des Menschen. Die Welt ist global geworden. Wir können sie – auch aufgrund des technischen Fortschritts – nicht mehr “entglobalisieren”. Und ich glaube, wir wollen das auch gar nicht mehr.
Um eine globale Kultur zu schaffen, braucht es Kommunikation. In einer globalen Welt müssen wir dazu die Zeit-/Raumschwelle überwinden und damit umgehen können, dass wir viel mehr geworden sind.
Eine mittelalterliche Stadt hatte ein paar Tausend Menschen. In der globalen Welt leben Milliarden, allein im kleinen Deutschland zig Millionen und in der im globalen Maßstab eher überschaubaren Metropolregion München Millionen Menschen.
Das Internet war der Beginn einer Implementierung eines Systems, das lokale und globale Kommunikation ermöglichte. Es kann die gemeinsame Wertebildung, den Finden eines sozialen Konsens und die demokratische Willensbildung reformieren. Dazu bräuchten wir Systeme, die eine sittlich und kollektiv verantwortete Güterabwägung auf Basis crowd-basierter gesellschaftlicher Emergenz unterstützen. So müssen wir es in Freiheit entwickeln und dürfen es nicht kaputt machen.
Vielleicht könnten wir so die Politik endlich “entlobbisieren”, damit die Kriege reduzieren und die Voraussetzungen für eine gemeinsame vernünftige Entscheidungsfindung schaffen!
Am Tag vor Heiligabend war ich auf einem gemeinsamen Werbestand von Den Piraten und Die Partei. Da bin ich fast zwei Stunden hängen geblieben. Die haben meine Vision verstanden. Waren aber alles Typen die auch gemeinsam im neuen Jahr zum CCC fahren. Wie schaffe ich es, dass mich andere Gruppen auch verstehen.
RMD
4 Antworten
Frohe Weihnacht !
Zwei Anregungen:
Ja, es ist schon ziemlich verwohnt und überlaufen, aber das Hotel Hilbert sollte im Vortrag nicht fehlen:
https://www.youtube.com/watch?v=XTsaZRKx9UI
Der Mann ist übigens klasse, der leitet aus dem Stand die Eulersche Relation her, und zwar so, daß es der Zuhörer danach auch kann.
Kurzweiliger kann ‘nichtdigitaler’ Frontalunterricht nicht sein.
Und dann noch ein weiterer ‘Klassiker’:
Ein Ingenieur, ein Physiker und ein Mathematiker machen Urlaub auf einem Bauernhof. Der Landwirt fragt die Herren, “Da bin ich jetzt aber froh, daß ich jetzt drei so blitzgescheite Herren bei mir habe — denn ich habe nur noch wenig Weidezaun und möchte die größtmögliche Weide damit abzäunen. Wie soll ich das machen ?
Sagt der Ingenieur wie aus der Pistole geschossen, “Mit einer kreisrunden Weide haben sie das günstigste Verhältnis zwischen Fläche und Radius – das hat Jacob Steiner bewiesen”.
“Aber, aber, Herr Kollege”, mischt sich der Physiker ein. “Nicht kreisrund, schnurgerade muß der Zaun sein ! Effizienter können Sie die Welt nicht in zwei Hälften teilen!”.
Der Mathematiker gähnt gelangweilt, schnappt sich ein Zweimeterstück Stacheldraht, formt einen Ring, stellt sich hinein und sagt, “Ich definiere, daß ich außen stehe”.
Danke für die Anregungen. Und ich bin froh, dass Sie keine Fehler gefunden haben. Frohe Weihnacht!
Wer sagt denn, daß ich keine Fehler gefunden hätte ?
Es sind aber läßliche Sünden:
Auch eine Maschine, die ihr Programm nicht überschreiben kann, ist ‘Turing-vollständig’.
Und, gerade bei Siemens, gab es oft die Ternärcodierung mit den Signalpegeln -u, 0, und +u. Bis ganz aktuell in die Gegenwart, bei ISDN. Im Telephonnetz unersetzlich sind potentialtrennende Übertrager. Gleichstrom bekommt man dort nicht durch. Also baute man aus 4 dualen Bits (0 bis 15) drei ternäre (0 bis 26) und füllte dann “passend” redundant auf, damit eine “Gleichstromlastigkeit” vermieden wurde. Ohne diese Maßnahme würde, bei Übertragung von lauter 0-Bits, der Gleichstromanteil so hoch, daß ein Telephonübertrager nicht überwunden werden könnte.
Eine geniale Idee von SIEMENS. Damals.
“DAMALS”, so in den 60ern, waren TTL-Schaltungen typischerweise unipolar aufgebaut, überall fand man das Schema Transistor + pull-down – Widerstand vor. An diesem Widerstand fiel Leistung ab, die die Packungsdichte der Elemente begrenzte. So ersann man CMOS, “Complementary Metal Oxide Semiconductor”. Hier gab es keinen Widerstand mehr, sondern zwei in Serie geschaltete Feldeffekttransistoren.
Hätte es diese Schaltungstechnik zuerst gegeben, dann würden Computer heute im Ternärsystem rechnen.
Schlußendlich entsetzt mich die “digitale Wertebildung”:
Völlig neutrale Wörter erhalten plötzlich “Werte”, beispielsweise das “N-Wort”. Dann prasseln digitale Petitionen und “Shitstorms” auf uns ein, das Wort wird ersetzt durch eines, das nicht paßt. Dann kommt der nächste Shitstorm und der nächste Begriff, usw., usf..
Wir haben also schwuppdiwupp 10 Begriffe für einen Sachverhalt. Jeder digitale Speicher muß durchsucht werden können. Woher weiß ich nach 10 Jahren, welcher Begriff für “Neger” jetzt gerade der selbsternannten “Allianz der Anständigen” aktuell im Suchzeitraum konveniert hat ?
“Wertebildung” sollte ein Mensch selbst unter Verwendung seiner Erfahrungen und seines Verstandes vornehmen. “Digitalisierung” heißt auch und vor allem “Standardisierung”, das bedeutet: Einheitliche, logische Schreibweisen und Begriffe. ‘Signet’ statt ‘Logo’, ‘Telephon’ statt ‘Telefon’ (man schreibt ja auch nicht “Fonetik”) und bei Lehnwörtern bitte die richtige Schreibweise, also “Tip” statt “Tipp”. Und für ‘Menschen dunkler Hautfarbe’ gibt es bislang kein passenderes Wort als den altgedienten “Neger”.
Wissen ist das einzige Gut, das sich vermehrt, wenn man es teilt. Aber dazu muß es erreichbar sein. Und da kommt dann
LUDWIG WITTGENSTEIN
ins Spiel mit seinem ‘Tractatus’,
“Die Grenze meiner Sprache ist die Grenze meines Denkens”,
“Alles, was gesagt werden kann, kann klar gesagt werden”.
So paradox es klingt: Wenn eine “Digitalisierung” voranschreiten soll im Russel’schen Sinne, die Sau mit dem Fortschritt haben wir ja hier oft genug durchs Dorf getrieben, dann müssen wir dreierlei Dinge wieder erlernen:
– unsere Sprache, denn das ist das Material, das wir ‘digitalisieren’
– unsere Diskussionskultur
– unseren Respekt voreinander als Menschen mit dem Recht auf eine abweichende Meinung.
Das wären Vorsätze für 2020, aber wetten: Ein Blick in den ‘Spiegel’ reicht und alle guten Vorsätze sind wie weggeblasen.
Viel Spaß beim Vortrag, mir fallen gerade noch ein paar Kracher ein. Stichwort Mersenne.
Danke! Sehr schön!