Moin!
Das sicher nicht, stellt aber das erste Glied in der Kette dar, weil es ein Digitales Muter liefert.
Ein Schalter ist ein Bauteil. Nicht mehr, nicht weniger. Es ist kein Computer.
Nicht weit vom Schalter weg ist der Schütz, der nun mit Tastern bzw. "Eingängen" und entsprechender Verkabelung durchaus ein x beliebiges Gatter darstellen kann.
Auch wieder ein Bauteil, nichts programmierbares.
Meines wissens war der erste "Computer" bestehend aus Röhren, was letzendlich von der Funktionsweise nicht anderes war als eine vielzahl verschaltener Schütze.
Da liegst du komplett falsch. Nach Historikermeinung ist der Z1 von Konrad Zuse der erste wirkliche Computer. Und der arbeitete mechanisch.
Der erste elektrische Rechner, der Z3, war im Prinzip nur eine Umsetzung des Z1 mit mechanischen Relais. Also auch noch keine Röhren. Die kamen erst danach.
Das erste Programm war wohl die Berechnung von Zahlen addition subtraktion usw. Ein riesiger Rechner der einige Killowatt an Energie verheizte und für eine Berechnng von 5 * 17 mehrere Minuten benötigte.
Eingestellt wurde die Zahl mit mehreren Wahlrädern.
Bedenke, dass es immer noch kein programmierbarer Computer ist, wenn man auf Eingabeeinheiten zwei Zahlenwerte einstellen kann, irgendwo die große Kurbel gedreht wird und dann das addierte Ergebnis herauskommt. Oder das multiplizierte Ergebnis.
Kennzeichen einer Programmiersprache ist, dass Anweisungslisten eben nicht linear abgearbeitet werden, sondern dass es im Programmfluß auch Entscheidungen basierend auf Vergleichen gibt, welche den Programmfluß dann durch Sprünge in der Anweisungsliste individuell gestalten.
Das erste Programm, und auch der erste Prozessor somit war auf kleinen ein und ausschaltern gestützt.
Das sind sie heute immer noch, nur sind die Schalter heute noch wesentlich kleiner geworden.
Aber das ändert nichts an der Tatsache, dass irgendjemand sich mal überlegen mußte, wie er diese Schalter zusammenbaut, und damit er sie sinnvoll zusammenbauen kann, muß er wissen, was er damit überhaupt machen will.
Schliesse einen Schütz an eine Spannung und klemme seine Stormversorgung auf seinen eigenen Unterbrecher und Du hast ein wesentliches Modul eines Prozessors, den Oszilator.
Und wozu brauche ich den nun wirklich? Es ist auch nur ein Bauteil. Mal abgesehen davon, dass ich so einem Taktgeber nicht vertrauen würde, allein aus mechanischen Gründen nicht. :)
Im übrigen gehen die Forschungen bei Mikroprozessoren dahin, asynchrone Einheite zu entwickeln. Der zentrale Takt fällt also weg, es wird in den einzelnen Einheiten nur dann gearbeitet, wenn Arbeit da ist. Soll toll für die Energiebilanz sein und ganz viel Strom sparen.
Mit der entsprechenden Verkabelung baust Du dir ein System, dass genau das tut was Du entsprechend haben willst.
Dazu muß ich wissen, was ich haben will.
Ich bin mir sicher, mit einem heiden aufwand kann man jede Deiner Programierten Anwendungen technisch nachbauen.
Natürlich. Mit Schaltern, Kabeln etc. baust du problemlos eine Maschine, die genau das, was ich programmiert habe exakt löst.
Und für das zweite Programm baust du wieder eine Maschine gleicher Größenordnung.
Da ist das Zusammenbauen entsprechender Maschinen aber kein Programmieren. Sondern das Festlegen, was zu passieren hat, das ist das Programmieren. Und das geschieht zweifelsfrei vor dem Bau.
Somit hast Du ein System, das gegebenfalls Befehle bearbeitet z.B. 2 Zahlen zusammen zählen was man ja als Programm aktzeptieren kann.
Die Hardware interpretiert nun die eingänge und berechnet dir eine entsprechende Zahl.
Ich habe aber immer noch nicht`s programmiert.
Die Definition einer Programmiersprache ist, dass sie Abfragen (IF) und Sprünge kennt. Deswegen ist HTML keine Programmiersprache (die Conditional Comments für den IE sind zwar Bedingungen, aber es gibt keine Sprünge, um Dinge mehrfach oder unendlich zu wiederholen).
Und deshalb ist deine einfache Addition auch nichts programmiertes. Denn sonst würde ja auch das Tippen auf einem einfachen Taschenrechner schon Programmieren sein. Klar, hinter dem Taschenrechner steckt eine CPU, die ist programmiert, und die Tastendrücke sind natürlich in einen passenden "GUI" eingebunden. Aber dennoch: Es gibt keine Abfragen oder Sprünge, die man programmieren könnte, man tippt seine Rechnung einfach nur ein und kriegt ein Ergebnis.
Da es hierbei keinerlei "natürliche Vorgaben" gibt, kann man die Befehle frei definieren. Nur: Tun muß man es natürlich, und zwar vor dem Bau, nicht hinterher. Also: Die Programmiersprache entsteht ganz bestimmt vor dem eigentlichen real existierenden Rechner.
Dann wären also die Mathematik die Programiersprache?!?
Mathematik ist eine mögliche Form der Programmiersprache. Weil sie, wenn auch ungewohnt, Bedingungen und Sprünge kennt.
Und dass Mathematik garantiert vor der ersten Rechenmaschine da war, ist wohl unbestritten.
Die "Programmierung" eines mechanischen Rechners ist weit weg von irgendeinem Schaltplan. :)
Nein das glaube Ich nicht wirklich. Zumindest nicht was den ersten "Rechner" betrifft.
Dann überzeuge dich selbst von den Fähigkeiten des Z1.
- Sven Rautenberg
"Habe den Mut, dich deines eigenen Verstandes zu bedienen!" (Immanuel Kant)