Développement de logicielLe développement de logiciel consiste à étudier, concevoir, construire, transformer, mettre au point, maintenir et améliorer des logiciels. Ce travail est effectué par les employés d'éditeurs de logiciels, des entreprises de services du numérique (ESN), des travailleurs indépendants (freelance) et des membres de la communauté du logiciel libre. Un logiciel est créé petit à petit par une équipe d'ingénieurs conformément à un cahier des charges établi par un client demandeur ou une équipe interne.
Histoire des langages de programmationCet article évoque les événements majeurs de l'histoire des langages de programmation. Pour une chronologie détaillée de ces événements, consultez la chronologie des langages de programmation. Au départ, les langages étaient de simples codes . Pendant neuf mois entre 1842 et 1843, Ada Lovelace a traduit le mémoire du mathématicien italien Luigi Menabrea sur la machine analytique, la dernière machine proposée par Charles Babbage. Elle ajouta cet article à une collection de notes dans lesquelles elle détaillait une méthode pour calculer les nombres de Bernoulli à l'aide de la Machine.
Nim (langage)Nim (anciennement nommé Nimrod) est un langage de programmation impératif, multi-paradigme et compilé imaginé et développé par Andreas Rumpf. Il est prévu pour être efficace, expressif et élégant. Il supporte la métaprogrammation, la programmation fonctionnelle, procédurale et orientée objet. Initialement, le compilateur Nim était écrit en Pascal. En 2008, une version du compilateur écrite en Nim a été réalisée. Le compilateur est open source et développé par un groupe de volontaires en plus d'Andreas Rumpf.
Logiciel librethumb|200px|Logo du projet GNU, initiateur du mouvement du logiciel libre.|alt=Gnou du projet GNU Un logiciel libre est un logiciel dont l'utilisation, l'étude, la modification et la duplication par autrui en vue de sa diffusion sont permises, techniquement et juridiquement, ceci afin de garantir certaines libertés induites, dont le contrôle du programme par l'utilisateur et la possibilité de partage entre individus. Ces droits peuvent être simplement disponibles ou bien établis par une licence, dite « libre », basée sur le droit d'auteur.
Open-source softwareOpen-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Open-source software may be developed in a collaborative, public manner. Open-source software is a prominent example of open collaboration, meaning any capable user is able to participate online in development, making the number of possible contributors indefinite.
Interface (informatique)Une interface définit la frontière de communication entre deux entités, comme des éléments de logiciel, des composants de matériel informatique, ou un utilisateur. Elle se réfère généralement à une image abstraite qu'une entité fournit d'elle-même à l'extérieur. Cela permet de distinguer les méthodes de communication avec l'extérieur et les opérations internes, et autorise à modifier les opérations internes sans affecter la façon dont les entités externes interagissent avec elle, en même temps qu'elle en fournit des abstractions multiples.
Architecture logicielleL’architecture logicielle décrit d’une manière symbolique et schématique les différents éléments d’un ou de plusieurs systèmes informatiques, leurs interrelations et leurs interactions. Contrairement aux spécifications produites par l’analyse fonctionnelle, le modèle d'architecture, produit lors de la phase de conception, ne décrit pas ce que doit réaliser un système informatique mais plutôt comment il doit être conçu de manière à répondre aux spécifications. L’analyse décrit le « quoi faire » alors que l’architecture décrit le « comment le faire ».
Couche d'abstraction matérielleEn informatique, et plus particulièrement en architecture, une couche d'abstraction matérielle (abrégé en HAL pour hardware abstraction layer) est un logiciel intermédiaire entre le système d'exploitation et le matériel informatique. Il offre des fonctions standardisées de manipulation du matériel informatique tout en cachant les détails techniques de la mise en œuvre. De nombreux producteurs de système d'exploitation incluent une couche d'abstraction matérielle dans leurs produits.
ProgrammerA computer programmer, sometimes referred to as a software developer, a software engineer, a programmer or a coder, is a person who creates computer programs. A programmer is someone who writes/creates computer software or applications generally by providing instructions (commonly through the use of a specific programming language) to the computer or by configuring already existing code (such as a framework or existing code base).
Craquage (informatique)La craquage d'un logiciel (en anglais, cracking ou breaking dans les années 1980) est la modification d'un logiciel pour supprimer ou désactiver des fonctionnalités jugées indésirables par la personne qui craque le logiciel, en particulier les fonctions de protection contre la violation de droit d'auteur, l'affichage de publicité et l'affichage de propositions d'acheter la version payante du logiciel. Une crack désigne l'outil qui permet de réaliser le craquage. Ces outils peuvent être des générateurs de clés, des patches ou des loaders.