Was Programmieranfänger wissen müssen, um PHP zu lernen
1 Was ist ein Computerprogramm?
Auszug aus einer Enzyklopädiebeschreibung: Ein Computerprogramm, auch Software genannt, bezieht sich auf eine Reihe von Anweisungen für einen Computer oder ein anderes Gerät mit Informationsverarbeitungsfunktionen. Die Anweisungen für jede Aktion sind normalerweise in einer bestimmten Programmiersprache geschrieben und auf einer bestimmten Zielarchitektur ausgeführt.
Volksverständnis von Computerprogrammen
Ein Computerprogramm ist eine Reihe von Anweisungen, die auf einem Computer ausgeführt werden können, um bestimmte Funktionen auszuführen Die logischen Funktionen, die ausgeführt werden müssen, reichen von einfach bis komplex. Das Schreiben eines einfachen Programms kann beispielsweise die Lösung einer quadratischen Gleichung berechnen, während ein leistungsstarkes Spielprogramm Ihnen ein anderes Spielerlebnis bieten kann ist die Ausführung einer Reihe geordneter Anweisungen auf einem Computer. Diese Anweisungen ermöglichen es dem Computer, bestimmte Vorgänge auszuführen und bestimmte Funktionen zu erreichen.
Nachdem der Computer eingeschaltet und das Betriebssystem wie Windows/Linux/Mac usw. eingegeben wurde, lädt das Betriebssystem viele Programme und führt sie aus. Das Wesentliche des Betriebssystems besteht auch aus a Eine Reihe von Computerprogrammen, die im Allgemeinen als Computerprogramme bezeichnet werden, beziehen sich im Allgemeinen auf ein relativ unabhängiges Programm, das bestimmte spezifische Funktionen ausführen kann, z. B. einen Video-/Audioplayer, einen Webbrowser, einen Social-Tool-Client Wechat/QQ usw.; Viele Computerprogramme arbeiten zusammen, um den Vergleich abzuschließen. Eine Reihe von Programmen, die komplexe Aufgaben ausführen und oft als System bezeichnet werden, beispielsweise als Betriebssystem.
Die in der Enzyklopädiebeschreibung erwähnten Anweisungen werden auf einer bestimmten Zielarchitektur ausgeführt. Aus Sicht der breiten Klassifizierung von Computerarchitekturen bezieht sich die Zielarchitektur hier normalerweise auf die häufigste Von-Neumann-Architektur Der im vorherigen Abschnitt beschriebene Grundaufbau des Computers lässt sich auch im Design der CPU (Rechner und Controller) in verschiedene Architekturen unterteilen.
Lassen Sie uns mehr darüber erfahren, was ein Befehlssatz ist. Ein Befehlssatz ist ein hartes Programm, das in der CPU gespeichert ist und die CPU-Operationen steuert und optimiert. Mit anderen Worten: Die Recheneinheit der CPU kann nur die CPUs ausführen Der vom System unterstützte Befehlssatz weist unterschiedliche CPU-Architekturen auf. Zu den gängigen CPU-Architekturen gehören die X86-Architektur von Intel und die ARM-Architektur Der Hauptunterschied zwischen X86- und ARM-Prozessoren besteht darin, dass ersterer einen komplexen Befehlssatz (CISC) verwendet, während letzterer einen reduzierten Befehlssatz (RISC) verwendet. CPUs mit X86-Architektur sind häufig in Notebooks, Desktops und Servern zu finden, während CPUs mit ARM-Architektur hauptsächlich in Mobiltelefonen und eingebetteten Systemen verwendet werden. Wenn Sie interessiert sind, können Sie mehr darüber erfahren.
2. Was ist eine Programmiersprache?
Das Obige beschreibt, was ein Computerprogramm ist. Das Wesentliche eines Computerprogramms ist eine Reihe von Anweisungen, die auf einer bestimmten Zielarchitektur ausgeführt werden (die vorübergehend als eine bestimmte CPU-Architektur verstanden werden kann). , und dieser Befehlssatz sollte von der CPU-Architektur unterstützt werden, das heißt, die Recheneinheit der CPU kann alle Befehle im Befehlssatz ausführen. Das heißt, wenn Programme mit derselben Funktion auf verschiedenen CPU-Architekturen geschrieben werden Das endgültig generierte Programm entspricht wahrscheinlich dem Befehlssatz.
1. Maschinensprache
Tausende von Programmen können über den von der CPU-Architektur unterstützten Befehlssatz geschrieben werden Das Programm kann direkt von der CPU interpretiert und ausgeführt werden. Der Prozess des Generierens eines Programms aus dem Befehlssatz ist wie das Schreiben eines Artikels durch einen bestimmten Text Die Kombination von Regeln ist ein Artikel (Programm), daher kann das von der CPU-Architektur unterstützte Befehlssatzsystem auch als Sprache betrachtet werden. Diese Sprache wird allgemein als Maschinensprache oder Maschinencode bezeichnet. Die unterschiedlichen Befehlssätze, die von unterschiedlichen CPU-Architekturen unterstützt werden, können als unterschiedliche Maschinensprachen betrachtet werden. So wie Text auch in viele Sprachen wie Chinesisch und Englisch unterteilt ist, gilt dies auch für Maschinensprachen.
2. Assemblersprache
Viele Programme mit verschiedenen Funktionen können in Maschinensprache geschrieben werden, aber wenn Programmierer Programme in Maschinensprache schreiben, müssen sie sich zuerst alle Anweisungen merken Codes und die Bedeutung der Codes des verwendeten Computers. Bei der manuellen Programmierung muss sich der Programmierer auch um die Speicherzuweisung sowie die Eingabe und Ausgabe jeder Anweisung und aller Daten kümmern. Er muss sich auch die in jedem Schritt verwendeten Arbeitseinheiten merken der Programmiervorgang. Das ist eine sehr mühsame Aufgabe. Die Zeit, die zum Schreiben eines Programms benötigt wird, ist oft Dutzende oder sogar Hundertfache länger als die tatsächliche Laufzeit. Darüber hinaus bestehen die programmierten Programme alle aus 0- und 1-Anweisungscodes, die nicht intuitiv und fehleranfällig sind Tun?
Zu dieser Zeit entstand die Assemblersprache. Der Hauptteil der Assemblersprache sind Assembleranweisungen. Der Unterschied zwischen Montageanweisungen und Maschinenanweisungen liegt in der Ausdrucksweise von Anweisungen. Montageanweisungen sind Maschinenanweisungen in einem leicht zu merkenden Schreibformat. Zum Beispiel wird der Inhalt des Registers BX an AX (Sie) gesendet Sie müssen nicht auf die spezifische Bedeutung eingehen, Sie verstehen, dass es sich um eine vollständige Anleitung für bestimmte Funktionen handelt Denken Sie daran. Das Aufkommen der Assemblersprache ist ein großer Fortschritt in der Entwicklung von Programmen. Die Sprache weist hauptsächlich die folgenden
1 auf , das heißt, mit der Assemblersprache können Programmierer die gleiche Programmieraufgabe auf verständliche Weise erledigen
2. Wie oben erwähnt, verschiedene CPU-Architekturen Unterstützt verschiedene Befehlssatzsysteme (Maschinensprachen), sodass Programme, die in Maschinensprache für eine bestimmte Art von CPU-Architektur geschrieben wurden, nicht auf anderen CPU-Architekturen ausgeführt werden können. Bei der Assemblersprache können Sie sich vorstellen, dass dieselbe Assembleranweisung nur einen Compiler benötigt Kompilieren Sie es bei der Ausführung auf verschiedenen CPU-Architekturen (genau wie bei der Übersetzung zwischen verschiedenen Sprachen) in Maschinencode, der von der entsprechenden CPU-Architektur unterstützt wird.
Ein Assembler-Compiler ist ein Programm, das Assemblersprache in Maschinensprache übersetzen kann Ziel-CPU-Architektur.3. Hochsprache
Zuvor haben wir gelernt, was Maschinensprache und Assemblersprache sind und welche direkt die Hardware bedient Anweisungen in Assemblersprache verwenden abgekürzte englische Bezeichner, die leichter zu erkennen und zu merken sind, aber nur relativ zur Maschinensprache gelten. Auch in der tatsächlichen Programmierung sind Assembler-Quellprogramme sehr komplex und langwierig. Um Programme einfacher und effizienter zu schreiben, wurden Hochsprachen entwickelt.Hochsprache bezieht sich nicht auf eine Sprache, sondern umfasst viele Programmiersprachen wie C, C++, Java, PHP, Python usw., bei denen es sich um stark gekapselte Programmiersprachen handelt. Hochsprachen haben nichts mit der Hardwarestruktur und der CPU-Architektur (Anweisungssystem) des Computers zu tun. Der Compiler kann sie entsprechend der entsprechenden CPU-Architektur in die entsprechende Maschinensprache übersetzen. In ähnlicher Weise sind Hochsprachen besser portierbar. Der Compiler kann Hochsprachen auch in Maschinensprache übersetzen, unabhängig davon, ob sie direkt in Maschinensprache übersetzt oder zuerst kompiliert und dann in Maschinensprache übersetzt werden , hängt von der Implementierung des Compilers ab.
Heutzutage müssen wir im Allgemeinen nicht lernen, wie man Maschinensprache oder Assemblersprache verwendet, um zu programmieren. Wir müssen nur wissen, wie man Assemblersprache versteht. Wenn die von uns geschriebene Hochsprache in die Zielsprache übersetzt wird, führt der Compiler automatisch einige Optimierungsvorgänge durch.
Es gibt viele Möglichkeiten, Hochsprachen nach ihren Merkmalen zu klassifizieren Designideen können in prozessorientierte (imperative) Sprachen, objektorientierte Sprachen, funktionale Sprachen und logische Sprachen unterteilt werden und werden entsprechend der Zeit, zu der der Code vor der Ausführung übersetzt wird, in zwei Kategorien unterteilt: interpretierte Sprachen und kompilierte Sprachen.
Die semantische Basis dieser Sprache ist eine Turingmaschine, die „Datenspeicherung/Datenbetrieb“ simuliert Berechenbare Modelle entsprechen weitgehend der natürlichen Implementierung moderner Computerarchitekturen. Die Hauptmethode zum Generieren von Operationen besteht darin, sich auf die Nebenwirkungen von Anweisungen oder Befehlen zu verlassen. Die meisten modernen populären Sprachen gehören zu diesem Typ, wie zum Beispiel Fortran, Pascal, Cobol, C, C++, Basic, Ada, Java, C# usw. Auch verschiedene Skriptsprachen gelten als diesem Typ.
Funktionale Sprache
Die semantische Grundlage dieser Sprache ist das durch Lambda-Operatoren berechenbare Modell der Wertezuordnung, das auf dem Konzept mathematischer Funktionen basiert. Diese Sprache eignet sich sehr gut für Berechnungen für Arbeiten wie künstliche Intelligenz. Typische funktionale Sprachen wie Lisp, Haskell, ML, Scheme, F# usw.
Die semantische Grundlage dieser Sprache ist ein formales Logiksystem, das auf einer Reihe bekannter Regeln basiert. Diese Sprache wird hauptsächlich bei der Implementierung von Expertensystemen verwendet. Die bekannteste logische Sprache ist Prolog.
Obwohl verschiedene Sprachen zu unterschiedlichen Typen gehören, unterstützen sie jeweils in unterschiedlichem Maße die Betriebsmodi anderer Sprachtypen.
Interpretierte Sprachen können unterteilt werden in: Auszeichnungssprachen und Skriptsprachen basierend auf die aktiven und passiven Eigenschaften der Sprache. Auszeichnungssprachen warten passiv auf die Interpretation und geben dem Computer keine aktiven Anweisungen. Skriptsprachen geben dem Computer im Allgemeinen aktiv Anweisungen zur Ausführung von Aufgaben.
Auszeichnungssprache ist eine Computertextkodierung, die Text (Text) und andere textbezogene Informationen kombiniert, um Details zur Dokumentstruktur und Datenverarbeitung anzuzeigen. Weitere textbezogene Informationen (einschließlich Struktur- und Präsentationsinformationen des Textes usw.) werden mit dem Originaltext kombiniert, aber durch Markierungen gekennzeichnet.
Zum Beispiel: -Eine Computerprogrammiersprache, die durch den Edit-Compile-Link-Run-Prozess erstellt wurde. Es ist nach einem Skript-„Drehbuch“ benannt, das bewirkt, dass sich das Dialogfeld bei jeder Ausführung wörtlich wiederholt. Frühe Skriptsprachen wurden oft als Stapelverarbeitungssprachen oder Jobsteuerungssprachen bezeichnet. Ein Skript wird normalerweise interpretiert und nicht kompiliert ausgeführt. Skriptsprachen zeichnen sich in der Regel dadurch aus, dass sie einfach, leicht zu erlernen und leicht zu verwenden sind. Der Zweck besteht darin, Programmierern eine schnelle Fertigstellung der Programmschreibarbeiten zu ermöglichen.
Zum Beispiel: JavaScript, VBScript, PHP, Python
Kompilierte Sprache: Das Programm erfordert vor der Ausführung einen speziellen Kompilierungsprozess. Es ist nicht erforderlich, es zur Laufzeit erneut zu übersetzen. Die Effizienz der Programmausführung ist hoch, es ist auf den Compiler angewiesen und die plattformübergreifende Leistung ist schlecht.
Zum Beispiel: C, C++, C#, Java usw.
1. Markup-Sprache wird nicht verwendet, um Anweisungen an den Computer zu erteilen, sondern wird häufig zur Formatierung und Verknüpfung verwendet.
2. Die Skriptsprache muss nicht kompiliert werden und kann direkt für die Interpretation verwendet werden.
3. Bevor ein in einer kompilierten Sprache geschriebenes Programm ausgeführt wird, ist ein spezieller Kompilierungsprozess erforderlich, um das Programm in eine Maschinensprachendatei, beispielsweise eine EXE-Datei, zu kompilieren In Zukunft muss es nicht erneut übersetzt werden. Da die Übersetzung nur einmal durchgeführt wird und zur Laufzeit keine Übersetzung erforderlich ist, ist die Ausführungseffizienz kompilierter Sprachprogramme hoch.
1. Hochsprachen sind nah an algorithmischen Sprachen Um zu lernen und zu beherrschen, benötigen Sie nur allgemeines technisches und technisches Personal. Ein paar Wochen Training können Sie als Programmierer kompetent machen
2 und Tools, wodurch die entworfenen Programme besser lesbar und zuverlässig sind.
3 . Es verfügt über eine stärkere Ausdrucksfähigkeit, sodass das geschriebene Programm gut portierbar ist und eine hohe Wiederverwendungsrate aufweist. Da komplexe und triviale Angelegenheiten an den Compiler übergeben werden, ist der Grad der Automatisierung hoch Der Entwicklungszyklus ist kurz und Programmierer werden entlastet und können sich auf kreative Arbeiten konzentrieren, die ihnen wichtiger sind, um die Qualität des Programms zu verbessern.
5 Die Hochsprachenkompilierung ist im Allgemeinen besser als der in Assemblersprache entworfene Programmcode. Sie ist lang und die Ausführungsgeschwindigkeit ist ebenfalls langsam. Daher eignet sich die Assemblersprache zum Schreiben von Programmen, die eine hohe Geschwindigkeit und Codelänge erfordern, sowie zum Schreiben von Programmen, die die Hardware direkt steuern. Hochsprachenprogramme können die Hardwarestruktur der Maschine nicht sehen und können nicht zum Schreiben von Systemsoftware oder Gerätesteuerungssoftware verwendet werden das direkt auf die Hardware-Ressourcen der Maschine zugreift. Zu diesem Zweck stellen einige Hochsprachen Aufrufschnittstellen mit Assemblersprache zur Verfügung. Ein in Assemblersprache geschriebenes Programm kann als externe Prozedur oder Funktion in einer Hochsprache verwendet werden, wobei der Stapel zur Übergabe von Parametern oder der Adresse von Parametern verwendet wird.
Vielen Dank an alle fürs Lesen, ich hoffe, dass Sie viel davon profitieren werden.
Originallink: https://blog.csdn.net/abc_1225/article/details/80237929
PHP-Tutorial
“
Das obige ist der detaillierte Inhalt vonWas Programmieranfänger wissen müssen, um PHP zu lernen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!