Programmation purement fonctionnelleEn informatique, la programmation purement fonctionnelle est un paradigme de programmation qui considère toutes les opérations comme l'évaluation de fonctions mathématiques. L'état et les objets immuables sont généralement modélisés à l'aide d'une logique temporelle, en tant que variables explicites représentant l'état du programme à chaque étape de son exécution : l'état d'une variable est transmis en tant que paramètre d'entrée d'une fonction de transformation d'état, qui renvoie l'état mis à jour en tant que partie de sa valeur de retour.
Programmation fonctionnelleLa programmation fonctionnelle est un paradigme de programmation de type déclaratif qui considère le calcul en tant qu'évaluation de fonctions mathématiques. Comme le changement d'état et la mutation des données ne peuvent pas être représentés par des évaluations de fonctions la programmation fonctionnelle ne les admet pas, au contraire elle met en avant l'application des fonctions, contrairement au modèle de programmation impérative qui met en avant les changements d'état.
Génie logicielLe génie logiciel, l'ingénierie logicielle ou l'ingénierie du logiciel (en software engineering) est une science de génie industriel qui étudie les méthodes de travail et les bonnes pratiques des ingénieurs qui développent des logiciels. Le génie logiciel s'intéresse en particulier aux procédures systématiques qui permettent d'arriver à ce que des logiciels de grande taille correspondent aux attentes du client, soient fiables, aient un coût d'entretien réduit et de bonnes performances tout en respectant les délais et les coûts de construction.
Réutilisation de codeLa réutilisation de code désigne l'utilisation de logiciel existant, de connaissances sur ce logiciel, de composants logiciels ou du code source, pour créer de nouveaux logiciels. La réutilisation s'appuie fréquemment sur le concept de modularité. Par extension, ce terme désigne également l'ensemble des techniques informatiques proposées ou mises en œuvre pour faciliter cette réutilisation. Bibliothèque logicielle Patron de conception logiciel Framework "An architecture for designing reusable embedded syste
Utilisateur (informatique)En informatique, le terme utilisateur (anciennement un opérateur ou un informaticien avec possibilité de feminisation) est employé pour désigner une qui utilise un système informatisé (ordinateur ou robot) mais qui n'est pas nécessairement informaticien (par opposition au programmeur par exemple). L'utilisateur peut aussi être une machine automatique (essentiellement représenté par un bot informatique) pouvant disposer de différents degrés d'autonomie.
Développement par l'utilisateur finalLe développement par l'utilisateur final ou informatique de l'utilisateur fait référence aux activités et aux outils permettant aux utilisateurs d'utiliser l'informatique, et notamment les outils de l'informatique de l'utilisateur, afin de créer ou de modifier des artéfacts de logiciel (description de comportements automatisés), ainsi que des objets de données sans connaissance significative des langages de programmation.
Bug (informatique)vignette|upright=1|Le Mac triste : écran indiquant un code erreur sur les premières versions du MacIntosh d'Apple. En informatique, un bug (prononcé en français : ) ou bogue est un défaut de conception d'un programme informatique à l'origine d'un dysfonctionnement. La gravité du dysfonctionnement peut aller de bénigne, causant par exemple des défauts d'affichage mineurs à majeure, tels un plantage du système pouvant entraîner de graves accidents, par exemple la destruction en vol de la première fusée Ariane 5, en 1996.
Aide au développementL'aide au développement désigne une action volontaire par un acteur extérieur pour impulser le développement d'un pays tiers (pays en développement). Les conceptions du développement sont nombreuses, les différentes formes de l'aide le sont tout autant. L'aide au développement trouve son origine dans le discours sur l'état de l'Union du président des États-Unis Harry Truman le :Nous devons nous lancer dans un nouveau programme de construction pour mettre les bénéfices de nos avancées scientifiques et de nos progrès industriels au service de l'amélioration et de la croissance des régions sous-développées.
Software development processIn software engineering, a software development process is a process of planning and managing software development. It typically involves dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design and/or product management. It is also known as a software development life cycle (SDLC). The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.
Intelligence ambiante[[Image:Evolution computer 1960-2010-fr.jpg|thumb|500px|right|L'évolution des ordinateurs : la course à la miniaturisation et à la diffusion dans le milieu ambiant. Parce que la technologie permet de fabriquer des ordinateurs minuscules et omniprésents (nano-informatique), elle ouvre à presque tous les objets de la vie courante, la capacité à déclencher un échange spontané d'informations, sans interaction avec leur utilisateur.