Befehlende Programmierung

In der Informatik ist befehlende Programmierung ein Programmierparadigma, das Berechnung in Bezug auf Behauptungen beschreibt, die einen Programm-Staat ändern. Auf die ziemlich gleiche Weise, wie befehlende Stimmung in Schnellzug-Befehlen der natürlichen Sprachen, zu handeln, befehlende Programme Folgen von Befehlen für den Computer definieren, um zu leisten.

Der Begriff wird entgegen der Aussageprogrammierung gebraucht, die ausdrückt, was das Programm vollbringen sollte ohne vorzuschreiben, wie man es in Bezug auf Folgen von zu nehmenden Handlungen tut. Funktionelle und logische Programmierung ist Beispiele einer mehr Aussageannäherung.

Befehlende, Verfahrens- und Aussageprogrammierung

Verfahrensprogrammierung ist befehlende Programmierung, in der das Programm aus einem oder mehr Verfahren (auch bekannt als Unterprogramme oder Funktionen) gebaut wird. Die Begriffe werden häufig als Synonyme gebraucht, aber der Gebrauch von Verfahren hat eine dramatische Wirkung an, wie befehlende Programme erscheinen, und wie sie gebaut werden. Schwer verfahrensrechtliche Programmierung, in der Zustandsänderungen zu Verfahren lokalisiert oder auf ausführliche Argumente und Umsatz aus Verfahren eingeschränkt werden, ist als strukturierte Programmierung bekannt. Von den 1960er Jahren vorwärts, strukturierter Programmierung und Modulprogrammierung im Allgemeinen, sind als Techniken gefördert worden, um die Haltbarkeit und gesamte Qualität von befehlenden Programmen zu verbessern. Objektorientierte Programmierung erweitert diese Annäherung.

Verfahrensprogrammierung konnte als ein Schritt zur Aussageprogrammierung betrachtet werden. Ein Programmierer kann häufig erzählen, indem einfach er auf die Namen, Argumente schaut, und Typen von Verfahren zurückgeben (und verwandte Anmerkungen), welches besonderes Verfahren soll tun - ohne auf das Detail dessen notwendigerweise zu schauen, wie das Verfahren sein Ergebnis erreicht. Zur gleichen Zeit ist ein ganzes Programm noch befehlend, da es die Behauptungen 'befestigt', die durchzuführen sind und ihre Ordnung der Ausführung weit gehend.

Aussageprogrammierung ist ein nichtbefehlender Stil der Programmierung, in der Programme die gewünschten Ergebnisse des Programms beschreiben, ohne Befehl oder Schritte ausführlich zu verzeichnen, die ausgeführt werden müssen, um die Ergebnisse zu erreichen. Funktionelle und logische Programmiersprachen werden durch einen Aussageprogrammierstil charakterisiert.

Auf einer reinen funktionellen Sprache, wie Haskell, sind alle Funktionen ohne Nebenwirkungen, und Zustandsänderungen werden nur als Funktionen vertreten, die den Staat umgestalten. Obwohl reine funktionelle Sprachen nichtbefehlend sind, stellen sie häufig eine Möglichkeit zur Verfügung, für die Wirkung einer Funktion als eine Reihe von Schritten zu beschreiben. Andere funktionelle Sprachen, wie Lispeln, OCaml und Erlang, unterstützen eine Mischung der verfahrensrechtlichen und funktionellen Programmierung.

Auf logischen Programmiersprachen bestehen Programme aus logischen Behauptungen, und das Programm führt durch das Suchen nach Beweisen der Behauptungen durch. Als auf funktionellen Programmiersprachen fragen einige logische Programmiersprachen wie Einleitung und Datenbank Sprachen wie SQL, während Aussage-, im Prinzip,

unterstützen Sie auch einen Verfahrensstil der Programmierung.

Viele befehlende Programmiersprachen (wie Fortran, GRUNDLEGEND und C) sind Abstraktionen der Zusammenbau-Sprache.

Übersicht

Die Hardware-Durchführung fast aller Computer ist befehlend; fast die ganze Computerhardware wird entworfen, um Maschinencode durchzuführen, der zum Computer heimisch ist, der im befehlenden Stil geschrieben ist. Von dieser auf niedriger Stufe Perspektive wird der Programm-Staat durch den Inhalt des Gedächtnisses definiert, und die Erklärungen sind Instruktionen auf der heimischen Maschinensprache des Computers. Befehlsform-Sprachen des höheren Niveaus verwenden Variablen und kompliziertere Behauptungen, aber folgen noch demselben Paradigma. Rezepte und Prozess-Checklisten, während nicht Computerprogramme, sind auch vertraute Konzepte, die im Stil der befehlenden Programmierung ähnlich sind; jeder Schritt ist eine Instruktion, und die physische Welt hält den Staat. Da die Grundideen der befehlenden Programmierung sowohl begrifflich vertraut als auch in die Hardware direkt aufgenommen sind, sind die meisten Computersprachen im befehlenden Stil.

Zuweisungsbefehle, im befehlenden Paradigma, führen eine Operation auf der Information durch, die im Gedächtnis gelegen ist, und versorgen die Ergebnisse im Gedächtnis für den späteren Gebrauch. Befehlende Sprachen auf höchster Ebene erlauben außerdem die Einschätzung von komplizierten Ausdrücken, die aus einer Kombination von arithmetischen Operationen und Funktionseinschätzungen und der Anweisung des resultierenden Werts zum Gedächtnis bestehen können. Wenn Sie Behauptungen (solcher als in während Schleifen schlingen, tun Sie, während Schleifen und für Schleifen) erlauben einer Folge von Behauptungen, mehrmals durchgeführt zu werden. Schleifen können entweder die Behauptungen durchführen sie enthalten eine vorherbestimmte Zahl von Zeiten, oder sie können sie wiederholt durchführen, bis sich etwas Bedingung ändert. Bedingte sich verzweigende Behauptungen erlauben einer Folge von Behauptungen, nur durchgeführt zu werden, wenn etwas Bedingung entsprochen wird. Sonst werden die Behauptungen ausgelassen, und die Ausführungsfolge geht von der Behauptung im Anschluss an sie weiter. Vorbehaltlose sich verzweigende Behauptungen erlauben der Ausführungsfolge, einem anderen Teil des Programms übertragen zu werden. Diese schließen den Sprung ein (hat "goto" auf vielen Sprachen genannt), Schalter und das Unterprogramm oder Verfahren, rufen (der gewöhnlich zur folgenden Behauptung nach dem Anruf zurückkehrt)..

Block-Struktur

Früh in der Entwicklung von hohen Sprachen hat die Einführung des Blocks den Aufbau von Programmen ermöglicht, in denen eine Gruppe von Erklärungen und Behauptungen behandelt werden konnte, als ob sie eine einzelne Behauptung waren. Das, neben der Einführung von Unterprogrammen, hat komplizierten Strukturen ermöglicht, durch die hierarchische Zergliederung in einfachere Verfahrensstrukturen ausgedrückt zu werden.

Geschichte

Die frühsten befehlenden Sprachen waren die Maschinensprachen der ursprünglichen Computer. Auf diesen Sprachen waren Instruktionen sehr einfach, der Hardware-Durchführung leichter gemacht hat, aber die Entwicklung von komplizierten Programmen gehindert hat. FORTRAN, der von John Backus an IBM entwickelt ist, der 1954 anfängt, war die erste Hauptprogrammiersprache, um die Hindernisse zu beseitigen, die durch den Maschinencode in der Entwicklung von komplizierten Programmen präsentiert sind. FORTRAN war eine kompilierte Sprache, die genannte Variablen, komplizierte Ausdrücke, Unterprogramme und viele andere auf befehlenden Sprachen jetzt übliche Eigenschaften erlaubt hat. Die nächsten zwei Jahrzehnte haben die Entwicklung mehrerer anderer befehlender Hauptprogrammiersprachen auf höchster Ebene gesehen. Gegen Ende der 1950er Jahre und der 1960er Jahre wurde Algol entwickelt, um mathematischen Algorithmen zu erlauben, leichter ausgedrückt, und sogar als die Zielsprache des Betriebssystems für einige Computer gedient zu werden. MUMPS (1966) hat das Befehlende Paradigma zu einem logischen Extrem getragen, indem er irgendwelche Behauptungen überhaupt nicht gehabt worden ist, sich rein auf Befehle verlassend, sogar in Höhe davon zu haben, WENN und SONST befiehlt, von einander unabhängig, und nur durch eine innere Variable genannt $TEST verbunden zu sein. COBOL (1960) und GRUNDLEGEND (1964) war beide Versuche, Programmiersyntax mehr Englisch ähnlich sein zu lassen. In den 1970er Jahren wurde Pascal von Niklaus Wirth entwickelt, und C wurde von Dennis Ritchie geschaffen, während er an Glockenlaboratorien arbeitete. Wirth ist zum Design Modula-2 und Oberon weitergegangen. Für die Bedürfnisse nach dem USA-Verteidigungsministerium haben Jean Ichbiah und eine Mannschaft an Honeywell begonnen, Ada 1978 nach einem 4-jährigen Projekt zu entwerfen, die Voraussetzungen für die Sprache zu definieren. Die Spezifizierung wurde zuerst 1983, mit Revisionen 1995 und 2005/6 veröffentlicht.

Die 1980er Jahre haben ein schnelles Wachstum im Interesse an der objektorientierten Programmierung gesehen. Diese Sprachen waren im Stil, aber den Komfortmerkmalen befehlend, um Gegenstände zu unterstützen. Die letzten zwei Jahrzehnte des 20. Jahrhunderts haben die Entwicklung einer beträchtlichen Zahl solcher Programmiersprachen gesehen. Plausch 80, ursprünglich konzipiert von Alan Kay 1969, wurde 1980 durch Xerox Palo Altstimme-Forschungszentrum veröffentlicht. Als er von Konzepten auf einer anderen objektorientierten Sprache — Simula gezogen hat (der, wie man betrachtet, die erste objektorientierte Programmiersprache in der Welt, entwickelt gegen Ende der 1960er Jahre ist) — hat Bjarne Stroustrup C ++, eine objektorientierte auf C gestützte Sprache entworfen. C ++ wurde zuerst 1985 durchgeführt. Gegen Ende der 1980er Jahre und der 1990er Jahre waren die bemerkenswerten befehlenden Sprachen, die sich auf objektorientierte Konzepte stützen, Perl, der von Larry Wall 1987 befreit ist; Pythonschlange, die von Guido van Rossum 1990 befreit ist; PHP, der von Rasmus Lerdorf 1994 veröffentlicht ist; Java, das zuerst durch Sonne-Mikrosysteme 1994 und Ruby veröffentlicht ist, befreit 1995 durch Yukihiro "matz" Matsumoto. Die.NET Plattform des Microsofts (2002) ist an seiner Kernbefehlsform, wie seine primären Zielsprachen, VB.NET und C#. sind

verzeichnet zusätzliche befehlende Programmiersprachen.

Siehe auch

Referenzen

  • Pratt, Terrence W. und Marvin V. Zelkowitz. Programmiersprachen: Design und Durchführung, 3. Hrsg. Englewood Cliffs, Saal von N.J.: Prentice, 1996.
  • Sebesta, Robert W. Concepts von Programmiersprachen, 3. Hrsg., die, Massachusetts Liest: Addison Wesley Publishing Company, 1996.

Ursprünglich gestützt auf dem Artikel 'Imperative programming' von Stan Seibert, von Nupedia, der unter dem GNU Freie Dokumentationslizenz lizenziert ist.


Source is a modification of the Wikipedia article Imperative programming, licensed under CC-BY-SA. Full list of contributors here.
Kernwiederaufbereitung / Eeny, meeny, miny, moe
Impressum & Datenschutz