www.wikidata.de-de.nina.az
Ein Computerprogramm oder kurz Programm ist eine den Regeln einer bestimmten Programmiersprache genugende Folge von Anweisungen bestehend aus Deklarationen und Instruktionen um bestimmte Funktionen bzw Aufgaben oder Probleme mithilfe eines Computers zu bearbeiten oder zu losen 1 Inhaltsverzeichnis 1 Uberblick 2 Klassifizierungsmoglichkeiten 3 Geschichte 3 1 Die Analytische Maschine von Charles Babbage 3 2 Das erste veroffentlichte Computerprogramm von Ada Lovelace 3 3 Erste Programme auf Lochstreifen 3 4 Programme im Arbeitsspeicher 3 5 Hohere Programmiersprachen und Compiler 4 Vom Algorithmus zum Programm 4 1 Berechnung des grossten gemeinsamen Teilers 4 2 Verwendung einer Programmiersprache 4 3 Berucksichtigung aller Sonderfalle 4 4 Elementare Schritte 4 5 Ein vollstandiges Programm 4 6 Ubersetzung und Ausfuhrung 4 7 Lebensphasen 5 Urheberschutz 6 Siehe auch 7 Literatur 8 Weblinks 9 EinzelnachweiseUberblick Bearbeiten Computerprogramm Begriffszusammenhange und im Sprachgebrauch auftretende SynonymeEin Computerprogramm gehort zur Software eines Computers Es liegt meist auf einem Datentrager als ausfuhrbare Programmdatei haufig im sogenannten Maschinencode vor die zur Ausfuhrung in den Arbeitsspeicher des Rechners geladen wird Das Programm wird als Abfolge von Maschinen d h Prozessorbefehlen von dem oder den Prozessoren des Computers verarbeitet und damit ausgefuhrt Computerprogramme entstehen im Rahmen der Softwareentwicklung Die dabei direkt auf einzelne Programme bezogenen Aktivitaten bezeichnet man im allgemein als Programmierung oder auch als Implementierung Dabei entsteht zunachst fur jedes Programm ein sog Quelltext den Programmierer in einer Programmiersprache abgefasst haben Er besteht aus einer Abfolge von zumeist der englischen Sprache entnommenen Anweisungen die fur Programmierer im Allgemeinen verstandlicher sind z B ADD SUB AND OR und durch menschliche Benutzer einfacher bearbeitbar sind als der spater daraus entstehende Maschinencode Damit ein in einer Hochsprache geschriebenes Programm ausgefuhrt werden kann muss sein Quellcode in Maschinencode ubersetzt werden Eine Anweisung einer hoheren Programmiersprache wird im Allgemeinen in mehrere Maschinenbefehle ubersetzt Der Ubersetzungsvorgang wird Kompilierung genannt Um aus dem Quelltext den Maschinencode zu generieren wird ein Assembler Compiler oder Interpreter benotigt Dieser ubersetzt die Anweisungen der Programmiersprache in die semantisch entsprechenden Befehle der Maschinensprache des zu verwendenden Computers Der Programmcode kann in Dateien gespeichert werden die meist durch eine Dateiendung gekennzeichnet sind Quelltextdateien weisen damit auf die verwendete Hochsprache hin lt programm gt c ein in C formuliertes Programm Sie konnen im Allgemeinen mit einem einfachen Texteditor bearbeitet werden Eine Datei die dagegen Maschinencode enthalt besitzt keine oder eine betriebssystemspezifische Endung die lediglich auf ihre Ausfuhrbarkeit hinweist lt programm gt exe bei MS DOS und Windows lt programm gt bei unixoiden Systemen Sie kann oft als Kommando in einem Terminal Eingabeaufforderung aufgerufen werden Siehe auch Programmbibliothek Im Sprachgebrauch wird Computerprogramm meist zu Programm verkurzt oder der Begriff Software verwendet Allerdings ist Computerprogramm kein Synonym zu Software vielmehr ist Software ein IT Sammelbegriff fur Nicht Hardware zum Beispiel fur Betriebssystem Datenbank oder fur eine komplette fur den Benutzer fertige IT Anwendung die Komponenten wie Grafik und Audiodateien Schriftarten Hilfetexte usw umfassen kann Ein grosseres Computerprogramm besteht meist aus mehreren Modulen die entweder zum Programm selbst gehoren oder die als Bausteine Unterprogramme aus bereits bestehenden Programmbibliotheken bei der Ausfuhrung des Programms benutzt werden Im umgekehrten Fall konnen Computerprogramme Teil eines ubergeordneten ein grosseres Aufgabengebiet abdeckenden Anwendungssystems sein Beispiel Gehaltsabrechnung Finanzbuchhaltung Meldewesen Die Anweisungen die als Teil von Programmen einen konkreten Losungsweg reprasentieren werden als Algorithmus bezeichnet Beispiel Berechnen der Mehrwertsteuer Die Entwicklung von Computerprogrammen ist das Gebiet der Softwaretechnik Je nach Komplexitat der zu entwickelnden Computerprogramme geschieht dies im Rahmen von Projekten Die Aktivitaten der Beteiligten werden dabei meist unter Anwendung von Vorgehensmodellen speziellen Methoden und Werkzeugen zur Softwareentwicklung ausgefuhrt In den Anfangen der Programmierung wurde bis zur Entwicklung von Programmiersprachen ausschliesslich in Maschinencode programmiert Spater kamen hohere Programmiersprachen zum Einsatz Je komplexer ein Computerprogramm ist desto anspruchsvoller ist die vorbereitende Planung und desto wichtiger die Erfahrung der ausfuhrenden Programmierer Bei grosseren Programmen kommt es aufgrund mangelnder Planung und Erfahrung der Programmierer oft zu unnotig komplexen und oder ineffizienten Programmen oder Programmteilen siehe auch Bloatware Klassifizierungsmoglichkeiten BearbeitenNeben den fur Software im Allgemeinen geltenden Unterscheidungsmerkmalen lassen sich Computerprogramme als Untervariante von Software nach den folgenden beispielhaft genannten Kriterien unterscheiden Quellprogramme in einer bestimmten Programmiersprache oder Maschinenprogramme ausfuhrbar auf bestimmten Plattformen oder Programme in einem Zwischencode Hauptprogramme aufgerufen uber Betriebssystem Kommandos oder Unterprogramme aufgerufen durch andere Programme Sonderformen treten auf wenn Programme z B uber technische Steuerungskomponenten aufgerufen werden z B uber serviceorientierte Architekturen automatisiertes Workflow Management Stapelprogramme verarbeiten Stapel von Daten bzw Shellskripte oder Dialogprogramme stehen in Interaktion mit Benutzern z B uber Dialoge Nach dem Ort der Speicherung und Programmausfuhrung unterschieden konnen Programme lokal auf einem Arbeitsplatzrechner gespeichert und ausgefuhrt werden oder auf einem Server installiert sein und trotzdem lokal nach dem Laden uber eine Online Verbindung ausgefuhrt werden oder nur auf dem Server gespeichert und dort auch ausgefuhrt werden Bei verteilten Anwendungen werden Programmteile auf unterschiedlichen Rechnern ausgefuhrt z B die Geschaftslogik und Datenhaltung im Server Funktionen der Benutzeroberflache am lokalen Rechner im rein technischen Sinn stehen hierbei verschiedene Programme miteinander in Verbindung Geschichte BearbeitenSiehe auch Geschichte der Programmiersprachen Programmiersprache Geschichte und Programmierung Geschichte Die Analytische Maschine von Charles Babbage Bearbeiten Charles Babbage stellte bereits 1832 einen Demonstrator seiner Differenzmaschine No 1 vor verfolgte ab 1834 jedoch das Konzept einer per Dampfkraft betriebenen Rechenmaschine fur die allgemeine Anwendung die er englisch Analytical Engine nannte Analytische Maschine 2 Diese hatte per Lochkarten programmiert werden konnen unterschiedliche Rechnungen durchzufuhren sodass die Auswertung polynomialer Funktionen die alleinige Funktion der Differenzmaschine nur ein Programm unter vielen gewesen ware Fur die Entwicklung seiner universellen Rechenmaschine brachte Charles Babbage zwischen 1837 und 1840 insgesamt 27 Programme zu Papier Einige der Designentscheidungen fur die Analytischen Maschine lassen sich direkt im Quelltext der Programme nachvollziehen 2 So hat die Analytische Maschine bereits eine Trennung zwischen Speicher und Rechenwerk was charakteristische fur Computer seit den 1940er Jahren ist 3 Obwohl nie gebaut gilt die Analytical Engine damit als der erste Computer der Geschichte 4 oder zumindest als dessen Vorlaufer 5 nach der Definition einer Universellen Rechenmaschine englisch multipurpose computing machine nach Alan Turing 6 Seine Notizen die auch die Programme beinhalten blieben unveroffentlicht und wurden 1937 wiederentdeckt 7 Die Quelltexte der Programme selbst wurden erst 1982 erstmals untersucht 8 Die Notizen von Charles Babbage zur Analytical Engine sind in den babbage papers des Science Museums von London frei als Open Access abrufbar 9 Das erste Programm tragt den 4 August 1837 als Datum und befasst sich mit Simultangleichungen der Cramerschen Regel Einige der spateren Programme sind relativ komplex wie z B die Multiplikation von zwei Polynomen Der Code enthalt bereits Indirekte Adressierung und den bedingten Sprung IF THEN ELSE Befehle Das erste veroffentlichte Computerprogramm von Ada Lovelace Bearbeiten Ada Lovelace Tochter des britischen Dichters Lord Byron traf Charles Babbage 1833 und unterhielt mit ihm bis zu ihrem Tod 1852 eine Freundschaft Ab ca 1841 arbeitete sie mit ihm zusammen an der Analytischen Maschine 1843 ubersetzte sie ein Manuskript des italienischen Ingenieurs Luigi Federico Menabrea uber die Analytical Engine ins Englische versah die Ubersetzung jedoch mit zahlreichen zusatzlichen Anmerkungen zum konzeptionellen Unterschied zwischen Babbage s Differenzmaschine und der Analytischen Maschine Dazu schrieb sie auch ein Programm das die Bernoulli Zahlen berechnet 10 Es ist die weltweit erste Publikation eines Computerprogramms wodurch Ada Lovelace als die erste Programmiererin gilt 11 12 13 Die 1980 veroffentlichte Programmiersprache Ada ist nach Ada Lovelace benannt Erste Programme auf Lochstreifen Bearbeiten 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 ausgefuhrt werden konnten Die Rechner beherrschten die vier Grundrechenarten und Quadratwurzelberechnungen auf binaren Gleitkommazahlen der Lochstreifen enthielt jeweils eine Rechenoperation und eine Speicheradresse 14 Auf Zuse geht auch die erste hohere Programmiersprache Plankalkul zuruck Damit lassen sich Probleme maschinenunabhangig formulieren und spater in eine maschinenlesbare Form uberfuhren Programme im Arbeitsspeicher Bearbeiten Der EDVAC Rechner der auf einem Entwurf von John von Neumann aus dem Jahre 1945 basiert hatte einen Quecksilber Verzogerungsspeicher fur 1024 Fest oder Gleitkommazahlen mit jeweils 44 Bit Jede Speicherzelle konnte statt einer Zahl auch einen Befehl aufnehmen Bei diesem Rechnerkonzept war es moglich die Befehle eines Computerprogramms vor der Ausfuhrung zuerst in den Arbeitsspeicher zu ubertragen Das ist heute noch ublich EDVAC wurde jedoch erst im Jahr 1951 teilweise fertiggestellt Der Demonstrationsrechner Manchester SSE und der auf dem EDVAC aufbauende EDSAC Rechner hatten schon vorher Programme aus dem Arbeitsspeicher ausgefuhrt Hohere Programmiersprachen und Compiler Bearbeiten Ende der 1950er Jahre wurden Computer so leistungsfahig dass spezielle Programme Compiler genannt Quelltexte in hoheren Programmiersprachen automatisch in Maschinenbefehle also ausfuhrbare Programme ubersetzen konnten Ausfuhrbare Programme konnen dann wie beim EDVAC in den Speicher geladen und abgearbeitet werden Mit Fortran COBOL ALGOL und LISP entstanden in den spaten 1950er Jahren die ersten standardisierten hoheren Programmiersprachen Programme in diesen Sprachen laufen durch einen entsprechenden Compiler ubersetzt auf unterschiedlichen Rechnern Sie konnen teilweise auch noch auf modernen Computern eingesetzt werden Vom Algorithmus zum Programm BearbeitenBerechnung des grossten gemeinsamen Teilers Bearbeiten Es soll ein Programm zur Bestimmung des grossten gemeinsamen Teilers ggT zweier Zahlen erstellt werden Zunachst muss ein geeigneter Algorithmus gefunden werden Der Euklidische Algorithmus der bereits um 300 v Chr beschrieben wurde ermittelt den grossten gemeinsamen Teiler ggT zweier naturlicher Zahlen a und b Sei a die grossere der beiden Zahlen a und b Wenn a kleiner als b ist dann vertausche die Zahlen Setze a auf den Wert a b Wenn a und b ungleich sind dann fahre mit Schritt 1 fort Wenn a und b gleich sind dann ist der Algorithmus beendet Diese Zahl ist der grosste gemeinsame Teiler Verwendung einer Programmiersprache Bearbeiten Sobald eine formale Beschreibung eines Algorithmus also eine genau definierte Verarbeitungsvorschrift vorliegt kann der Algorithmus umgesetzt implementiert werden Dazu wird eine geeignete Programmiersprache ausgewahlt Zur Umsetzung wird heute meist eine hohere Programmiersprache verwendet die von einem Computer eventuell nicht direkt ausgefuhrt werden kann sondern zuerst kompiliert oder interpretiert werden muss In Sprachen wie Pascal dienen Variablen Ausdrucke Vergleiche Zuweisungen und Kontrollstrukturen zur Umsetzung des ggT Algorithmus while a lt gt b do Schritt 3 solange a ungleich b begin if b gt a then Schritt 1 falls b grosser als a begin temp a a und b vertauschen a b b temp end a a b Schritt 2 a durch a b ersetzen end Berucksichtigung aller Sonderfalle Bearbeiten Bei der Umsetzung wird mit der Prufung von Schritt 3 begonnen Der ursprungliche Algorithmus berucksichtigt nicht den Fall dass a und b bereits zu Beginn gleich sein konnen Ware es die Aufgabe den grossten Teiler von 103 und 103 zu finden wurde ein Mensch sofort das Ergebnis 103 nennen er wurde den Algorithmus gar nicht bemuhen Der originale Algorithmus wurde aber null ergeben Die Umsetzung auf einem Rechner muss auch alle Sonderfalle berucksichtigen Durch das Vorziehen von Schritt 3 wird der Sonderfall hier korrekt behandelt Elementare Schritte Bearbeiten Pascal und andere Programmiersprachen besitzen keine Operation zum Vertauschen von Zahlen Dies muss daher in elementarere Schritte umgesetzt werden Die zusatzliche Variable temp eine sogenannte Hilfsvariable erlaubt die Vertauschung mit Hilfe von drei Zuweisungen temp a Wert von a in der Hilfsvariablen temp retten a b a mit dem Wert von b uberschreiben b temp b mit dem Wert von temp uberschreiben Auch dies ist ein kleiner Algorithmus Ein vollstandiges Programm Bearbeiten Damit daraus ein korrektes Programm wird muss der Algorithmus noch um Ein bzw Ausgabeanweisungen oft jedoch auch um Variablen und eine Programmstruktur erganzt werden Diese sind nicht Teil des eigentlichen Algorithmus program Ggt Programmkopf var a b temp Integer Variablendefinition begin ReadLn a b Eingabe von a und b while a lt gt b do Euklidischer Algorithmus begin if b gt a then begin temp a a b b temp end a a b end WriteLn a Ausgabe von a end Programmende Ubersetzung und Ausfuhrung Bearbeiten Ein solches Programm wird unter Verwendung eines Texteditors erstellt und als Quellcode in einer Datei oder Programmbibliothek fur Quellcode gespeichert Anschliessend kann der Quellcode zu einer festen Ablaufanweisung fur den Computer ubersetzt werden Hierzu ist ein Compiler erforderlich der den Code aus der jeweiligen Programmiersprache in die Maschinensprache ubersetzt und als Ergebnis ein ausfuhrbares Programm erstellt welches als Datei oder in einer Programmbibliothek fur ausfuhrbare Programme abgelegt wird Dieses Programm kann dann uber ein Betriebssystem als Prozess gestartet werden und zwar beliebig oft ohne neue Ubersetzung Solch ein einzelner laufender Prozess eines Programms wird auch Programminstanz genannt 15 Einige Programmiersprachen verwenden keinen Compiler sondern einen Interpreter der Programme erst zur Laufzeit in Maschinensprache ubersetzt Eine weitere Moglichkeit besteht in der Verwendung von Zwischencode Bytecode der vom Compiler an Stelle des Maschinencodes generiert wird Ein Beispiel dafur ist Java Der Java Compiler erzeugt Bytecode welcher dann auf der sogenannten virtuellen Maschine ausgefuhrt wird Die virtuelle Maschine interpretiert oder ubersetzt dann den Bytecode fur das darunterliegende Betriebssystem Ebenso muss in manchen Rechnerumgebungen in der Regel bei Grossrechnern der vom Compiler erstellte Maschinencode noch mit einem Systemprogramm Linkage Editor o a nachbearbeitet werden wobei ggf weitere Unterprogramme und Systemroutinen eingebunden werden konnen Erst so ist das entstandene Programm ausfuhrbar Mittels spezieller Programme sogenannter Decompiler ist es in begrenztem Masse moglich aus dem Maschinencode wieder einen in Hochsprache lesbaren Quelltext zu erzeugen Lebensphasen Bearbeiten Programme haben mindestens zwei klar getrennte Lebensphasen Der Zeitraum bis zum Zeitpunkt der Kompilierung inklusive wird Compilezeit genannt welche im Gegensatz zur Laufzeit steht In der Compilezeit Phase hat das Programm statische Eigenschaften gegeben nur durch den festen Quellcode Nach der Kompilierung und mit der Ausfuhrung besitzt das binare Programm dynamische Eigenschaften und Verhalten in zusatzlicher Abhangigkeit der jeweiligen Laufzeitumgebung variierende Hardware User Interaktion etc In umfassenderen Sinn lassen sich Lebensphasen von Programmen auch als Software Lebenszyklus verstehen Demnach gehoren zur inhaltlich prazisen Festlegung des Programm Inhalts die Projektphasen Problemstellung Analyse und Entwurf anschliessend folgt die technische Implementierung in der das Programm in Form von Quelltext entsteht Danach befindet es sich in der Phase Einfuhrung Nach diesen Entstehungsphasen von Programmen folgt deren produktive Nutzung bei Bedarf werden Anpassungen und Erweiterungen Wartungs Pflegephase vorgenommen Aus betriebswirtschaftlicher Sicht lassen sich auch Computerprogramme nach dem allgemeinen Produktlebenszyklus klassifizieren Urheberschutz BearbeitenEin Computerprogramm wird urheberrechtlich geschutzt wenn es individuelles Ergebnis einer eigenen geistigen Schopfung ihres Urhebers ist 69a Abs 3 UrhG Mit Umsetzung der Urheberrechtsrichtlinie aus dem Jahre 2001 wurde die Schutzschwelle fur Computerprogramme in den EG Mitgliedsstaaten harmonisiert Es genugt ein Minimum an Individualitat fur den Schutz Kleine Munze Es wird vermutet dass sich die Individualitat des Urhebers im Programm niedergeschlagen hat wenn Spielraum dazu bestand Geistiger Gehalt wird vermutet wenn das Programm von einem menschlichen Urheber geschaffen wurde EntwicklungIn der Bundesrepublik erfolgte die gesetzliche Anerkennung des Urheberrechtsschutzes 1985 16 die Rechtsprechung hielt ihn schon vorher fur moglich 17 1991 folgte die Richtlinie 91 250 EWG uber den Rechtsschutz von Computerprogrammen 1993 gesetzliche Regelungen in Osterreich 18 und der Schweiz 19 sowie 1996 in Liechtenstein 20 In der DDR hatte die Rechtsprechung 1979 die urheberrechtliche Schutzfahigkeit verneint 21 jedoch konnte in Wirtschaftsvertragen uber wissenschaftlich technische Leistungen die Vergabe von Software durch andere Partner als die erarbeitende Wirtschaftseinheit ausgeschlossen werden 22 Siehe auch BearbeitenAnwendungssoftware DienstprogrammLiteratur BearbeitenJohn von Neumann First Draft of a Report on the EDVAC PDF 0 4 MB 1945 Martin Abadi Takayasu Itō Theoretical Aspects of Computer Software 1997 Masami Hagiya John C Mitchell Theoretical Aspects of Computer Software 1994Weblinks Bearbeiten Wiktionary Computerprogramm Bedeutungserklarungen Wortherkunft Synonyme UbersetzungenEinzelnachweise Bearbeiten ISO IEC 2382 1 1993 definiert computer program A syntactic unit that conforms to the rules of a particular programming language and that is composed of declarations and statements or instructions needed to solve a certain function task or problem Bis 2001 definierte die DIN 44300 Informationsverarbeitung Begriffe identisch a b Raul Rojas Die ersten Computerprogramme der Welt In Heise online 18 September 2016 Abgerufen am 22 Januar 2022 Zitat Charles Babbage hat ab 1837 innerhalb von drei Jahren 27 Programme fur die schliesslich unvollendet gebliebene Analytische Maschine auf Papier gebracht Doron D Swade Der mechanische Computer des Charles Babbage Abgerufen am 22 Januar 2022 Spektrum der Wissenschaft 4 1993 S 78 Mickael Launay Der grosse Roman der Mathematik Von den Anfangen bis heute C H Beck 2018 ISBN 978 3 406 72152 6 eingeschrankte Vorschau in der Google Buchsuche Diese revolutionare Funktionsweise macht Babbages Erfindung zum ersten Computer der Geschichte Jurgen Beetz Digital Wie Computer denken Springer Verlag 2019 ISBN 978 3 662 58630 3 1 1 Eine Analogie zu analog und digital S 3 eingeschrankte Vorschau in der Google Buchsuche Er erfand zwei mechanische programmierbare Rechenmaschinen die er allerdings nie zum Laufen brachte Trotzdem gelten sie als Vorlaufer des modernen Computers Eileen Lucas Charles Babbage and Ada Lovelace The Pen Pals Who Imagined the First Computer Rosen Publishing 2021 ISBN 978 1 72534 225 5 6 1 Conclusion S 66 englisch eingeschrankte Vorschau in der Google Buchsuche In the 1930s British mathematician Alan Turing introduced a multipurpose computing machine Turing s Universal Machine would have some way to read and write data a way to move the data in and out of a storage system and a code of symbols by which the computer could instruct itself According to some computer historians the Turing Machine is still the standard against which all computers are measured By that standard Babbage s Analytical Engine was the first computer Joachim Stolze Dieter Suter Quantum Computing A Short Course from Theory to Experiment Wiley 2004 ISBN 3 527 40438 4 3 1 Bit of history S 27 englisch eingeschrankte Vorschau in der Google Buchsuche Babbage s unpublished notebooks were rediscovered in 1937 Allan G Bromley Charles Babbage s Analytical Engine 1838 In IEEE Hrsg Annals of the History of Computing July Sept 1982 Band 4 Nr 3 1982 ISSN 0164 1239 S 196 ff doi 10 1109 MAHC 1982 10028 englisch Notations of calculations for the Analytical Engine In The Babbage Papers Science Museum Group abgerufen am 22 Januar 2022 englisch Roland Schmitz Theoretische Informatik fur Dummies 1 Auflage Wiley 2019 ISBN 978 3 527 71431 5 15 Top Ten Theoretiker Ada Lovelace 1815 1852 eingeschrankte Vorschau in der Google Buchsuche Als eine von ganz wenigen Zeitgenossen erkannte sie Anm Ada Lovelace das wahre Potenzial von Babbages Analytical Engine und arbeitete ab ca 1841 mit ihm zusammen Der Hohepunkt dieser Zusammenarbeit kam im Jahr 1843 als Ada Lovelace ein Manuskript des italienischen Ingenieurs Luigi Menabrea in dem dieser die Analytical Engine detailliert beschrieben hatte ins Englische ubersetzte Sie beliess es aber nicht beim blossen Ubersetzen sondern fugte eigene Notes of the Translator hinzu die am Ende doppelt so lang waren wie Menabreas ursprungliches Manuskript Die Notes begrundeten ihren spateren Weltruhm Sie machte den konzeptionellen Unterschied zwischen der Differential Anm Engine und der Analytical Engine deutlich beschrieb moderne Programmierkonzepte wie Subroutinen und relative Funktionsaufrufe und beschrieb ausserst detailliert die Instruktionen die notig waren damit die Analytical Engine eine komplizierte Aufgabe aus der Zahlentheorie die Berechnung so genannter Bernoulli Zahlen bearbeiten konnte Diese Instruktionen werden heute als das erste Computerprogramm uberhaupt angesehen und Ada Lovelace als der Welt erste Programmiererin Dorothy Stein Ada a life and a legacy MIT Press Cambridge Mass 1985 ISBN 0 262 19242 X Jurgen Beetz Digital Wie Computer denken Springer Verlag 2019 ISBN 978 3 662 58630 3 1 1 Eine Analogie zu analog und digital S 3 eingeschrankte Vorschau in der Google Buchsuche Sie verfasste schriftliche Kommentare zur Analytical Engine und entwickelte eine Methode zur Programmierung von Maschinen nach dem Babbage System Sie erdachte 1843 den ersten fur einen Computer vorgesehenen Algorithmus zur Berechnung von Bernoullizahlen und schrieb damit das erste Computerprogramm Reflections on the Decline of Science in England and on Some of Its Causes eingeschrankte Vorschau in der Google Buchsuche In 1843 Babbage s friend mathematician Ada Lovelace translated a French paper about the Analytical Engine and in her own annotations published how it could perform a sequence of calculations the first computer program Bayerischer Rundfunk Martin Schramm Konrad Zuse John von Neumann und Co Der Computer hatte viele Vater 22 Februar 2022 br de abgerufen am 4 Mai 2022 Roland Hellmann Rechnerarchitektur Einfuhrung in den Aufbau moderner Computer Walter de Gruyter 2013 ISBN 978 3 486 72002 0 S 271 eingeschrankte Vorschau in der Google Buchsuche Gesetz zur Anderung von Vorschriften auf dem Gebiet des Urheberrechts vom 24 Juni 1985 BGBl I S 1137 BT Drs 10 3360 BGHZ 94 276 Inkasso Programm 9 Mai 1985 Urheberrechtsgesetz Novelle 1993 UrhGNov 1993 BGBl Nr 93 1993 siehe auch OGH RIS Justiz RS0076609 Bundesgesetz uber das Urheberrecht und verwandte Schutzrechte Urheberrechtsgesetz URG vom 9 Oktober 1992 AS 1993 1798 Verordnung uber bestimmte Schutzrechte im Bereich des Geistigen Eigentums VGE vom 30 Januar 1996 LGBl 1996 Nr 31 Bezirksgericht Leipzig NJ 1981 236 Zentrales Vertragsgericht Spruchpraxis 11 35 Wirtschaftsrecht 1984 21 GRUR Int 1984 305 zu 18 der 1 Durchfuhrungsverordnung zum Vertragsgesetz Normdaten Sachbegriff GND 4047394 6 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Computerprogramm amp oldid 234901308