Welche Bereiche der Informatik würden sich in einer Welt mit mechanischen Computern verändern?

In dieser Welt führte die Forschung, nachdem Babbage seine analytische Maschine entworfen hatte, zur Entwicklung mechanischer Computer, die auf Babbages Modell basierten, aber mit immer kleineren Metallstücken (die im 21. Jahrhundert in den Nanobereich vordringen).

Angenommen, alle weit verbreiteten Computer folgen diesem (im Laufe der Jahrhunderte mehr oder weniger verbesserten) mechanischen Modell, hätte sich das Gebiet der theoretischen Informatik anders entwickelt und wenn ja, welche Bereiche wären anders?

Mechanismen mit beweglichen Teilen leiden viel mehr unter Verschleiß als Mechanismen ohne diese. Moderne CPUs mit über einer Milliarde Transistoren können jahrelang ununterbrochen laufen. Es ist praktisch garantiert, dass ein ähnliches mechanisches Gerät zu einem bestimmten Zeitpunkt mehrere mechanische Ausfälle aufweist.
@Alexander Ich frage mich, ob es möglich wäre, eine Art Redundanzsystem zu entwerfen, um Ausfälle zu kompensieren. Moderne Festplatten fallen ziemlich oft aus, also verwenden wir RAID-Systeme und ersetzen einfach kontinuierlich Laufwerke, wenn sie ausfallen. Ich bin mir ziemlich sicher, dass mechanische Rechengeräte schneller ausfallen würden als moderne Festplatten, aber solange sie nicht zu schnell ausfallen, könnte es möglich sein.
@MozerShmozer Festplatten gelten aus genau diesen Gründen bereits heute als Sackgassentechnologie. Wenn sie nicht billiger als SSDs wären, würde fast niemand sie verwenden.
@MozerShmozer alles hängt von der Ausfallrate ab. Bei Taktraten im Gigaherzbereich sollten Stahlteile schon vor Ablauf der ersten Sekunde ausfallen. Einige exotische reibungsfreie Nanomaterialien sollten besser abschneiden.
Mechanische Rechenmaschinen sind langsam und absolut, absolut, absolut unzuverlässig . Auf dieser grünen Erde gibt es keine Möglichkeit, einen elektromechanischen (oder dampfbetriebenen mechanischen) Computer zu bauen, der auch nur annähernd an die gewaltige Rechenleistung eines CP/M-Systems mit 64 Kilobyte RAM und einem 2 MHz Intel 8080 heranreicht. Mechanik funktioniert einfach nicht Hier entlang.
Ich bin ein bisschen enttäuscht, dass noch niemand Souls In The Great Machine erwähnt hat. In dieser Welt funktioniert Elektrizität nicht und sie bauen einen Computer, bei dem Menschen die Transistoren ersetzen.
Ich bin neu hier, aber ich denke, es sollte für das OP möglich sein, eine magische Welt zu erschaffen, in der alle Probleme im Zusammenhang mit mechanischer Berechnung nicht existieren. Die Frage wäre dann, wenn es solche Probleme nicht gäbe, was wären die interessanten Eigenschaften. Ich denke, es ist eine wirklich interessante Frage.
Mein Prozessor läuft mit 2,66 GHz (keine Übertaktung) und gilt bereits als LANGSAM! Ich frage mich, welche Art von mechanischem Gerät verwendet werden kann, um auch nur 0,01% davon abzugleichen?

Antworten (9)

Die Informatik würde sich mehr oder weniger ähnlich wie unsere entwickeln. CS bezieht sich eher auf Mathematik und theoretische Modelle (z. B. eine Turing-Maschine, die typischerweise als mechanisches Gerät beschrieben wird), aber nicht unbedingt auf bestimmte Implementierungen (z. B. Transistor-basiertes Computing).

In diesem Sinne hätte sich CS entwickelt, um so viel Rechenleistung wie möglich von ihren Maschinen zu nehmen, unter Berücksichtigung ihrer Einschränkungen und Vorteile (genauso wie wir).

In unserem Fall investieren wir nicht zu viele Ressourcen, um in Algorithmen oder Anwendungen für diese Art von Maschinen zu denken (weil elektronische Maschinen gut genug für uns sind), aber wir kennen einige wirklich coole Algorithmen, die nur auf solchen Maschinen funktionieren, z Beispiel Bead Sort ( https://en.wikipedia.org/wiki/Bead_sort ), das das Sortieren implementieren könnte Ö ( 1 ) oder Ö ( n ) . Auch für die Kryptographie kann es etwas nützlich sein, da es überall zufällige Quellen geben würde.

Außerdem könnte eine Architektur, die es wert wäre, erkundet zu werden, wahrscheinlich ein Analogon von FPGA sein: Solche Maschinen könnten sich leicht neu konfigurieren, sie könnten sogar Logikteile zwischen Stellen in der Maschine transportieren.

Ich denke, dass sich die Verwendung von Computern auf stapelweise, nicht interaktive Rechenlasten konzentrieren würde, bei denen große Maschinen große Datenmengen langsam, aber mit hohem Durchsatz berechnen. Wahrscheinlich ähnlich dem, was wir als MIMD kennen, im Gegensatz zu dem, was wir normalerweise verwenden (SIMD, SISD).

Und als abschließende Bemerkung: Die meisten unserer Computer sind Turing-Äquivalente, und es gibt Turing-Maschinen, die aus mechanischen Komponenten gebaut wurden, sodass sie in der Lage wären, genau die gleichen Algorithmen wie wir zu berechnen (mit genügend Zeit). Hier ist eine mechanische Turing-Maschine für Ihre Freude: https://www.youtube.com/watch?v=vo8izCKHiF0

+1, was ich sagen wollte. In der Informatik geht es nicht um Computer. Es Informatik zu nennen, ist wirklich eine Fehlbezeichnung, es ist, als würde man Astronomie "Teleskopwissenschaft" nennen.
@Jörg W Mittag - und doch wäre die Astronomie ohne Teleskope ganz anders.

Mechanische Computer würden niemals so fortschrittlich sein wie elektronische.

Aufgrund der Einschränkungen, die bewegliche mechanische Teile dem Design auferlegen, können mechanische Computer niemals Geschwindigkeiten und Speichervolumina erreichen, die selbst PCs der 1980er Jahre zeigten. Ein groß angelegtes Multicore-Design mag sich diesem Niveau annähern, aber mechanische Einheiten würden 1000-mal schneller ausfallen als Computerchips.

Wahrscheinlich wird der fortschrittlichste mechanische Computer auf dem Niveau von Atlas von 1962 sein , wobei mehrere Blöcke kontinuierlich ersetzt und repariert werden müssen.

Angesichts dieser einschränkenden Faktoren wird die Informatik stark behindert. Es würde sich immer noch durch die Erstellung und Implementierung effizienter Algorithmen auszeichnen, aber groß angelegte Programme wären außerhalb seiner Reichweite. Grundsätzlich wäre menschliche Zeit billiger als Computerzeit, sodass der Fokus auf der Entwicklung fehlerfreier Programme liegen würde, bevor sie ihre erste Ausführung sehen.

Es käme auch nicht in Frage, mechanische Computer auf Raketen zu setzen, die eine hohe Beschleunigung erfahren.

Ihr 1000-mal schneller ist um einige Größenordnungen raus. :-)

Ich denke, es könnte einige Fortschritte geben, aber sie würden nicht in der Hardware liegen. Es wäre in Algorithmen.

Ich bin mir ziemlich sicher, dass die Grenzen eines rein mechanischen Systems sehr schnell erkannt würden und ein Übergang zu elektrischen Computern in relativ kurzer Zeit erfolgen würde.

Algorithmen sind jedoch eine andere Geschichte. Mit Ihren mechanischen Denkmaschinen von Babbage bringen Sie die Fähigkeit, komplexe mathematische Funktionen zuverlässig und schnell auszuführen, in das öffentliche Bewusstsein, mehrere Jahrzehnte bevor dies in der realen Welt geschah.

Es ist ziemlich schwierig, das Konzept klar in Worte zu fassen, aber wenn Sie jemals einen Informatikstudenten an einer Universität kennengelernt haben, können Sie fast sehen, wie sich seine Denkprozesse von Jahr zu Jahr, von Klasse zu Klasse ändern. Ein einfaches Sortierprogramm für einen Neuling kann fünfzig Zeilen lang sein, aber der Senior macht dasselbe in vier Zeilen. Das liegt daran, dass sie sich selbst konditionieren, auf eine bestimmte Weise über Probleme nachzudenken, Algorithmen zu verwenden. Die Ideen dessen, was getan werden kann, laufen manchmal der Maschinerie voraus, die es tun kann. Stellen Sie sich nun vor, welche eleganten Lösungen heute herauskommen würden, wenn das Training zum Denken in Algorithmen weitere 50 Jahre Zeit hätte, um sich zu entwickeln. Ich würde vermuten, dass jedes gegebene Programm auf gleichwertiger Hardware effizienter wäre als das Äquivalent unserer Welt.

Das Mooresche Gesetz könnte immer noch gelten, aber seine Auswirkungen würden bis zum Übergang zu elektrischen Maschinen nicht so stark zu spüren sein.

Ich vermute, das Endergebnis wäre, dass, wenn Sie eine Maschine aus unserer Welt mit einer aus Ihrer Welt mit äquivalenten Taktraten und dergleichen vergleichen, die Maschine Ihrer Welt sich aufgrund eleganterer und effizienterer Software so verhalten würde, als wäre sie eine schnellere Maschine.

(Entschuldigung, wenn ich mich nicht ganz klar ausdrücke, ich kann die Antwort sehen, aber es fällt mir schwer, sie gut auszudrücken.)

Ich bin nicht der Meinung, dass es angesichts von 50 Jahren Fortschritt bessere Algorithmen geben würde. Die Algorithmen hängen zu sehr von der Hardware ab, als dass es eine Standardentwicklung von reinen Algorithmen geben könnte, um viel schneller voranzukommen als Hardware. Ein Beispiel wäre, dass fast alle modernen maschinellen Lernverfahren/Datenanalysen die vor Jahrzehnten festgelegten Prinzipien verwenden. Wir haben nur deshalb einen so schnellen Fortschritt erzielt, weil wir jetzt Hardware haben, um sie auszuführen und sie somit zu verfeinern. In den Jahrzehnten dazwischen konnte nur sehr wenig getan werden, um die Designs zu beschleunigen, ohne funktionierende Maschinen, die einfach auf der Grundlage der Theorie arbeiten.

Angenommen, Sie meinen, mechanische Computer waren im 21. Jahrhundert so ziemlich alles, was es in Ihrer Welt gab, dann läuft alles viel langsamer, als wir es gewohnt sind.

Moderne Computer auf Transistorbasis haben Milliarden von Schaltkreisen, die fast so schnell wie die Lichtgeschwindigkeit laufen. Ein mechanischer Computer wird dem niemals nahe kommen. Ich glaube nicht, dass ein binärer mechanischer Computer jemals viel schneller werden würde als die ventilbasierten Maschinen, die wir kurz nach dem Zweiten Weltkrieg sahen.

Dann gibt es noch den körperlichen Aspekt. Ein mechanischer Computer wird immer viel größer und schwerer sein als sein digitales Pendant. Viel Glück dabei, einen von ihnen in eine Raumkapsel aus der Apollo-Ära zu bekommen, also wird Ihr Raumfahrtprogramm sehr primitiv sein, wenn es überhaupt existiert.

Dies hätte auch große Auswirkungen auf die Militärtechnologie, die meiner Meinung nach nicht viel über unser Niveau in den 1950er Jahren hinauskommen würde. Raketen, Kampfflugzeuge, Panzer und U-Boote machen ausgiebigen Gebrauch von kleinen , aber leistungsstarken Computern.

Der Strombedarf wäre auch viel höher, tatsächlich wäre es wahrscheinlich für jeden außer Unternehmen und sehr reiche Einzelpersonen unerschwinglich teuer, sie zu betreiben und zu warten.

Eine subtilere Änderung wäre das Fehlen jeglicher Art von GUI. Die Computer selbst hätten nicht die Rechenleistung, um etwas anderes als textbasierte Menüs auszuführen. Wenn Sie die Fallout-Spiele gespielt haben, denken Sie an ihre Pip-Boy-Oberfläche. Es gäbe kein WWW und ohne das wäre das Internet nicht Mainstream geworden. Es würde existieren, aber die Benutzerbasis und die Anwendungsfälle wären wie im IRL der 1970er Jahre.

Es gibt viele Anstoßeffekte. Kein Weltraumprogramm und ein relativ primitives Militär würden bedeuten, dass der technologische Fortschritt im Allgemeinen auf ein Schneckentempo verlangsamt wäre. Also, wenn die Kinder keine Videospiele spielen (weil es keine gibt), es kein Faceborg, keine Smartphones und keinen endlosen Marsch von CGI-unterstützten „Blockbustern“ alle paar Wochen in den Kinos gibt, was machen sie dann? Sie sind wahrscheinlich kulturell veranlagter als in unserer Welt, wahrscheinlich auch mehr im Freien.

Du sprichst über einige dieser Nachahmungseffekte, als wären sie eine schlechte Sache.....

Ausgerechnet High Performance Computing (HPC). Mechanische Computer wären millionenfach langsamer als elektronische, und HPC ist der Bereich, in dem versucht wird, das Beste aus JEDER Art von Computer herauszuholen, von den 20-Cent-Prozessoren bis zu den 5000- Dollar- Prozessoren. Es findet die Algorithmen und die Code-Organisation, um die Hardware mit maximaler Effizienz zu nutzen, um die meiste Arbeit pro Sekunde zu erledigen.

Andere Bereiche wären der Tod von Compilern; Niemand würde etwas schreiben, außer in der Assemblersprache des Computers, denn das ist eine Möglichkeit, das Beste daraus zu machen. Sprachen auf mittlerem Niveau wie C oder Fortran laufen normalerweise mit etwa 10 % der Spitze; Dieselbe in Assembler geschriebene Berechnung (mit einigen Kenntnissen darüber, wie der Computer Anweisungen verarbeitet) kann 75% und mit der Abstimmung manchmal 95% des theoretischen Höchstwerts erreichen.

Hochsprachen (Javascript, Python, Swift, C++, C#) und objektorientierte Sprachen würden einfach nicht existieren, sie erreichen oft weniger als 1% der Spitze. Das gesamte Gebiet der Compiler-Theorie und -Optimierung würde wahrscheinlich nicht existieren.

Ebenso für KI hätten wir wenige oder gar keine Spiele (oder nur vereinfachte Spiele wie Pong). Keine Handys. Kommunikation würde immer noch existieren, aber Internet-Unterhaltung nicht.

Realistische Physiksimulationen für Flüssigkeitsströmung, Wetter usw. würden wahrscheinlich nicht existieren oder wären ziemlich simpel (und daher von sehr grober Genauigkeit).

Ich spreche von buchstäblich einer Million Mal langsamer, vielleicht mehr, mit den allerbesten mechanischen Computern. Sie wären nicht für die Öffentlichkeit bestimmt; Sie würden jetzt das sein, wofür sie in den 1950er und 1960er Jahren waren, große Geschäftsbuchhaltung und Aufzeichnungen, verherrlichte Taschenrechner zur Lösung physikalischer und mathematischer Probleme.

Haben Sie eine Referenz für Ihre Effizienzansprüche an Mittelsprachen? Weil der ganze Zweck der Optimierung von Compilern darin besteht, Code effizienter zu produzieren, als wir es können.
@Phil, mein PhD in Informatik, wie einige von denen unter diesem Link quora.com/… - und Sie können selbst andere Antworten googeln. Compiler sind beim Assemblieren nicht besser als erfahrene Menschen; Sie sind so optimiert, dass sie besser sind als ihre eigenen sehr allgemeinen Methoden zum Erstellen von Code, die für einen Menschen leicht zu schreiben sind. Der Compiler macht SIE nur schnell beim Codieren, mit weniger Fehlern und schnelleren Änderungen: Sie erstellen keinen schnellen Code, sie jagen Zeiger, sie verschütten unnötigerweise Register in den Speicher, und im Allgemeinen läuft ihr Code bei- (Forts.)
-Fortsetzung: Die Geschwindigkeit des Gedächtnisses, nicht die Geschwindigkeit der numerischen Berechnung, die hundertmal schneller ist. das liegt daran, dass für die Ausführung mit der Geschwindigkeit der Gleitkomma-Engine oder Registerebenenoperationen mit Einzelzykluslatenz eine synthetische Pipeline von Cache-Ebenen erforderlich ist, um die Daten bereitzustellen; vom Speicher zu L3 oder L2, dann L1, mit jeweils einer Größenordnung mehr Latenzzyklen. Compiler können das nicht, weil sie den Code, den sie kompilieren, nicht verstehen; Sie führen Schlüsselloch-Optimierungen durch, um offensichtlich unnötige Installationen zu eliminieren. Dann sind interpretierte oder Bytecode-Sprachen noch schlimmer, noch eine weitere Schicht.
Ich lachte darüber, dass C++ als "hohes Niveau" bezeichnet wurde.
@Wlerin Alle objektorientierten Sprachen sind ineffizient, weil sie Zeiger verfolgen: Objekte werden als Speicherzeiger (Adressen) übergeben, die gelesen und in eine echte Seitenadresse aufgelöst werden müssen, um alles zu lesen oder auszuführen, was im Objekt enthalten ist (eine Variable oder Routine), die ein weiterer Zeiger sein kann und zu einem anderen führt ... Das Auflösen einer Adresse, um schließlich etwas in ein Register zu bekommen, kann zahlreiche Rundreisen zum Speicher erfordern. Welche Programmierer können nicht wirklich zuverlässig für hohe Leistung strukturieren, während sie die 100% ige Kontrolle über die Organisation des Speichers in Assembler haben. Weniger wartbar, aber viel schneller.
@Amadeus Im Vergleich zur Montage ist alles "hohes Niveau". Aber C++ ist bei weitem nicht so hoch wie Sprachen wie Python, Javascript und C#.
@Wlerin Als CS-Professor bin ich anderer Meinung. C, Fortran, Cobol sind einen Schritt von der Montage entfernt; ein Schritt der Abstraktion. C++, C# und OO-Sprachen mit Klassen sind ein weiterer Schritt. Interpretierte und Bytecode-Sprachen sind ein weiterer Schritt. Aber ich lehne die Vorstellung ab, dass Python und Javascript (beide habe ich professionell für kommerzielle und öffentliche Unternehmen programmiert) "höher" als C++ sind. Nein sind sie nicht. Sie haben mehr Bibliotheken und werden häufiger verwendet, sie sind kein höheres Niveau. Wenn Sie C++ verstehen, besteht Python nur aus einigen syntaktischen Anpassungen und ein paar neuen Funktionen; wie Fortran -> C.
@Amadeus Hast du jemals C++ und C# programmiert? Dass Sie sie auf derselben Ebene auflisten, deutet darauf hin, dass Sie dies nicht getan haben. Zunächst einmal ist C# eine Bytecode-Sprache wie Java.
Außerdem ist OO oder nicht tangential dazu, ob eine Sprache ein hohes Niveau hat. Haskell ist auf hohem Niveau, aber nicht OO. Python ist fraglicherweise nicht OO (zumindest verstößt es gegen mehrere grundlegende Einschränkungen von OO). Sie könnten OO mit Assembler machen, wenn Sie wirklich wollten. Es ist die Abstraktion von der Hardware, die eine Sprache auf hohem Niveau macht, und C++ hat nur so viel Abstraktion, wie Sie möchten. Die anderen Sprachen erzwingen sehr viel mehr.
Betrachten Sie schließlich Python, insbesondere CPython. Wenn Sie eine Erweiterung mit Hardwarezugriff auf niedrigerer Ebene erstellen müssen (aus Geschwindigkeits- oder Speichereinsparungsgründen oder aus einem anderen Grund), in welcher Sprache müssen Sie diese Erweiterungen schreiben? Oh, richtig. Es ist C++. Zu sagen, Python sei „nur ein paar syntaktische Anpassungen und ein paar neue Features“, die aus C++ entfernt wurden, ist absurd falsch. Unter der Haube, wo eigentlich die Unterscheidung zwischen High-Level und Low-Level liegt, sind sie sehr unterschiedlich.
@Wlerin Wir sind anderer Meinung, ich denke, du liegst falsch. Ja, in vierzig Jahren habe ich in jeder dieser Sprachen programmiert. Nein, Sie schreiben den Hardwarezugriff auf niedrigerer Ebene nicht in C++, Sie schreiben ihn in C oder Assembly; Ich weiß es, weil ich es hundert Mal gemacht habe. Dies ist kein Forum, um darüber zu diskutieren, also bin ich fertig. Schimpfen Sie weiter, wenn Sie möchten.

Die Seite der Computerhardware wäre sehr unterschiedlich, aber das bedeutet nicht unbedingt, dass der Code überhaupt anders wäre. Wenn es theoretisch möglich wäre, schnelle mechanische Computer zu bauen, würden sie wahrscheinlich auch funktionieren, indem sie riesige Folgen binärer Berechnungen durchführen.

Es sei denn, sie würden einen Computer entwerfen, bei dem jeder Schalter mehr als einen Ein/Aus-Zustand hat, anstatt drei oder mehr Zustände zu haben.

Am Anfang gab es Dezimalcomputer, und einige knifflige Russen studierten sogar Computer, die auf der ausgeglichenen Basis 3 (mit Ziffern minus 1, 0 und 1) arbeiteten. Wenn Sie das Original Art of Computer Programming von Donald Knuth lesen, werden Sie sehen, wie weit er geht, um sicherzustellen, dass der Beispiel-MIX-Code auf einem binären und einem dezimalen Computer auf die gleiche Weise funktioniert.

Informatik wäre dasselbe, weil es in diesem Bereich mehr um Mathematik als um Computer oder Naturwissenschaften geht. Mechanische Computer müssten schließlich sowieso digital werden, da analoge Systeme einfach nicht einfach zu manipulieren und Logik zu entwerfen sind. Letztendlich würden digitale mechanische Computer von elektronischen Digitalcomputern verdrängt, die wir heute haben, weil sie einfach weniger effizient sind.

Nun, das oder die mechanischen Computer würden durch biochemische Computer wie das menschliche Gehirn ersetzt. Diese könnten besser sein als herkömmliche Elektronik.
Wenn man bedenkt, dass wir nicht beim biochemischen Rechnen sind, ist es unmöglich zu wissen, ob das unvermeidlich ist. Sie bieten heute zwar Vorteile, aber es könnte sein, dass digitales Computing irgendwann sowieso biologische Gehirne übertreffen wird.
Die biologischen Elemente des menschlichen Gehirns sind weit mehr analog als digital, aber um Größenordnungen komplexer und effizienter als alle analogen Geräte, die wir bisher entwickelt haben.

Leider werden wir nie das Geschwindigkeitsniveau erreichen, das wir jetzt haben, und die Dinge werden unglaublich kompliziert sein. Nun, sobald eine bekannte Programmiersprache und (wie durch ein Wunder) ein Monitor implementiert ist, um mit einem mechanischen Computer zu arbeiten, auf dem jeweils genau ein Programm ausgeführt wird, das in dieser Sprache geschrieben ist, befinden wir uns im Wesentlichen auf einem relativen Niveau (glaube ich) das Mitte der 60er bis Anfang der 70er Jahre in Sachen Informatik. Der Grund dafür ist, dass sich die Informatik nicht um Hardware kümmert. Es kümmert sich nur darum, welche grundlegenden Operationen die Hardware ausführt, die ihren Maschinencode ausmachen.

Das Kernproblem hier ist eines, das frühe Computer geplagt hat, die eher mechanisch als digital waren, nämlich dass Sie keine Binärdateien haben können. Versteh mich jetzt nicht falsch, du könntest die binäre Darstellung einer Zahl berechnen oder umgekehrt. Das Problem ist, dass die Erinnerung über Zahnräder codiert wurde. Haben Sie schon einmal ein zweiseitiges Zahnrad gesehen? Es ist eine schlechte Idee. Dies bedeutet, dass Dinge wie das Hinzufügen von Schaltungen und andere grundlegende Operationen für mehrere Fälle durchgeführt werden müssen. Wenn wir es jedoch in Binärform tun, können wir uns alles als eine Reihe von komponentenweisen booleschen Operationen auf Vektoren mit Wahr/Falsch-Werten vorstellen. Dies ist im Wesentlichen der große Vorteil des elektrischen Rechnens und seine große Hürde. Als die Leute daran dachten, den Wechsel vorzunehmen, waren sie gezwungen, binär zu arbeiten, weil es nur zwei Wellenlängen gab, die die Hardware erzeugen konnte. Das führte zu einer etwas besseren Denkweise über solche Dinge. Ironischerweise verwenden die meisten Router 32 oder manchmal 64 verschiedene Wellen, um die Daten zu komprimieren, da es jetzt möglich ist, so etwas zu tun.

Jetzt könnten Turing-Maschinen, Automaten, Algorithmen, Programmiersprachen und viele andere eher designorientierte Konzepte dasselbe vorantreiben. Es sind immer noch Konzepte, die interessant zu studieren sind, und sie liegen eher am Ende der Computertheorie, als dass sie Konzepte tatsächlich implementieren oder auf einer Maschine testen.

Unglücklicherweise haben Sie ungeachtet der mechanischen Geschwindigkeit oder Haltbarkeit einen fatalen Fehler in Ihren mechanischen Maschinen, was bedeutet, dass sich Computer ohne eine Umstellung auf elektrische oder einige Erweiterungen niemals dahin entwickeln werden, wo sie jetzt sind.

Licht besteht aus Photonen, die durch Energiefreisetzung erzeugt/freigesetzt werden können. Licht ist die Art und Weise, wie Computer kommunizieren (Wi-Fi, Mobilfunksignale, Funkwellen usw.). Es ist auch, wie wir den Monitor sehen können. Der grundlegende Fehler ist, dass Maschinen ohne Elektrizität solche Lichtwellen nicht erzeugen können. Es passiert einfach nicht. Andernfalls könnten gewöhnliche Feuer und herumlaufende Menschen Störungen verursachen. Dazu braucht man Strom. Daher wird Ihre mechanische Computerwelt die Informatik nicht zu der Stärke entwickeln, die sie heute ist. Der Grund dafür ist, dass es keine Monitore geben wird. Es wird keine PCs geben. Es wird kein Internet geben. Wenn Sie dies aus dem Bild nehmen, wird das Fortschrittsniveau Ihrer Welt in jedem Bereich drastisch reduziert. Und ohne Menschen, die sich nicht für Informatik interessieren, die nicht in Regierungspositionen oder in großen Forschungseinrichtungen tätig sind, haben Sie die Anzahl der Menschen, die das Gebiet voranbringen könnten, stark begrenzt. Es könnte sogar als nichts anderes angesehen werden als das, wofür es gedacht war, nämlich ein Werkzeug zur Durchführung mathematischer Berechnungen. Nicht mehr und nicht weniger.

Auch ausgeklügelte Flugmaschinen wird es nicht geben. Ohne die fortschrittlichen Systeme, die es heute gibt, wären Passagierflugzeuge vom Tisch. Dadurch sinkt auch das Fortschrittsniveau in eurer Welt stark.

Es gäbe keine Textverarbeitungsprogramme, keine nennenswerten Taschenrechner und keine Datenbanken. Selbst wenn es die beiden letzteren gäbe, wäre die erstere auf eine komplexe Reihe von Operationen beschränkt, die in eine Schreibmaschine eingegeben werden, um sie wieder durchzulesen und ein Dokument zu drucken.

Letztendlich kann mit Ihren mechanischen Computern alles gemacht werden, was jeder andere mit einem elektrischen Computer machen kann, vorausgesetzt, ersterer ist vollständig. Das Problem ist jedoch nicht die Fähigkeit. Es ist ein Problem, dass es nicht durchführbar und nicht interpretierbar ist. Stellen Sie sich vor, Sie berechnen eine Zahl und eine Reihe von Stiften, die sich in die Luft erheben, um die binäre Version der Zahl darzustellen. Es wäre ein sehr seltsamer Rechner. Ohne Monitore wäre die Bearbeitung von Dokumenten jeglicher Form eine Herausforderung.

Interessanterweise wäre das einzige Problem für blinde Benutzer das Fehlen einer Soundschnittstelle. Ich konnte jedoch sehen, dass sich solche Leute ziemlich gut an eine mechanische Schnittstelle anpassen, die erhöhte und abgesenkte Teile verwendet, um einen "Monitor" zu bilden.

Tatsächlich korrigiere ich mich von früher. Wir können monochrome Bildschirme haben , aber das war es auch schon. Im Wesentlichen können wir Teile einer flachen Ebene anheben und absenken, um ein Bild zu erstellen.

Letztendlich würde diese Seite jedoch ohne die Erfindung des Internets nicht existieren. Und deshalb gibt es eine Sache, die Ihre mechanischen Computer niemals haben werden .

Es ist nicht nötig, die Frage am Ende zu verlinken. :-)
@wizzwizz4 gibt es tatsächlich. Es ruiniert den Witz, es nicht dort zu haben.
Es war die Umstellung auf digital/binär, die all dies ermöglicht hat, nicht etwa die Umstellung auf elektronisch. Wie Attanasoff feststellte, gibt es ohne Digital/Binär keine effiziente Elektronik.
@JustinThyme Der einzige Grund, warum wir auf Binär umgestellt haben, war, dass dies für Strom erforderlich war. Digital entstand nur durch die Nutzung von Elektrizität. Es sei denn, Sie meinen Radio, wenn Sie sich auf digital beziehen? Zuletzt habe ich jedoch Radios und Dinge überprüft, die digitale Signale verwenden, die nur aufgrund von Elektrizität entwickelt wurden. Ohne Elektrizität oder irgendeine Form von Strahlung kann man keine Lichtwellen erzeugen.
@typhon Du hast vollkommen recht. Attanasoff zerbrach sich den Kopf und versuchte herauszufinden, wie man Zahlen mit Hilfe von Elektrizität in Dezimalzahlen speichert. Er stieg in sein Auto und fuhr und fuhr einfach. Als er durstig wurde, hielt er in einem Pub an. Die Idee kam ihm aus heiterem Himmel – on.off. Ohne diesen Aha-Moment gäbe es die Computer von heute nicht. Damals taten alle Booles Ideen zu binären und logischen Zusammenhängen als Poppycock ab – bestenfalls eine Kuriosität.
@JustinThyme Genau. Ohne diesen Funken Inspiration wären wir schwer verkrüppelt. Moderne Computer wären nicht das, was sie sind.

Babbages „Computer“ war im Grunde ein programmierbarer Taschenrechner, der die Basis zehn verwendete, nicht binär. Wir hätten unsere Konzepte von digitaler Logik und Binär wahrscheinlich nicht formuliert. Einige frühe, leistungsstarke Computer (die PDP-Reihe) waren analog, Basis zehn. Sie wären großartig für Arithmetik, aber ein Großteil unserer KI basiert auf binären Konzepten (wahr/falsch, ja/nein) und Wahrheitstabellen, die der Taschenrechner von Babbage nicht verarbeiten konnte.

Die erste Programmiererin ist Augusta Ada King-Noel, Gräfin von Lovelace, die mit Babbage zusammengearbeitet hat, um Programmcodealgorithmen für einen programmierbaren Taschenrechner zu schreiben, der nie gebaut wurde, und daher wurde der Code nie verwendet.

Ada Lovelaces Notizen wurden alphabetisch von A bis G beschriftet. In Notiz G beschreibt sie einen Algorithmus für die Analytical Engine zur Berechnung von Bernoulli-Zahlen. Es gilt als der erste veröffentlichte Algorithmus, der jemals speziell für die Implementierung auf einem Computer zugeschnitten wurde, und Ada Lovelace wurde aus diesem Grund oft als erste Computerprogrammiererin bezeichnet.[66][67] Der Motor wurde nie fertiggestellt, also wurde ihr Programm nie getestet.[68]

Link Um einen Einblick in das Potenzial für Mathematiker zu erhalten, das solch ein programmierbarer Taschenrechner wie der von Babbage zuschreiben könnte, folgen Sie dem Link.

Sie eignen sich beispielsweise hervorragend für technische Anwendungen oder Finanzanwendungen oder zum Erstellen von Tabellen (z. B. Artillerietabellen).

Ich füge dies als Kommentar hinzu. Der wohl wichtigste Fortschritt in der modernen Informatik war der Wechsel von der analogen Dezimalzahl zur digitalen Binärzahl. Die ersten Personen, die dies taten, bauten den Atanasoff-Berry-Computer . Interessanterweise wurde dies von einem Anwalt entdeckt, der Nachforschungen anstellte, um das Sperry-Rand-Patent zur Verwendung von Binärdateien für Computer zu annullieren. Der Legende nach kam Atanasoff die Idee, als er sich nach einem frustrierenden Tag im Labor in einem Pub betrank.