Expression régulièrevignette|Stephen Cole Kleene, dont les travaux ont fondé le concept d'expression régulière. En informatique, une expression régulière ou expression rationnelle ou expression normale ou motif est une chaîne de caractères qui décrit, selon une syntaxe précise, un ensemble de chaînes de caractères possibles. Les expressions régulières sont également appelées regex (un mot-valise formé depuis l'anglais regular expression). Les expressions rationnelles sont issues des théories mathématiques des langages formels des années 1940.
Syntax (programming languages)In computer science, the syntax of a computer language is the rules that define the combinations of symbols that are considered to be correctly structured statements or expressions in that language. This applies both to programming languages, where the document represents source code, and to markup languages, where the document represents data. The syntax of a language defines its surface form. Text-based computer languages are based on sequences of characters, while visual programming languages are based on the spatial layout and connections between symbols (which may be textual or graphical).
Traitement automatique du langage naturelLe traitement automatique du langage naturel (TALN), en anglais natural language processing ou NLP, est un domaine multidisciplinaire impliquant la linguistique, l'informatique et l'intelligence artificielle, qui vise à créer des outils de traitement du langage naturel pour diverses applications. Il ne doit pas être confondu avec la linguistique informatique, qui vise à comprendre les langues au moyen d'outils informatiques.
Génération automatique de textesLa génération automatique de texte (GAT) est une sous discipline de la linguistique computationnelle qui vise à exprimer sous une forme textuelle, syntaxiquement et sémantiquement correcte, une représentation formelle d'un contenu. Outre ses nombreuses applications existantes ou potentielles - par exemple pour produire automatiquement des bulletins météorologiques, ou des rapports automatisés - elle offre par ailleurs un cadre d'investigation des théories linguistiques, et particulièrement de ses mécanismes de production.
Automatic programmingIn computer science, automatic programming is a type of computer programming in which some mechanism generates a computer program to allow human programmers to write the code at a higher abstraction level. There has been little agreement on the precise definition of automatic programming, mostly because its meaning has changed over time. David Parnas, tracing the history of "automatic programming" in published research, noted that in the 1940s it described automation of the manual process of punching paper tape.
Model-based testingvignette|Diagramme du model-based testing Le model-based testing (MBT) est une activité qui permet de concevoir et de dériver (de manière automatique ou non) des cas de tests à partir d'un modèle abstrait et haut niveau du système sous test (SUT). Le modèle est dit abstrait car il offre bien souvent une vue partielle et discrète des comportements attendus d'un logiciel ou d'un système. Sur la base de modèles abstraits, des cas de test peuvent être dérivées sous la forme de suites de tests.
Compréhension du langage naturelvignette|L'apprentissage de la lecture par Sigurður málari, siècle. La compréhension du langage naturel (NLU en anglais) ou linterprétation en langage naturel (NLI) est une sous-rubrique du traitement de la langue naturelle en intelligence artificielle qui traite de la compréhension en lecture automatique. La compréhension du langage naturel est considérée comme un problème difficile en IA. Il existe un intérêt commercial considérable dans ce domaine en raison de son application à la collecte de nouvelles, à la catégorisation des textes, à l'activation vocale, à l'archivage et à l'analyse de contenu à grande échelle.
Ad hoc polymorphismIn programming languages, ad hoc polymorphism is a kind of polymorphism in which polymorphic functions can be applied to arguments of different types, because a polymorphic function can denote a number of distinct and potentially heterogeneous implementations depending on the type of argument(s) to which it is applied. When applied to object-oriented or procedural concepts, it is also known as function overloading or operator overloading.
Java version historyThe Java language has undergone several changes since JDK 1.0 as well as numerous additions of classes and packages to the standard library. Since J2SE 1.4, the evolution of the Java language has been governed by the Java Community Process (JCP), which uses Java Specification Requests (JSRs) to propose and specify additions and changes to the Java platform. The language is specified by the Java Language Specification (JLS); changes to the JLS are managed under JSR 901.
Test unitaireEn programmation informatique, le test unitaire (ou « T.U. », ou « U.T. » en anglais) est une procédure permettant de vérifier le bon fonctionnement d'une partie précise d'un logiciel ou d'une portion d'un programme (appelée « unité » ou « module »). Dans les applications non critiques, l'écriture des tests unitaires a longtemps été considérée comme une tâche secondaire. Cependant, les méthodes Extreme programming (XP) ou Test Driven Development (TDD) ont remis les tests unitaires, appelés « tests du programmeur », au centre de l'activité de programmation.