Menschen Wissenschaft Politik Mystery Kriminalfälle Spiritualität Verschwörungen Technologie Ufologie Natur Umfragen Unterhaltung

Erstes Computerprogramm !?

55 Beiträge, Schlüsselwörter: Computer, Software, Programmieren
ernieball
Diskussionsleiter
ehemaliges Mitglied

Lesezeichen setzen

Erstes Computerprogramm !?

27.06.2004 um 00:46
tag auch,

ich wusste nicht ganz, wo ich dieses thema unterordnen soll, ich denk hier ist es am besten aufgehoben.

so, jetz zum thema:

ich hab mir schon öfters die frage gestellt, wie das erste computerprogramm erstellt wurde. angenommen, das erste programm hieße "table" und wurde im jahre 1957 programmiert (reine zufallsdaten). wie wurde es denn dann programmiert ? es gab ja noch kein programm, mit dem man es programmieren konnte.

das ganze erinnert mich an die story mit dem huhn und dem ei....

was denkt ihr ?

You can not kill what you can not create.


melden
Anzeige

Erstes Computerprogramm !?

27.06.2004 um 00:53
@ernieball

Naja, es ist zwar nicht das erste Computerprogramm aber das erste Programm das man für den Computer programmieren konnte (davor waren die Programme keine Software sondern Hardware wie Platinen, Schaltkreise, usw.. die auch wie der 'computer' selbst durch Elektroentwickler erstellt wurden):

Lochkarten! Es gab Karten auf denen der Programmierer ein Programm eingestanzt hat und dem Computer zum 'lesen' gab! Natürlich waren das einfache Befehle die heutzutage lächerlich erscheinen aber dennoch.......

Also mussten die Programme nicht an einem Computer selber 'geschrieben' werden sondern erstellt durch menschliche Hand......

Jetzt weis ich das ich nix weis...und du erst recht nicht!

Man benötigt viel Wissen um zu wissen das man nix weis. Bei vielen vermisst man dieses Wissen das sie wissen nichts zu wissen und somit nur denken zu wissen aber nicht wissen das sie das Wissen nicht wissen ........


melden

Erstes Computerprogramm !?

27.06.2004 um 01:44
jo genau meine rede

damals waren die lochkarten lächerlich (vor nichtmal 50 jahren) bin schon echt gepsannt wie sich das ganze in 50 jahren entwickelt hat...


melden
ernieball
Diskussionsleiter
ehemaliges Mitglied

Lesezeichen setzen

Erstes Computerprogramm !?

27.06.2004 um 02:23
gut, so ungefähr hab ichs mir auch vorgestellt, auch wenn ich nich so ahnung davon hab.



You can not kill what you can not create.


melden

Erstes Computerprogramm !?

27.06.2004 um 03:13
Der allererste Computer wurde übrigens vom Deutschen Konrad Zuse entwickelt und hieß Z1. Groß wie eine Garage und, wie schon geschrieben, über lochkarten zu programmieren.

"Getrettener Quark wird breit, nicht stark."
Goethe


melden

Erstes Computerprogramm !?

27.06.2004 um 03:31
@DarthHolz

Hmm, hatte nicht das 3.Reich schon ein 'Computer' und die damaligen Allierten auch ?

Also nicht programmierbar per Input irgendwelcher Befehlsstrukturen aber wie sieht es aus mit den bekannten Röhrenrechnern oder die Relaisrechner (ob das ein und das selbe ist ?) die davor schon im Einsatz waren um was weis ich zu machen ?

Jetzt weis ich das ich nix weis...und du erst recht nicht!

Man benötigt viel Wissen um zu wissen das man nix weis. Bei vielen vermisst man dieses Wissen das sie wissen nichts zu wissen und somit nur denken zu wissen aber nicht wissen das sie das Wissen nicht wissen ........


melden
p1c2b3
ehemaliges Mitglied

Lesezeichen setzen

Erstes Computerprogramm !?

27.06.2004 um 09:55
@BlickNixMasta
Wie DarthHotz schon gesagt hat kommt der erste Computer vom deutschen Wissenschaftler Konrad Zuse, welcher im 3.Reich arbeitete. Allerdings war der Computer nur für einfache Rechenaufgaben geeignet (z.B. 2+2) und brauchte sehr lang dafür.


melden

Erstes Computerprogramm !?

27.06.2004 um 10:39
Es ist schon erstaunlich, was sich da in den letzten 20 Jahren getan hat, schön, das dieses Thema mal angesprochen wurde.
Wenn man es so sieht, sind Disketten, CDs und DVDs auch nichts anderes als "Lochbänder". ;)


melden
Obrien
ehemaliges Mitglied

Lesezeichen setzen

Erstes Computerprogramm !?

27.06.2004 um 11:18
@Langolier

Wenn man es genau nimmt,trifft dies für CDs und DVDs zu.
Für Disketten nicht.Dort werden die Daten magnetisch gespeichert.

@blicknixmaster

Röhrenrechner wurden ,glaube ich, erst nach dem Krieg entwickelt(zum Beispiel ENIAC oder MANIAC)
Und wie du schon erwähnt hast,wurden diese Rechner verdrahtet und nicht "programmmiert"(im heutigen Sinne*gg*)
Aus der Ära kommt übrigens der Ausdruck "Bug". zwischen den Relais und den Elektronenröhren wurde es oft muckelig warm und manchmal siedelte sich da auch Ungeziefer an.Diese Käfer(Bugs) verursachten dann funktionsstörungen


Sei vergnügt solange du am Leben bist...

Ptahotep (2400 v.Chr.)


melden
raptoris
ehemaliges Mitglied

Lesezeichen setzen

Erstes Computerprogramm !?

27.06.2004 um 12:04
Angefangen hat alles mit Blaise Pascal, der die erste "Rechenmaschine" erfand. Diese konnte Rechnungen mit sechstelligen Zahlen adieren.

Als nächstes kamen dann die Engländer, die im Zweiten Weltkrieg eine Maschiene zum Entschlüsseln des deutschen Enigma-Codes bauten.

Conrad Zuse baute schlieslich 1938 den ersten Computer. Dieser bestand (wie die englische Dekodierungsmaschine) aus Postbauteilen.
Gebaut wurde er aus Relais.
Das Programm wurde auf einen Kleinbildstreifen gelocht.
Das Nachfolgemodell, auch von Zuse, enthield 2000 Relais.
Es konnte zwei Siebenstellige Zahlen in 4 Sekunden multiplitzieren.
1944 Bauten die Amerikaner einen ähnlichen Relais-Rechner.
Er hieß MARK I, hatte 2600 Relais, wog 35t, und war 16m lang und 2,5m hoch.

Ein Jahr später wurde der ENIAC gebaut, der 2000 mal schneller rechnete, dank auf Röhren basierender Flip-Flop schaltungen.
Diese 18 000 Röhren gaben Wärme wie zb 170 moderne Bügeleisen.
Darum benötigte der Eniac auch zwei "Schornsteine"
Der ENIAC multiplizierte zwei zehnstellige zahlen in 0,003 sec.



In diesem Sinne...

R A P T O R I S


melden

Erstes Computerprogramm !?

27.06.2004 um 13:24
*g* Diese "Bugs" waren somit wohl die ersten Computer-Viren, die das System
zum Absturz brachten. :)

In der 0 steckt des Rätsels Lösung !


melden

Erstes Computerprogramm !?

27.06.2004 um 14:57
ich finds lustig das ein pc nur auf strom(1) un nichtstrom(0)
basiert^^
sozusagen:

10010101010101000001001111110000101010101000101010000110101000101
bloß halt viel länger un komplizierter^^


melden
Anzeige

Erstes Computerprogramm !?

02.06.2005 um 02:14
Hier ist ein Bericht zum Thema das erste Computerprogramm....

Ein Computerprogramm ist die Umsetzung eines Algorithmus in eine Form, die von einem Computer verarbeitet werden kann. Dieser Prozess wird als Implementierung bezeichnet.

Im Sprachgebrauch wird Computerprogramm meist zu Programm verkürzt oder der engl. Begriff Software (für Ein- und Mehrzahl) synonym verwendet.

Sowohl der in einer Programmiersprache verfasste Quelltext als auch der von einem Computer ausführbare Maschinencode werden als Programm bezeichnet. Um aus dem Quelltext den Maschinencode zu generieren, wird ein Assembler, Compiler oder Interpreter benötigt. Diese übersetzen die Befehle der Programmiersprache, die für menschliche Benutzer verständlich und bearbeitbar sein sollen, in die semantisch entsprechenden Befehle der Maschinensprache des verwendeten Computers.


Geschichte

Das erste Computerprogramm von Ada Lovelace
Als weltweit erstes Computerprogramm gilt eine Vorschrift für die Berechnung von Bernoulli-Zahlen, die Ada Lovelace in den Jahren 1842/1843 für die mechanische Analytical Engine von Charles Babbage erstellte. Dieses Programm konnte zu ihrer Zeit nur von Hand ausgeführt werden, denn wegen Fertigungsproblemen gab es im 19. Jahrhundert keine funktionsfähige Maschine.


Erste Programme auf Lochstreifen
In den Jahren 1936 bis 1941 entwarf Konrad Zuse die Rechner Z1 und Z3, die lange Befehlsfolgen auf einem Lochstreifen verarbeiteten, die ersten Computerprogramme, die auf realen Maschinen ausgeführt werden konnten. Die Rechner beherrschten die vier Grundrechenarten und Quadratwurzelberechnungen auf binären Gleitkommazahlen, der Lochstreifen enthielt jeweils eine Rechenoperation und eine Speicheradresse.

Auf Zuse geht auch die erste höhere Programmiersprache, Plankalkül, zurück. Damit lassen sich Probleme maschinenunabhängig formulieren und später in eine maschinenlesbare Form überführen.


Programme im Arbeitsspeicher
Der EDVAC-Rechner, der auf einem Entwurf von John von Neumann aus dem Jahre 1945 basiert, hatte einen Quecksilber-Verzögerungsspeicher für 1024 Fest- oder Gleitkommazahlen mit jeweils 44 Bits. Jede Speicherzelle konnte statt einer Zahl auch einen Befehl aufnehmen. Bei diesem Rechnerkonzept war es möglich, die Befehle eines Computerprogramms vor der Ausführung erstmals in den Arbeitsspeicher übertragen. Dies ist noch heute üblich. EDVAC wurde jedoch erst im Jahre 1951 teilweise fertiggestellt. Der Demonstrationsrechner Manchester SSE und der auf dem EDVAC aufbauende EDSAC-Rechner hatten schon vorher Programme aus dem Arbeitsspeicher ausgegeführt.


Höhere Programmiersprachen und Compiler
Ende der 1950er Jahre wurden Computer so leistungsfähig, dass spezielle Programme, Compiler, Quelltexte in höheren Programmiersprachen automatisch in Maschinenbefehle, also ausführbare Programme, übersetzen konnten. Ausführbare Programme können dann, wie beim EDVAC, in den Speicher geladen und abgearbeitet werden.

Mit Fortran, COBOL, ALGOL und LISP entstanden in den späten 1950er Jahren die ersten standardisierten höheren Programmiersprachen. Programme in diesen Sprachen laufen durch einen entsprechenden Compiler übersetzt auf unterschiedlichen Rechnern. Sie können teilweise auch noch auf modernen Computern eingesetzt werden.


Vom Algorithmus zum Programm

Berechnung des größten gemeinsamen Teilers
Es soll ein Programm zur Bestimmung des größten gemeinsamen Teilers (ggT) zweier Zahlen erstellt werden. Zunächst muss ein geeigneter Algorithmus gefunden werden.

Der euklidische Algorithmus, der bereits um 300 v. Chr. beschrieben wurde, ermittelt den größten gemeinsamen Teilers (ggT) zweier natürlicher Zahlen A und B:

Sei A die größere der beiden Zahlen A und B (gegenenfalls vertauschen).
Setze A = A – B.
Wenn A und B ungleich sind, dann mit Schritt 1 fortfahren, wenn sie gleich sind, dann den Algorithmus beenden: Diese Zahl ist der größte gemeinsame Teiler.

Verwendung einer Programmiersprache
Sobald eine formale Beschreibung eines Algorithmus, also eine genau definierte Verarbeitungsvorschrift, vorliegt, kann der Algorithmus umgesetzt (implementiert) werden. Dazu wird eine geeignete Programmiersprache ausgewählt.

Zur Umsetzung wird heute meist eine höhere Programmiersprache verwendet, die von einem Computer eventuell nicht direkt ausgeführt werden kann, sondern zuerst compiliert oder interpretiert werden muss. In Sprachen wie Pascal dienen Variablen, Ausdrücke, Vergleiche, Zuweisungen und Kontrollstrukturen zur Umsetzung des ggT-Algorithmus:

(* Schritt3: *)
WHILE A <> B DO BEGIN (* Solange A ungleich B *)
(* Schritt1: *)
IF B > A THEN BEGIN (* Falls B größer als A *)
H := A; A := B; B := H; (* A und B vertauschen *)
END; (* Schritt2: *)
A := A-B; (* A durch A-B ersetzen *)
END;

Berücksichtigung aller Sonderfälle
Bei der Umsetzung wird mit der Prüfung von Schritt 3 begonnen. Der ursprüngliche Algorithmus berücksichtigt nicht den Fall, dass A und B bereits zu Beginn gleich sein können. Wäre die Aufgabe, den größten Teiler von 103 und 103 zu finden, würde ein Mensch sofort das Ergebnis 103 nennen, er würde den Algorithmus gar nicht bemühen. Der originale Algorithmus würde aber null ergeben. Die Umsetzung auf einem Rechner muss auch alle Sonderfälle berücksichtigen. Durch das Vorziehen von Schritt 3 wird der Sonderfall hier korrekt behandelt.


Elementare Schritte
Pascal und andere Programmiersprachen besitzen keine Operation zum Vertauschen von Zahlen. Dies muss daher in elementarere Schritte umgesetzt werden. Eine zusätzliche Variable H, eine so genannte Hilfsvariable, erlaubt die Vertauschung mit Hilfe von drei Zuweisungen:

H := A; (* Wert von A in der Hilfsvariablen H retten *)
A := B; (* A mit dem Wert von B überschreiben *)
B := H; (* B mit dem Wert von H (=A) überschreiben *)
Dies ist auch ein kleiner Algorithmus.


Ein vollständiges Programm
Damit hieraus ein korrektes Programm wird, muss der Algorithmus noch um Ein- bzw. Ausgabeanweisungen, oft jedoch auch um Variablen und eine Programmstruktur ergänzt werden. Diese sind nicht Teil des eigentlichen Algorithmus:

PROGRAM Ggt(Input,Output); (* Programmkopf *)
VAR A,B,H: Integer; (* Variablendefinition *)
BEGIN
ReadLn(A,B); (* Eingabe von A und B *)
WHILE A <> B DO BEGIN (* Euklidischer *)
IF B > A THEN BEGIN (* Algorithmus *)
H := A; A := B; B := H;
END;
A := A-B;
END;
WriteLn(A); (* Ausgabe von A *)
END. (* Programmende *)

Übersetzung und Ausführung
Erst dieses Programm kann mit einem Texteditor in eine Datei geschrieben werden, die dann übersetzt und ausgeführt werden kann. Hierzu ist ein Compiler erforderlich, der den Code in der Programmiersprache in Maschinensprache übersetzt und das Ergebnis in eine ausführbare Datei schreibt. Diese kann dann über ein Betriebssystem gestartet werden. Das Programm muss dabei nur einmal übersetzt werden. Es kann danach beliebig oft gestartet werden. (Siehe auch Kompilierung).

Einige Programmiersprachen benötigen keinen Compiler, aber statt dessen einen Interpreter, der Programme ohne vorherige Übersetzung ausführen kann. Der Interpreter selbst ist dann ein ausführbares Programm in Maschinensprache.

Eine weitere Möglichkeit besteht in der Verwendung von Zwischencode (Bytecode), der vom Compiler an Stelle des Maschinencodes generiert wird.

Zusätzlich bieten einige moderne Programmiersprachen wie Java mit Hilfe von Decompiler-Programmen aus einer fertig kompilierten Anwendung den ursprünglichen Sourcecode wieder zu rekonstruieren. Um dies zu verhindern gibt es wiederum Obfuscator-Software, die dafür sorgt, dass der Sourcecode nicht mehr lesbar ist.


.....gruß Cyberspion.....


melden
334 Mitglieder anwesend
Konto erstellen
Allmystery Newsletter
Alle zwei Wochen
die beliebtesten
Diskussionen per E-Mail.

Themenverwandt
Roboterkrieg15 Beiträge