intra Flashcards
Définition processeur
Un processeur est le composant principal d’un ordinateur ou d’un appareil électronique responsable de l’exécution des instructions des programmes.
Expliquez comment un langage de programmation est conçu pour être compréhensible à la fois par les humains.
Il permet aux développeurs de donner des instructions à une machine informatique pour accomplir des tâches spécifiques. Il est traduit (par un compilateur ou un interpréteur) en un code machine exécutable. (Permet codage plus intuitif pour humains).
Définition code
Instructions données dans un language de programmation qu’un appareil exécute.
Le langage assembleur est un langage de programmation de haut niveau ou de bas niveau? Quelle est la différence entre les deux?
Bas niveau. Très proche du code machine. Instructions précises, processeur peut comprendre directement. Permet : 1.Opérations de transfert de données (chargement et stockage), 2.Opérations arithmétiques sur des nombres (addition, soustraction, multiplication, etc.) 3.Opérations logiques
Nommez les avantages du language assembleur (bas niveau).
1.performance maximale 2.compréhension profonde du matériel 3.Optimisation du code au maximum pour tirer le meilleur parti des ressources matérielles disponibles 4.faible consommation de ressources 5.Une visibilité complète et directe sur ce qui se passe dans le système. Offrent un contrôle direct sur les ressources matérielles.
Nommez les désavantages du language assembleur (bas niveau).
1.Complexité et difficulté (pas intuitif) 2.temps de développement long 3.Nommez les avantages du language assembleur (bas niveau).
Nommez les avantages du language de haut niveau.
1.lisibilité et clarté du code 2.gestion de memoire simplifiée 3.richesse des bibliothèques, frameworks et documentations 4. Accessible et grande communauté 5.Moins probable de causer des erreurs mémoires dû à l’abstraction du matériel 6.Portabilité augmentée. Programmes peuvent être exécutés sur des ordinateurs variés (traduction).
Nommez les désavantages du language de haut niveau.
1.Moins de contrôle sur le matériel 2.Programmes plus lents 3.Traduction obligatoire 4.Gestion automatique de la mémoire 5.Fichiers plus gros 6.Accès limité aux détails du matériel
Programme definition
Ensemble d’instructions à réaliser par une machine informatique afin de réaliser une tâche spécifique. Un ensemble de programmes compose une application. Un logiciel est un programme.
Raison la plus fréquente pour laquelle un programme se bloque de manière inattendue
Mauvaise utilisation des ressources mémoire, e.g., fuite memoire, dépassement de tampon.
Compilateur definition
Programme qui traduit le code source écrit dans un langage de programmation de haut niveau (comme C, C++, Java, Rust, etc.) en code machine ou en un autre format intermédiaire exécutable, tel que le bytecode.
Avantages compilateur
1.Performance : Le code compilé s’exécute généralement plus rapidement que le code interprété, car il est converti en code machine (programme lisible par machine) directement exécutable par le processeur. 2.Optimisation : Les compilateurs peuvent optimiser le code pour améliorer les performances d’exécution. 3.Protection du code source : Le code source n’est pas distribué avec l’application, ce qui peut aider à protéger la propriété intellectuelle. (pour languages de haut niveau).
Désavantages compilateur
1.Temps de compilation : La compilation peut prendre du temps, surtout pour de gros programmes. 2.Moins flexible : Chaque changement dans le code source nécessite une nouvelle compilation avant d’exécuter le programme. 3.Spécialisé à une architecture : Puisque le compilateur produit un exécutable spécifique à une architecture machine (x86, ARM, etc.), il faut re-compiler le code pour chaque architecture machine (et ce, à chaque mise à jour du programme)
Interpréteur definition
Programme qui exécute le code source sans avoir besoin de le compiler en un langage machine au préalable. Code source - interpréteur -résultat (affichage ligne par ligne).
Interpréteur avantages
1.Flexibilité : Le code peut être exécuté immédiatement sans attendre la compilation. 2.Facilite le débogage : Les erreurs peuvent souvent être détectées et identifiées à l’endroit où elles arrivent, car le code source est accessible à l’interpréteur lors de l’exécution. 3.Portabilité : Les programmes interprétés peuvent généralement être exécutés sur n’importe quelle machine qui dispose de l’interpréteur approprié, rendant le code plus portable.
Interpréteur désavantages
1.Exécution plus lente : L’exécution de l’interpréteur est plus lente qu’un compilateur (car execution ligne par ligne). 2.Dépendance : Le code source doit être interprété à chaque exécution, et nécessite donc la présence de l’interpréteur sur la machine.
Nommez une différence entre compilateur et interpréteur lors de l’execution du programme (“run”).
Le compilateur compile le programme en language machine et detecte une erreur (si elle a lieu) au moment de la compilation. Les lignes où le code est correct ne sera pas montré. Tandis que l’interpréteur exécute le programme tel quel, ligne par ligne, et détecte les erreurs au moment de l’exécution. La première ligne sera exécutée avant l’erreur.
Python est un langage interprété ou compilé?
Les deux: language semi-compilé, car il compile automatiquement le code source en bytecode (un format intermédiaire) avant de l’interpréter. Mais aussi, exécuté ligne par ligne, par interpréteur. (Il est possible de voir le bytecode généré par python avec le module “dis”).
Nommez les 6 principales phases du développement d’une application
1.Analyse des besoins (étape de spécification) 2.Conception (Design) 3.Développement (Development) 4.Tests (Testing) 5.Déploiement (Deployment) 6.Maintenance, support et évaluation. Analogie en classe potager.