Valeo Practices

September 16, 2008

Programme

Filed under: Computer — @ 9:47 pm

In der Praxis bedeutet dies, ein Computerprogramm kann von nur ein paar Anweisungen für viele Millionen von Anweisungen, wie in einem Programm für eine Textverarbeitung oder einem Web-Browser. Eine typische moderne Computer ausführen kann Milliarden von Instruktionen pro Sekunde (oder Gigahertz GHz) und selten einen Fehler machen über viele Jahre der Tätigkeit. Große Computerprogramme aus mehreren Millionen Anweisungen können sich Teams von Programmierern Jahre zu schreiben, damit die Wahrscheinlichkeit, dass das ganze Programm wurde geschrieben, ohne Fehler ist höchst unwahrscheinlich.

Fehler in Computerprogrammen werden als “Bugs”. Bugs werden können gutartige und keinen Einfluss auf die Nützlichkeit des Programms, oder nur subtile Effekte. Aber in einigen Fällen können sie dazu führen, dass das Programm zum “hängen” - nicht mehr reagieren auf Eingaben wie Mausklicks oder Tastatureingaben oder völlig scheitern oder “Crash”. Sonst gutartige Bugs kann manchmal nutzbar gemacht werden können für bösartige Absicht von einem skrupellosen Benutzer schriftlich ein “Sicherheitsproblem” - Code entwickelt, um die Vorteile eines Fehlers und stören ein Programm, das ordnungsgemäße Ausführung. Bugs sind in der Regel nicht die Schuld des Computers. Seit dem Computer ausführen, nur die Anweisungen sind sie da, Bugs sind fast immer das Ergebnis der Programmierer Fehler oder ein Versehen in die Programm-Gestaltung.

In den meisten Computern, individuelle Anweisungen werden als Maschinencode mit den einzelnen Anweisung erhalten eine eindeutige Nummer (die Operation Code oder Opcode zu kurz). Der Befehl, um zwei Nummern zusammen hätte ein Opcode, den Befehl zu multiplizieren sie hätte ein anderes Opcode und so weiter. Die einfachste Computern in der Lage sind, zur Erfüllung einer Handvoll von verschiedenen Anweisungen, die komplexere Computer haben mehrere hundert zur Auswahl-jedes mit einer einzigartigen numerischen Code. Da der Computer den Speicher in der Lage ist, zu speichern Zahlen, sie können auch die Anweisung Codes. Dies führt zu der wichtigen Tatsache, dass ganze Programme (die sind nur Listen von Anweisungen) dargestellt werden können als Listen von Zahlen und kann selbst manipuliert werden im Inneren des Computers nur als wären sie numerische Daten. Das grundlegende Konzept der Speicherung von Programmen auf dem Computer des Gedächtnisses der neben den Daten, die sie betreiben, ist der Kern des von Neumann, gespeichert oder Programm, Architektur. In einigen Fällen ist ein Computer speichern können einige oder alle der sein Programm im Speicher gehalten wird, dass unabhängig von den Daten, die sie betreibt. Dies wird als der Harvard-Architektur nach der Harvard Mark I Computer. Moderne von Neumann-Computer-Display einige Züge der Harvard-Architektur in ihren Entwürfen, wie in CPU-Caches.

Während es möglich ist, zu schreiben Computerprogrammen so lange Listen von Zahlen (Maschinensprache) und diese Technik verwendet wurde früh mit vielen Computern, [12] Es ist äußerst langweilig zu tun, damit in der Praxis, vor allem für komplizierte Programme. Stattdessen hat jeder grundlegende Anweisungen können mit einem kurzen Namen, ist ein Indiz dafür, ihre Funktion und leicht zu merken-a mnemonisch wie ADD, SUB, MULT oder springen. Diese Mnemonics sind kollektiv bekannt als Computer-Assemblersprache. Konvertieren von Programmen in Assembler in etwas kann der Computer eigentlich verstehen (Maschinensprache) ist in der Regel durch ein Computerprogramm namens ein Assembler. Maschine und die Sprachen Assemblersprachen, die sie vertreten, (zusammenfassend als Low-Level-Programmiersprachen) sind in der Regel nur in einer bestimmten Art von Computer. Zum Beispiel, ein ARM-Architektur Computer (wie kann man in ein PDA oder ein in der Hand gehaltenes Videospiel) kann nicht verstehen, die Sprache der Computer einen Intel Pentium oder AMD Athlon 64 Computer, könnte in einem PC.

Obwohl wesentlich einfacher als in maschinenlesbarer Sprache, Schrift lange Programme in Assembler ist oft schwierig und fehleranfällig. Deswegen werden die meisten Programme sind kompliziert geschrieben in mehr abstrakte High-Level Programmiersprachen, die fähig sind, zum Ausdruck bringen, die Bedürfnisse der Computer-Programmierer bequemer (und damit zur Verringerung Programmierer Fehler). Hochrangige Sprachen sind in der Regel “kompiliert” in Maschinensprache (oder manchmal in Assemblersprache und dann in Maschinensprache) mit einem anderen Computer ein Programm namens Compiler. Seit hohes Sprachen sind mehr als abstrakte Assemblersprache, ist es möglich, verschiedene Compiler übersetzen die gleiche hohe Sprache Programm in die Maschinensprache der vielen verschiedenen Arten von Computersystemen. Dies ist Teil der Mittel, mit denen Software wie Video-Spiele kann zur Verfügung gestellt werden für verschiedene Computer-Architekturen, wie zB Personal-Computer und verschiedene Videospiel-Konsolen.

Die Aufgabe der Entwicklung großer Software-Systeme ist eine ungeheure geistige Anstrengung. Producing-Software mit einem akzeptabel hohe Zuverlässigkeit auf einer berechenbaren und der Haushalt hat sich historisch auf eine große Herausforderung, die akademischen und beruflichen Disziplin Software-Engineering konzentriert sich speziell auf dieses Problem.

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress