Programmation
Programmation
Qui a écrit le premier programme informatique de l'histoire ?
Réponse
Le premier programme informatique de l'histoire a été écrit par Ada Lovelace en 1843. Elle a traduit en anglais et annoté un article sur la machine analytique de Charles Babbage, y incluant un algorithme destiné à calculer les nombres de Bernoulli. Ada Lovelace est souvent considérée comme la première programmeuse au monde.
Quel était le premier langage de programmation conçu pour être utilisé sur un ordinateur électronique ?
Réponse
Le premier langage de programmation conçu pour être utilisé sur un ordinateur électronique est Short Code, développé en 1949 par John Mauchly pour l'ordinateur BINAC. Contrairement aux langages modernes, Short Code était un langage symbolique qui nécessitait une traduction manuelle en code machine. Il a posé les bases des futurs langages de programmation.
Quel est l'avantage principal des bases de données NoSQL par rapport aux bases de données relationnelles classiques comme MySQL ?
Réponse
Les bases de données NoSQL, comme MongoDB ou Cassandra, sont conçues pour gérer des volumes massifs de données non structurées ou semi-structurées avec une grande flexibilité. Elles permettent des schémas dynamiques, une scalabilité horizontale et des performances optimisées pour des requêtes simples, contrairement aux bases relationnelles qui nécessitent des tables rigides et des jointures complexes.
Quel framework JavaScript est le plus utilisé pour développer des applications web dynamiques côté client en 2023 ?
Réponse
React, développé par Facebook en 2013, est le framework JavaScript le plus populaire pour construire des interfaces utilisateur interactives. Il utilise une approche basée sur des composants réutilisables et un rendu virtuel pour optimiser les performances, ce qui en fait un choix privilégié pour les applications modernes comme les réseaux sociaux ou les plateformes de e-commerce.
Quel langage de script est souvent utilisé pour automatiser des tâches dans les systèmes Linux et est inspiré du langage C ?
Réponse
Le langage Bash est un interpréteur de commandes largement utilisé dans les systèmes Linux et Unix. Il permet d'automatiser des tâches répétitives via des scripts, en reprenant une syntaxe proche du langage C pour les structures de contrôle comme les boucles ou les conditions.
Quel outil est couramment utilisé pour automatiser la compilation et la gestion des dépendances dans les projets Java ?
Réponse
Apache Maven est un outil très populaire pour automatiser la construction, la documentation et la gestion des dépendances dans les projets Java. Il utilise un fichier XML appelé pom.xml pour définir la configuration du projet et télécharger automatiquement les bibliothèques nécessaires depuis des dépôts comme Maven Central.
Quel concept en programmation permet de regrouper des données et des fonctions qui les manipulent dans une même unité ?
Réponse
Ce concept s'appelle l'encapsulation, un principe fondamental de la programmation orientée objet. Il permet de protéger les données internes d'un objet en limitant leur accès depuis l'extérieur, ce qui améliore la sécurité et la maintenabilité du code. Par exemple, une classe en Java ou en C++ utilise souvent des méthodes publiques pour interagir avec ses attributs privés.
Quel langage de programmation a été développé par Microsoft pour remplacer Visual Basic et est basé sur le framework .NET ?
Réponse
Le langage C# a été créé par Microsoft en 2000 sous la direction d'Anders Hejlsberg, également connu pour avoir conçu Delphi et TypeScript. C# est conçu pour être moderne, orienté objet et polyvalent, permettant de développer des applications pour Windows, le web ou même des plateformes mobiles.
Quelle est la différence principale entre une variable mutable et une variable immuable en Python ?
Réponse
En Python, une variable mutable peut être modifiée après sa création, comme les listes ou les dictionnaires. À l'inverse, une variable immuable ne peut pas être changée, comme les chaînes de caractères ou les tuples. Cette distinction est importante pour comprendre comment les données sont manipulées et copiées en mémoire.