Maison >développement back-end >tutoriel php >Ce que les novices en programmation doivent savoir pour apprendre PHP

Ce que les novices en programmation doivent savoir pour apprendre PHP

烟雨青岚
烟雨青岚avant
2020-06-15 13:38:362376parcourir

Ce que les novices en programmation doivent savoir pour apprendre PHP

Ce que les débutants en programmation doivent savoir pour apprendre le PHP

1. Qu'est-ce qu'un programme informatique ?

Extrait d'une description encyclopédique : Un programme informatique, également appelé logiciel, appelé programme, fait référence à un ensemble d'instructions pour un ordinateur ou un autre appareil doté de capacités de traitement de l'information. Les instructions pour chaque action sont généralement écrit dans un certain langage de programmation et exécuté sur une certaine architecture cible.

Compréhension populaire des programmes informatiques

Un programme informatique est un ensemble d'instructions qui peuvent être exécutées sur un ordinateur pour exécuter des fonctions spécifiques. La complexité d'un programme informatique est déterminée par le. les fonctions logiques qui doivent être complétées. Les programmes informatiques vont du simple au complexe. Par exemple, l'écriture d'un programme simple peut calculer la solution d'une équation quadratique, tandis qu'un programme de jeu puissant peut vous apporter une expérience de jeu différente. consiste à exécuter un ensemble d'instructions ordonnées sur un ordinateur. Ces instructions permettent à l'ordinateur d'effectuer certaines opérations spécifiques et d'accomplir des fonctions spécifiques.

Une fois l'ordinateur allumé et le système d'exploitation entré tel que Windows/Linux/Mac, etc., le système d'exploitation chargera et exécutera de nombreux programmes. Le système d'exploitation est essentiellement composé d'un ensemble d'ordinateurs. les programmes, qui sont généralement exprimés en tant que programmes informatiques, font généralement référence à un programme relativement indépendant qui peut remplir certaines fonctions spécifiques, telles qu'un lecteur vidéo/audio, un navigateur Web, un client d'outil social Wechat/QQ, etc. travailler ensemble pour compléter la comparaison Série de programmes qui exécutent des tâches complexes, souvent appelés système, tel qu'un système d'exploitation.

Les instructions mentionnées dans la description de l'encyclopédie s'exécutent sur une certaine architecture cible. Pour la plupart des ordinateurs, du point de vue de la large classification de l'architecture informatique, l'architecture cible ici fait généralement référence à l'architecture von Neumann la plus courante. la structure de base de l'ordinateur décrite dans la section précédente. Dans le cadre de la conception de l'architecture von Neumann, la conception du processeur (calculateur et contrôleur) peut également être divisée en différentes architectures.

En savoir plus sur ce qu'est un jeu d'instructions. Un jeu d'instructions est un programme dur stocké à l'intérieur du processeur qui guide et optimise les opérations du processeur. jeu d'instructions. Les instructions prises en charge par le système ont des architectures de processeur différentes car la conception du jeu d'instructions est différente. Les architectures de processeur courantes incluent l'architecture X86 d'Intel et l'architecture ARM d'ARM. Les jeux d'instructions correspondants sont des jeux d'instructions complexes (CISC). jeu d'instructions (RISC), la principale différence entre les processeurs X86 et ARM est que le premier utilise un jeu d'instructions complexe (CISC), tandis que le second utilise un jeu d'instructions réduit (RISC). Les processeurs d'architecture X86 sont couramment utilisés dans les ordinateurs portables, les ordinateurs de bureau et les serveurs, tandis que les processeurs d'architecture ARM sont principalement utilisés dans les téléphones mobiles et les systèmes embarqués. Il existe de nombreuses subdivisions de jeux d'instructions. Si vous êtes intéressé, vous pouvez en savoir plus à leur sujet.

2. Qu'est-ce qu'un langage de programmation ?

Ce qui précède décrit ce qu'est un programme informatique. L'essence d'un programme informatique est un ensemble d'instructions exécutées sur une certaine architecture cible (qui peut être temporairement comprise comme une certaine architecture de processeur). , et ces instructions L'ensemble de doit être pris en charge par l'architecture du CPU, c'est-à-dire que l'unité arithmétique du CPU peut exécuter toutes les instructions du jeu d'instructions, c'est-à-dire que lorsque des programmes avec la même fonction sont écrits sur différentes architectures de CPU, le. Le programme finalement généré correspond à L'ensemble des instructions est susceptible d'être différent.

1. Langage machine

Des milliers de programmes peuvent être écrits via le jeu d'instructions pris en charge par l'architecture du processeur et le jeu d'instructions composé. Le programme peut être directement interprété et exécuté par le processeur. Le processus de génération d'un programme à partir du jeu d'instructions est comme écrire un article à travers du texte. Un seul mot ou mot est une instruction spécifique. Différents mots ou mots (instructions) passent par certains. La combinaison de règles est un article (programme), de sorte que le système de jeu d'instructions pris en charge par l'architecture du processeur peut également être considéré comme un langage. Ce langage est communément appelé langage machine, également appelé code machine. Les différents jeux d'instructions pris en charge par différentes architectures de processeur peuvent être considérés comme différents langages machine. Tout comme le texte est également divisé en plusieurs langues telles que le chinois et l'anglais, il en va de même pour les langages machine.

2. Langage d'assemblage

Vous pouvez écrire de nombreux programmes avec diverses fonctions via le langage machine, mais lors de l'écriture de programmes en langage machine, les programmeurs doivent d'abord les mémoriser Toutes les instructions codes et la signification des codes de l'ordinateur utilisé lors de la programmation manuelle, le programmeur doit également gérer l'allocation de stockage ainsi que l'entrée et la sortie de chaque instruction et de chaque donnée. Il doit également se souvenir des unités de travail utilisées à chaque étape. le processus de programmation. Dans quel état. C'est une tâche très fastidieuse. Le temps nécessaire pour écrire un programme est souvent des dizaines, voire des centaines de fois, plus long que le temps d'exécution réel. De plus, les programmes programmés sont tous des codes d'instructions de 0 et de 1, qui ne sont pas intuitifs et sujets aux erreurs. faire?

À cette époque, le langage assembleur est né. Le corps principal du langage assembleur est les instructions d’assemblage. La différence entre les instructions d'assemblage et les instructions machine réside dans la méthode d'expression des instructions. Les instructions d'assemblage sont des instructions machine dans un format d'écriture facile à retenir. Par exemple, pour effectuer une opération : le contenu du registre BX est envoyé à AX (vous). pas besoin d'entrer dans le sens précis, vous comprenez qu'il s'agit d'une notice complète pour des fonctions spécifiques suffisent)

  1000100111011000               机器指令
    mov ax,bx                    汇编指令

On voit facilement que pour une même opération, les instructions de montage suivantes sont plus faciles à rappelez-vous. L'émergence du langage assembleur est un grand progrès dans le développement des programmes. Par rapport aux machines, le langage présente principalement les caractéristiques suivantes :

1. , c'est-à-dire qu'en utilisant le langage assembleur, les programmeurs peuvent être plus simples, plus rapides et plus faciles. Effectuer la même tâche de programmation de manière compréhensive

2. Portabilité du programme Comme mentionné ci-dessus, différentes architectures de processeur. prennent en charge différents systèmes de jeux d'instructions (langages machine), c'est pourquoi les programmes écrits en langage machine pour un certain type d'architecture de processeur ne peuvent pas fonctionner sur d'autres architectures de processeur. Avec le langage assembleur, vous pouvez imaginer que la même instruction d'assemblage n'a besoin que d'un compilateur. compilez-le lors de l'exécution sur différentes architectures de processeur. (Tout comme la traduction entre différents langages) en code machine pris en charge par l'architecture de processeur correspondante

Un compilateur de langage assembleur est un programme qui peut traduire le langage assembleur en langage machine sur le architecture CPU cible.

3. Langage de haut niveau

Plus tôt, nous avons appris ce que sont le langage machine et le langage assembleur. Le langage assembleur est identique au langage machine et exploite directement le matériel. , les instructions en langage assembleur utilisent des identifiants abrégés en anglais, qui sont plus faciles à reconnaître et à mémoriser, mais ils ne sont relatifs qu'au langage machine. Dans la programmation réelle, les programmes sources en langage assembleur sont également très complexes et longs. Afin d'écrire des programmes plus simplement et plus efficacement, des langages de haut niveau ont vu le jour.

Le langage de haut niveau ne fait pas référence à un seul langage, mais comprend de nombreux langages de programmation, tels que C, C++, Java, php, python, etc., qui sont des langages de programmation hautement encapsulés. Les langages de haut niveau n'ont rien à voir avec la structure matérielle de l'ordinateur et l'architecture du CPU (système d'instructions). Le langage assembleur a déjà un certain degré de portabilité. Le compilateur peut le traduire dans le langage machine correspondant en fonction de l'architecture du CPU correspondante. De même, les langages de haut niveau sont plus portables, le compilateur peut également traduire le langage de haut niveau en langage machine sur l'architecture CPU cible, qu'il soit directement traduit en langage machine, ou d'abord compilé puis traduit en langage machine. , dépend de l'implémentation du compilateur.


De nos jours, nous n'avons généralement pas besoin d'apprendre à utiliser le langage machine ou le langage assembleur pour programmer. Nous avons seulement besoin de savoir comprendre le langage assembleur. Lorsque le langage de haut niveau que nous écrivons est traduit dans le langage cible, le compilateur effectue automatiquement un traitement d'optimisation.


4. Classification des langues de haut niveau

Il existe de nombreuses façons de classer les langues de haut niveau selon les caractéristiques de. idées de conception, ils peuvent être divisés en langages orientés processus (impératifs), langages orientés objet, langages fonctionnels et langages logiques, et sont divisés en deux catégories selon le moment où le code est traduit avant exécution : langages interprétés ​​et langages compilés.


Langage (impératif) orienté processus

La base sémantique de ce langage est une machine de Turing qui simule le « stockage de données/opération de données » Les modèles calculables correspondent tout à fait à la mise en œuvre naturelle des architectures informatiques modernes. La principale façon de générer des opérations est de s’appuyer sur les effets secondaires des instructions ou des commandes. La plupart des langages populaires modernes sont de ce type, comme Fortran, Pascal, Cobol, C, C++, Basic, Ada, Java, C#, etc. Divers langages de script sont également considérés comme de ce type.


Langages orientés objet

La plupart des langages modernes fournissent un support orienté objet, mais certains langages sont construits directement sur l'objet de base -modèle orienté , la sémantique de la forme grammaticale du langage est des opérations objet de base. Les langages courants qui prennent en charge la programmation orientée objet incluent C++, Java, C#, PHP, Python, etc. Les langages généraux prennent également en charge la programmation orientée processus (impérative).

Langage fonctionnel

La base sémantique de ce langage est le modèle calculable d'opérateur lambda de mappage de valeurs basé sur le concept de fonctions mathématiques. Ce langage est très adapté aux calculs pour des travaux comme l'intelligence artificielle. Langages fonctionnels typiques tels que Lisp, Haskell, ML, Scheme, F#, etc.


Langage logique

Le fondement sémantique de ce langage est un système logique formel basé sur un ensemble de règles connues. Ce langage est principalement utilisé dans la mise en œuvre de systèmes experts. Le langage logique le plus connu est Prolog.


Bien que différents langages appartiennent à des types différents, ils prennent chacun en charge les modes de fonctionnement d'autres types de langages à des degrés divers.


5. Langages interprétés

Les langages interprétés peuvent être divisés en : langages de balisage et langages de script basés sur les caractéristiques actives et passives de la langue. Les langages de balisage attendent passivement l'interprétation et ne donnent pas activement d'instructions à l'ordinateur. Les langages de script émettent généralement activement des instructions permettant à l'ordinateur d'effectuer des tâches.


Langage de balisage

Le langage de balisage est un codage de texte informatique qui combine du texte (Texte) et d'autres informations liées au texte pour afficher des détails sur la structure du document et le traitement des données. Les autres informations liées au texte (y compris les informations sur la structure et la présentation du texte, etc.) sont combinées avec le texte original mais identifiées à l'aide de marqueurs.

Par exemple : -Un langage de programmation informatique créé par le processus d'édition-compilation-lien-exécution. Il doit son nom à un script "scénario" qui fait que la boîte de dialogue se répète textuellement à chaque exécution. Les premiers langages de script étaient souvent appelés langages de traitement par lots ou langages de contrôle des tâches. Un script est généralement exécuté interprété plutôt que compilé. Les langages de script ont généralement les caractéristiques d'être simples, faciles à apprendre et à utiliser. Le but est de permettre aux programmeurs de terminer rapidement leur travail d'écriture de programmes.

Par exemple : JavaScript, VBScript, PHP, Python

6. Langage compilé


Langage compilé : Le programme nécessite un processus de compilation spécial avant son exécution. Le programme est compilé dans un fichier en langage machine. Il n'est pas nécessaire de le retraduire pendant l'exécution. Utilisez simplement le résultat compilé. L'efficacité d'exécution du programme est élevée, il repose sur le compilateur et ses performances multiplateformes sont médiocres.

Par exemple : C, C++, c#, java, etc.

7. La différence entre les différents types de langages de haut niveau


1. Le langage de balisage n'est pas utilisé pour envoyer des instructions à l'ordinateur, mais est souvent utilisé pour le formatage et la création de liens.

2. Le langage de script se situe entre le langage de balisage et le langage de programmation. Le langage de script n'a pas besoin d'être compilé et peut être utilisé directement.
3. Avant qu'un programme écrit dans un langage compilé soit exécuté, un processus de compilation spécial est requis pour compiler le programme dans un fichier en langage machine, tel qu'un fichier exe s'il doit être exécuté. à l'avenir, il n'aura pas besoin d'être retraduit. Utilisez simplement le résultat compilé (fichier exe) directement. Étant donné que la traduction n'est effectuée qu'une seule fois et qu'aucune traduction n'est nécessaire pendant l'exécution, l'efficacité d'exécution des programmes en langage compilé est élevée.


8. Caractéristiques générales des langages de haut niveau


1. pour apprendre et maîtriser, et ne nécessitent que du personnel d'ingénierie et technique général. Quelques semaines de formation peuvent vous rendre compétent en tant que programmeur

2. et des outils, rendant les programmes conçus plus lisibles. Haute maintenabilité et haute fiabilité
3. Le langage de haut niveau est loin du langage machine et n'a rien à voir avec la structure matérielle et le système d'instructions de l'ordinateur ; . Il a une capacité d'expression plus forte, donc le programme écrit peut Bonne portabilité et taux de réutilisation élevé


4 Étant donné que les questions complexes et triviales sont confiées au compilateur, le degré d'automatisation est élevé ; le cycle de développement est court et les programmeurs sont soulagés et peuvent se concentrer. Du temps et de l'énergie sont consacrés au travail créatif qui est plus important pour eux pour améliorer la qualité du programme


5. La compilation en langage de haut niveau est généralement meilleure que le code de programme conçu en langage assembleur. Elle est longue et la vitesse d'exécution est également lente. Par conséquent, le langage assembleur convient à l'écriture de programmes nécessitant une vitesse et une longueur de code élevées et à des programmes qui contrôlent directement le matériel. Les programmes en langage de haut niveau « ne peuvent pas voir » la structure matérielle de la machine et ne peuvent pas être utilisés pour écrire un logiciel système ou un logiciel de contrôle de périphérique. qui accède directement aux ressources matérielles de la machine. À cette fin, certains langages de haut niveau proposent des interfaces d’appel avec le langage assembleur. Un programme écrit en langage assembleur peut être utilisé comme procédure ou fonction externe dans un langage de haut niveau, en utilisant la pile pour transmettre des paramètres ou l'adresse des paramètres.


Merci à tous d'avoir lu, j'espère que vous en bénéficierez beaucoup.

Lien original : https://blog.csdn.net/abc_1225/article/details/80237929

Tutoriel recommandé : "

Tutoriel PHP
"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer