ThèseUne thèse (du nom grec thesis, se traduisant par « action de poser ») est une affirmation ou prise de position d'un locuteur, à l'égard du sujet ou du thème qu'il évoque. En philosophie et rhétorique, une thèse est une affirmation, qui peut se résumer en une simple phrase, mais est généralement soutenue par un ensemble organisé d'hypothèses, d'arguments et de conclusions. Il s'agit donc de la position d'un auteur, d’une école, d’une doctrine ou d’un mouvement sur un sujet donné.
Rust (langage)Rust est un langage de programmation compilé multi-paradigme conçu et développé par Mozilla Research depuis 2010. Il a été conçu pour être « un langage fiable, concurrent, pratique », supportant les styles de programmation purement fonctionnel, modèle d'acteur, procédural, ainsi qu'orienté objet sous certains aspects. En 2020, ses domaines de prédilection sont la programmation système, les applications en ligne de commande, les applications Web via WebAssembly, les services réseaux et les systèmes embarqués.
Logicielthumb|Démarche de construction d'un logiciel. En informatique, un logiciel est un ensemble de séquences d’instructions interprétables par une machine et d’un jeu de données nécessaires à ces opérations. Le logiciel détermine donc les tâches qui peuvent être effectuées par la machine, ordonne son fonctionnement et lui procure ainsi son utilité fonctionnelle. Les séquences d’instructions appelées programmes ainsi que les données du logiciel sont ordinairement structurées en fichiers.
Software agingIn software engineering, software aging is the tendency for software to fail or cause a system failure after running continuously for a certain time, or because of ongoing changes in systems surrounding the software. Software aging has several causes, including the inability of old software to adapt to changing needs or changing technology platforms, and the tendency of software patches to introduce further errors. As the software gets older it becomes less well-suited to its purpose and will eventually stop functioning as it should.
IdentifiantUn identifiant est une sorte de nom qui sert à identifier un objet précis dans un ensemble d'objets ; ou plus largement toute suite de caractères qui joue ce rôle-là. En principe, un identifiant devrait être unique pour chaque objet. En pratique (comme pour les noms de personnes ou de lieux) ce n'est pas toujours le cas, sauf s'il s'agit d'un ensemble d'identifiants défini par une norme technique. Un identifiant de métadonnée est un signe, une étiquette ou un jeton indépendant du langage, qui identifie de manière unique un objet au sein d'un schéma d'identification.
Outilthumb|Une boîte à outils en bois des années 1950. Un outil est un objet physique utilisé par un être vivant directement, ou par l'intermédiaire d'une machine, afin d'exercer une action le plus souvent mécanique, ou thermique, sur un élément d'environnement à traiter (matière brute, objet fini ou semi-fini, être vivant, etc). Il améliore l'efficacité des actions entreprises ou donne accès à des actions impossibles autrement. Beaucoup procurent un avantage mécanique en fonctionnant selon le principe d'une machine simple, comme la pince-monseigneur, qui exploite le principe du levier.
Memory safetyMemory safety is the state of being protected from various software bugs and security vulnerabilities when dealing with memory access, such as buffer overflows and dangling pointers. For example, Java is said to be memory-safe because its runtime error detection checks array bounds and pointer dereferences. In contrast, C and C++ allow arbitrary pointer arithmetic with pointers implemented as direct memory addresses with no provision for bounds checking, and thus are potentially memory-unsafe.
Programmation concurrenteLa programmation concurrente est un paradigme de programmation tenant compte, dans un programme, de l'existence de plusieurs piles sémantiques qui peuvent être appelées threads, processus ou tâches. Elles sont matérialisées en machine par une pile d'exécution et un ensemble de données privées. La concurrence est indispensable lorsque l'on souhaite écrire des programmes interagissant avec le monde réel (qui est concurrent) ou tirant parti de multiples unités centrales (couplées, comme dans un système multiprocesseurs, ou distribuées, éventuellement en grille ou en grappe).
Classification et catégorisation de documentsLa classification et catégorisation de documents est l'activité du traitement automatique des langues naturelles qui consiste à classer de façon automatique des ressources documentaires, généralement en provenance d'un corpus. Cette classification peut prendre une infinité de formes. On citera ainsi la classification par genre, par thème, ou encore par opinion. La tâche de classification est réalisée avec des algorithmes spécifiques, mis en œuvre par des systèmes de traitement de l'information.
FuzzingLe fuzzing (ou test à données aléatoires) est une technique pour tester des logiciels. L'idée est d'injecter des données aléatoires dans les entrées d'un programme. Si le programme échoue (par exemple en plantant ou en générant une erreur), alors il y a des défauts à corriger. Exemples de points d'entrée d'un programme : Fichiers Périphériques (clavier, souris, etc.) Variables d'environnement Réseau Limitation des ressources (mémoire, disque dur, temps CPU, etc.) etc.