dorianmarie.com | Paul Graham | Legal | Terms | Privacy

Glossaire

Abstrait : cacher les détails. Lorsqu’un langage est plus abstrait, vous pouvez écrire des programmes en utilisant un plus petit nombre d’opérations (individuellement plus puissantes).

Arbre : Structure de données dont chaque instance peut renvoyer à deux ou plusieurs autres instances. Par exemple, un arbre généalogique.

Arbre d’analyse : La structure de données dans laquelle un compilateur qui compose votre programme, comme première étape de sa traduction en langage machine.

Ada : Un langage orienté objet conçu par un comité du DoD à la fin des années 1970. Il s’est avéré à peu près comme vous vous y attendiez.

Administrateur système : Quelqu’un qui installe du matériel et des logiciels informatiques, et maintient les réseaux en bon fonctionnement.

Algol : Un langage de programmation initialement conçu en 1958 par un comité (mauvais) de personnes très intelligentes (bonnes). Rarement utilisé pour écrire des programmes, mais a eu une grande influence sur les langues suivantes.

Algorithme : une méthode pour faire quelque chose. Les recettes sont des exemples d’algorithmes.

API : (Application Program Interface) : Interface de Programme d’Application. La liste des commandes qu’un système d’exploitation ou une bibliothèque acceptera des applications.

APL : Un langage extrêmement succinct conçu au début des années 1960 par Ken Iverson. Utilisé surtout dans les applications numériques. Son descendant moderne est J.

Application : Un programme qui n’est pas une infrastructure. Par exemple, un traitement de texte, mais pas un système d’exploitation. Pas un terme précis.

Arc : Un dialecte vaporware de Lisp.

ASP (Application Service Provider) : Fournisseur de Service d’Applications. Une entreprise qui vous permet d’utiliser des logiciels sur leurs ordinateurs via un réseau, au lieu d’installer et d’exécuter le logiciel sur votre propre ordinateur.

B&D Language : Langage de bondage et de discipline. Un langage qui fait en sorte que le programme suive des règles strictes.

Bande passante : La vitesse à laquelle une connexion peut transmettre des données.

Bayésien : Utilisation de la règle de Bayes, qui indique comment combiner les preuves statistiques

Bibliothèque : Une collection de codes existant pour effectuer une tâche spécifique.

Binaire : Lorsqu’il est utilisé avec un article (par exemple « un binaire »), code objet. Lorsqu’il est utilisé sans un article, une façon de représenter les nombres en base 2 au lieu de la base 10 plus familière. Les chiffres successifs (en commençant par la droite) représentent des puissances de deux. Ainsi, 101, en binaire, représente le nombre que nous écrivons comme 5 en décimal. La plupart des ordinateurs représentent les données en binaire, parce qu’il est plus facile de concevoir des circuits à deux états (on ou off) qu’à dix.

Bloatcode : Un programmeur qui rend les programmes plus longs qu’ils ne devraient l’être.

Blub Paradox : L’incapacité à comprendre la puissance des langages de programmation plus puissants que ceux auxquels vous avez l’habitude de penser.

Boucle infinie : Voir définition circulaire.

Branche : Une commande go-to en langage machine.

Bug : Une erreur dans un programme. Avant les ordinateurs ; au début du XXe siècle, il était courant de parler de “repasser les bugs” dans une pièce de théâtre de Broadway.

C : Un langage magnifiquement simple développé par Dennis Ritchie au début des années 1970. Largement utilisé dans les infrastructures telles que les systèmes d’exploitation et les routeurs.

C++ : Une tentative d’ajouter des capacités orientées objet au langage C, conçue par Bjarne Stroustrup en 1983. Populaire parce que sa syntaxe est similaire à celle de C, et qu’elle peut être mélangée avec des programmes C.

Calcul des nombres : Effectuer des opérations simples sur de grandes quantités de données numériques.

Chaîne : Une séquence de caractères

Caractères alphanumériques : Lettres et chiffres

Champ : L’une des parties d’une structure de données.

Checksum : Une façon de résumer toutes les informations d’un fichier pour obtenir un nombre qui peut être utilisé pour l’identifier. Une (pas très bonne)

Classe : En programmation orientée objet, un type de données.

Click trail : Série de requêtes HTTP envoyées à un serveur web par un utilisateur spécifique. Cela correspond généralement à la série de pages web qu’ils ont visitées.

Client : Un ordinateur ou un appareil qui soumet des demandes à un serveur.

Conception prématurée : Décider trop tôt de ce qu’un programme doit faire.

Cobol : Un langage primitif conçu au début des années 1960 pour être utilisé dans les applications commerciales. Il n’a été remplacé que récemment par Java en tant que langage le plus populaire.

Code : Lorsqu’il n’est pas qualifié, code source.

Code byte : Tout langage semblable au langage machine, mais pas celui d’un ordinateur spécifique. Étant semblable au langage machine, il est facile d’écrire un interprète de code byte, qui lit les programmes de code byte et exécute les commandes correspondantes en langage machine.

Code objet : Langage machine, résultat d’un compilateur.

Coincé : Dans un état de non-réponse. Dit surtout d’un serveur.

Collecte des ordures : Récupération automatique de la mémoire dont un programme n’a plus besoin, au lieu de demander au programmeur de déclarer explicitement (et souvent à tort) quand il a fini de l’utiliser.

Colocalisé : Situé en particulier chez des fournisseurs d’accès à internet

Commentaire : Partie d’un programme qui est ignorée par l’ordinateur. Généralement insérée en tant qu’annotation pour les lecteurs humains

Common Lisp : Un dialecte populaire de Lisp conçu par un comité dans les années 1980.

Compilateur : Un programme qui traduit des programmes écrits dans un langage plus puissant et plus succinct (un langage de haut niveau) en des commandes plus simples (langage machine) que le matériel informatique comprend. Voir aussi : interprète.

Complexité : La complexité temporelle d’un algorithme est la vitesse à laquelle le temps nécessaire à sa réalisation croît lorsque la taille de l’entrée augmente. Par exemple, si vous devez rechercher une chambre pour une personne spécifique en regardant chacune d’elles à tour de rôle, le temps nécessaire pour la trouver sera proportionnel au nombre de personnes. Un tel algorithme est appelé O(n), ce qui signifie qu’il prend du temps proportionnel à n, la taille des données. Alors que si vous vouliez trouver les deux personnes dans la pièce qui ressemblaient le plus à des frères et sœurs, vous prendriez probablement du temps proportionnel au carré du nombre de personnes, parce que vous pourriez avoir à comparer chaque paire, et le nombre de paires est le carré du nombre de personnes. Un tel algorithme est O(n2).

Conditionnel : Une expression de langage de haut niveau (ou une instruction) dans laquelle un code différent est exécuté selon qu’une condition est vraie ou non. Par exemple : s’il fait beau, alors allez vous promener, sinon restez à l’intérieur et lisez.

CPU (Central Processing Unit) : Unité centrale de traitement. Partie d’un ordinateur, généralement constituée d’une seule puce, où les calculs sont effectués. Le concept devient de plus en plus flou, parce qu’il y a maintenant des processeurs dans les cartes graphiques et les disques durs.

Crash : Lorsqu’un bug provoque l’arrêt du fonctionnement d’un système d’exploitation ou d’une application. Ou encore, dans le cas des disques durs, un dysfonctionnement matériel.

Cruft : Débris.

Cycle : Le temps minimum nécessaire à l’exécution d’une instruction de machine. Un ordinateur avec une vitesse d’horloge de 1 GHz a un milliard de cycles par seconde, ce qui signifie qu’il peut exécuter jusqu’à un milliard d’instructions de machine par seconde.

Dactylographie statique : Un langage est tapé systématiquement si le type de valeur que chaque variable peut avoir doit être connu.

DARPA (Defense Advanced Research Projects Agency) : Agence des projets de recherche avancée de défense. A financé une grande partie de la recherche en informatique aux États-Unis.

Dactylographie dynamique : Le contraire de la dactylographie statique.

Débogage : Trouver et corriger les erreurs dans un programme.

Déclaration : Un quantum de code qui ne donne pas de valeur. Pour être utilisé, il doit donc avoir un certain effet, par exemple : imprimer quelque chose. On peut soutenir que tout concept est une erreur; dans certains langages, il n’y a que des expressions

Définition circulaire : voir boucle infinie.

Déprécié : Dit des pratiques soutenues par une norme dont les auteurs regrettent aujourd’hui qu’elles n’aient pas été autorisées.

Dialecte open source d’Unix : Appelé GNU Linux par les fastidieux, car alors que le noyau (la partie la plus interne) a été écrit par Linus Torvalds, une plus grande partie du code provient du projet GNU de Richard Stallman.

Diff : Une comparaison non sélective et microscopiquement complète entre deux versions de quelque chose. À partir de l’utilitaire Unix diff, qui compare les fichiers.

Environnement : Logiciel d’aide à l’écriture de programmes, par exemple éditeurs et profileurs.

En retrait : Comme un plan…

En-tête : La partie en haut d’un email contenant des informations à ce sujet. L’utilisateur ne voit que les lignes DE, A, DATE, OBJET et CC, mais il y en a d’autres qui décrivent par exemple le chemin emprunté par l’email.

E/S (Entrée/Sortie) : I/O input/output : Généralement, impression et lecture de caractères de données binaires

Expression : Un quantum de code qui, lorsqu’il est exécuté, donne une valeur. Par exemple, l’expression 2 + 3 donnera 5.

Expression régulière : Motif utilisé comme un tamis pour récupérer des éléments aux chaînes de caractères.

Fermeture lexicale : Une fonction qui fait référence à une variable définie non pas à l’intérieur, mais dans le code environnant.

Fichier : Séquence de caractères ou de chiffres binaires, généralement stockée sur un disque.

Filtrage basé sur le contenu : Filtrage des courriers électroniques en fonction de leur contenu et non, par exemple, de leur provenance sur internet.

Fonction : Sous-programme qui, lorsqu’il est appelé, produit une valeur qui devient la valeur de l’appel. Dans certains langages, les fonctions sont un type de données.

Fortran : Un langage de programmation largement utilisé pour les applications numériques. Conçu à l’origine par un groupe d’IBM en 1956, il a beaucoup évolué depuis.

FreeBSD : Dialecte open source d’Unix

Freeware : Logiciel distribué gratuitement.

Guerre du design : Un concours où le meilleur design l’emporte, plutôt que, par exemple, le marketing ou le contrôle des points de vente

Glue program : Un programme pour séquencer ou déplacer des données entre les applications.

Goto : Une commande qui transfère le contrôle à une autre partie d’un programme. Parce qu’il n’y a pas de mécanisme pour revenir à un goto, comme il y a un appel de sous-routine, les programmes qui utilisent des gotos ont tendance à devenir des spaghettis. Rare maintenant.

Greenspun’s Tenth Rule : Tout programme C ou Fortran suffisamment compliqué contient une implémentation lente, ad hoc et informellement spécifiée, criblée de bogues, de la moitié de Common Lisp

Hack : Une solution qui enfreint d’une manière ou d’une autre les règles. Peut être bon ou mauvais.

Hacker : (1) Un bon programmeur. (2) Quelqu’un qui s’infiltre dans les ordinateurs.

Heuristique : Règle empirique.

High level : Substantiellement plus abstrait que le langage de la machine.

HTML (HyperText Markup Language) : La notation utilisée pour exprimer les pages Web.

HTTP (HyperText Transfer Protocol) : Le protocole que les navigateurs Web et les serveurs utilisent pour communiquer entre eux.

Hypothèse de Brooks : Le nombre de lignes de code que les programmeurs peuvent produire par jour est constant, quelque soit le langage utilisé.

IA (Intelligence artificielle) : Terme général pour plusieurs types de travaux qui tente de faire réfléchir les machines

Ingénieur logiciel : Terme formel pour programmeur.

Interprète : Comme un compilateur, un interprète accepte les programmes écrits dans un langage de haut niveau, mais au lieu de traduire l’ensemble du programme en langage machine, puis de l’exécuter, l’interprète examine le programme une pièce à la fois et exécute les commandes correspondantes en langage machine.

Inner loop : Partie d’un programme qui a été exécuté particulièrement souvent.

Instrument : Pour modifier un programme pour garder une trace de tout ce qu’il fait, de sorte que s’il est lent ou utilise trop de mémoire, vous pouvez savoir pourquoi.

Instruction de machine : Une commande de langage de machine.

Intel box : Un ordinateur avec un processeur Intel.

Java : Une tentative d’un meilleur C++ par James Gosling. Initialement appelé Oak, il a été renommé Java par Sun lorsqu’ils l’ont adopté dans l’espoir d’insérer une couche contrôlée par Sun entre les systèmes d’exploitation et les applications. Cela n’a pas fonctionné, mais Java est populaire de toute façon, en partie en raison de l’énorme effort de marketing de Sun, et en partie parce qu’il y a une demande pour un meilleur C++.

Javascript : Un langage de script pour les navigateurs Web conçu par Brendan Eich. Il n’a pas de connexion intrinsèque à Java, qui est dans la plupart des cas inférieur. Indûment calomnié parce qu’il est principalement utilisé pour faire des choses ringardes sur des sites web.

Jetons : Séquence de caractères formant une unité. Terme plus général pour “mot”.

Kludge : Un mauvais hack. (Rime avec stooge.)

Langage d’assemblage : Forme plus conviviale pour les programmeurs que le langage machine. Les commandes sont les mêmes, mais vous pouvez utiliser des noms plus pratiques.

Langage de programmation : Un langage de haut niveau et ce que le compilateur utilise comme entrée pour générer du code objet (Je plaisante, voir Chapitre 10).

Langage de script : Un langage utilisé pour personnaliser un programme. Parfois les langages open source comme Perl et Python sont appelés langages de scripts, mais cet usage n’a pas de sens.

Langage intégré : Un langage défini à l’intérieur d’un autre langage, généralement pour un type de problèmes spécifiques. Par exemple, si vous définissez une série de commandes pour manipuler des images, vous pouvez commencer à les considérer comme un langage de manipulation d’images. Voir Programmation ascendante.

Langage machine : La liste des commandes qu’un processeur sait obéir. Aussi, une séquence de telles commandes.

Langage pour les personnes intelligentes : Un langage qui met le pouvoir sur la sécurité. Une collection de code existant pour effectuer une tâche spécifique.

Lié : Contraint par une ressource particulière. Par exemple lié par l’E/S, lié par la mémoire, lié à l’unité centrale.

LFSP : Language For Smart People; un langage qui privilégie le pouvoir de sécurité

Linux : Un dialecte open source d’Unix. Appelé GNU Linux par les plus pointilleux, car le noyau (la partie la plus interne) a été écrit par Linus Torvalds, et la plus grande partie du code provient du projet GNU de Richard Stallman.

Lisp : Une famille de langues dérivée d’un langage par John McCarthy à la fin des années 1950. Les deux dialectes les plus connus sont Common Lisp et Scheme. Les langages open source récents contiennent des quantités croissantes d’ADN Lisp.

Liste : Une série de données, souvent de types différents, qui peuvent être réunies comme des trains pour faire des listes plus grandes.

Logiciel hérité : Logiciel dont une organisation a encore besoin, qui n’est pas écrit comme ils le souhaiteraient, et qu’elle ne peut pas se permettre ou n’ose pas réecrire.

Loi de Moore : La version officielle de la Loi de Moore est que le nombre de transistors sur une puce double tous les deux ans. Mais la plupart des gens utilisent ce terme pour signifier que les processeurs sont deux fois plus rapides tous les 18 mois. Sans doute plus de plan d’affaires que de droit, parce que Gordon Moore a été l’un des fondateurs d’Intel.

Loi de Parkinson : Que les ressources nécessaires pour accomplir une tâche seront étendues pour consommer les ressources nécessaires.

Low-level : Moins abstrait ; n’autorisant que des commandes simples, comme le langage machine.

Machine d’état : Une machine théorique qui peut être dans un certain ensemble d’états possibles, avec des connexions entre les états lorsque certaines conditions sont vraies.

Machine de Turing : Ordinateur imaginaire simple dont les propriétés sont utilisées pour prouver des théorèmes sur l’informatique. On pense actuellement qu’il est impossible d’obtenir quelque chose de plus puissant, dans le sens où l’on ne peut pas définir un ordinateur dont les programmes ne pourraient pas être traduits en programmes de machines de Turing. Mais personne ne peut le dire avec certitude, car le terme “ordinateur” n’est pas formellement défini.

Macro : Un programme qui génère des programmes. Les moyens de le faire varient entre les langues, de sorte qu’un “macro” dans une langue peut signifier quelque chose de beaucoup plus puissant que dans une autre.

Mainframe : Un gros ordinateur basé sur des conceptions des années 1960 et 1970.

Maladie de l’administrateur système : La croyance implicite des administrateurs systèmes selon laquelle l’infrastructure qu’ils supervisent est une fin en soi, plutôt qu’un outil pour les utilisateurs. Plus généralement, l’attitude selon laquelle les clients sont une nuisance, plutôt que la raison pour laquelle votre travail existe. Endémique dans les emplois non exposés à la concurrence.

Manipulation de bits : effectuer des transformations simples sur de grandes zones de la mémoire d’un ordinateur. Par ex. déplacer une fenêtre sur l’écran

Math envy : L’inquiétude de ne pas être aussi intelligent que les mathématiciens, surtout lorsqu’elle se manifeste dans un travail à saveur gratuitement mathématique.

Méta circulaire : Lorsque l’interprète de la langue est écrit dans cette langue. Plus une technique pour décrire les langues que pour les implémenter.

Méthode : Dans la programmation orientée objet, un sous-programme considéré comme une propriété d’une classe de choses. Par exemple, la méthode d’aire de la classe de cercle pourrait être une sous-routine pour calculer les aires des cercles.

Module : Un groupe de sous-programmes et de variables considérés comme une unité. En général, seuls ceux spécifiquement notés sont accessibles au code en dehors du module.

Objet : Un terme aux significations multiples. Dans le sens le plus général, une instance d’un type de données. Par exemple, une chaîne particulière ou un entier particulier.

OO, orienté-objet : une façon d’organiser les programmes de manière à ce que le code permettant d’effectuer une certaine tâche sur différentes classes de données soit divisé en éléments distincts (méthodes) pour chacune d’entre elles.

Occam’s Razor : Qu’il faut préférer la plus simple des deux théories.

Opensource : Dont le code source est librement distribué et peut être modifié par n’importe qui, généralement à condition que les modifications soient également mises à disposition gratuitement. Linux et FreeBSD sont des systèmes d’exploitation open source bien connus.

Orthogonal : Indépendants les uns des autres et donc combinables de nombreuses manières. Les Lego classiques sont plus orthogonaux que les maquettes en plastique.

Optimisation : Changer un programme pour le rendre plus efficace.

Optimisation prématurée : Réglage d’un programme pour les performances avant de l’écrire. L’équivalent logiciel de se marier jeune.

Ordinateur parallèle : Un ordinateur dont le matériel peut effectuer plusieurs calculs simultanément. Ce n’est pas une catégorie clairement délimitée, car tous les processeurs modernes utilisent un certain nombre de parallélismes pour augmenter la vitesse.

Parser : Un programme qui lit l’entrée et produit un arbre d’analyse.

Pascal : Dérivé d’Algol conçu au début des années 1970 par Niklaus Wirth.

Patch : Un morceau de code publié pour corriger une faille dans un programme antérieur.

PDA, Personal Digital Assistant (Assistant numérique personnel) : Un petit ordinateur que vous emportez avec vous. A généralement une interface plus facile mais plus limitée qu’un ordinateur ordinaire.

Perl : Un langage open source développé par Larry Wall. Initialement destiné à manipuler des chaînes de caractères, il est devenu populaire parce que c’est une grande partie de ce que font les programmeurs. Célèbre pour sa syntaxe complexe (mais concise) et son évolution rapide et promiscue. Pipe : Une façon de joindre les commandes du système d’exploitation afin que la sortie de l’une devienne l’entrée d’une autre.

Pointeur : Un morceau de données dont la valeur est l’emplacement dans la mémoire d’un autre.

Pointeur arithmétique : Trouver des éléments dans la mémoire en ajoutant certaines quantités à des emplacements déjà connus. Technique de bas niveau.

Patron aux cheveux pointus : Personnage de la bande dessinée Dilbert de Scott Adams. Généralement, un cadre moyen inepte et autoritaire.

Pilote de périphérique : Composant d’un système d’exploitation qui sait comment communiquer avec un périphérique spécifique, comme une imprimante.

Polynôme : Appliqué à la croissance, signifie que y croît comme une puissance de x, par exemple comme le carré ou le cube de x. La courbe qui en résulte devient plus raide avec le temps.

Portable : Capable d’être déplacé vers du nouveau matériel. Les programmes écrits en langages de haut niveau sont (plus) portables que les programmes en langage machine, car ils ne font (presque) rien sur le matériel.

Programmation ascendante : Un style de programmation qui fonctionne à partir de l’autre direction que le style descendant précédent. Au lieu de subdiviser une tâche en unités plus petites, vous construisez un “langage” d’idées vers votre tâche. Les deux techniques peuvent être combinées.

Portail : Site Web.

Processus : Dans un système d’exploitation qui peut contrôler plusieurs programmes à la fois (comme tous les systèmes d’exploitation modernes), l’un de ces programmes.

Programme jetable : Un programme écrit pour satisfaire un besoin temporaire.

Profiler : Un programme qui surveille votre programme pendant qu’il est en cours d’exécution et vous indique quelles parties consomment le plus de ressources. Voir la boucle intérieure.

Pseudocode : Un langage pour exprimer des algorithmes “sur papier” plutôt que pour les ordinateurs. On peut soutenir que tout ce concept est un artefact d’utilisation de langages de trop bas niveau.

Python : Langage open source développé par Guido van Rossum. Fortement orienté-objet, il est considéré par ses fans comme une alternative plus propre à Perl.

QA (Quality Assurance) : Assurance qualité. Dans les logiciels, les personnes qui détectent et cataloguent les bugs.

RAID (Redundant Array of Independent Disks) : Réseau redondant de disques indépendants. Un morceau de matériel qui utilise plusieurs disques durs pour simuler un disque dur qui (en théorie) ne plante jamais.

Read-eval-print loop : Un toplevel.

Récursif : Un algorithme qui se réfère à lui-même. L’algorithme d’un policier pour interroger les gens est récursif : demandez à la personne si elle est au courant du crime, ou si elle connaît quelqu’un qui le sait, et si c’est le cas, interrogez-la aussi.

Représentation littérale : Une façon de se référer directement dans un langage de haut niveau. Dans la plupart des langages la représentation de cinq est 5 (l’expression 2+3 a la même valeur, mais ce n’est pas une représentation littérale).

RISC (Reduced instruction Set Computer) : Ordinateur de jeu d’instructions réduit . Un ordinateur dont les commandes en langage machine font peu, mais fonctionnent vite. L’objectif est de faire une meilleure cible pour les compilateurs, de la même manière que le film de granularité fine donne des images plus nettes.

Ruby : Un nouveau concurrent open source pour Perl et Python développé par Yukihiro “matz” Matsumoto.

Scan : Pour regarder une série de caractères et les diviser en jetons.

Schéma : Un dialecte élégant mais primitif de Lisp conçu par Guy Steele et Gerry Sussman en 1975.

Script CGI (Common Gateway Interface) : Script d’interface de passerelle commune. Programme qu’un serveur web exécute lorsqu’il doit calculer quelque chose (par exemple les résultats d’une recherche) au lieu de vous envoyer vers une page web préexistante. La principale limitation des scripts CGI est qu’ils ne génèrent qu’une seule page avant de se terminer, au lieu de rester en mémoire et d’avoir une conversation continue avec l’utilisateur comme les langages de bureau

Serveur : Un ordinateur sur un réseau qui répond aux demandes d’autres ordinateurs.

Serveur web : Un serveur qui répond aux demandes HTTP.

SETI@home (Search Extra-Terrestrial Intelligence etc.) : Un projet de recherche de signaux d’autres formes de vie dans l’électromagnétique à la recherche de signaux d’autres formes de vie, en utilisant les cycles d’ordinateurs de bureau connectés à l’internet.

S-expression : Un jeton, ou zéro ou plusieurs s-expressions entre parenthèses.

Smalltalk : Le langage orienté objet canonique, conçu par Alan Kay en 1972.

SO, système d’exploitation : Programme qui contrôle l’exécution d’autres programmes (Unix, FreeBSD, Linux, OSX et la famille Windows)

Socket : Dans Unix, un canal par lequel les processus peuvent communiquer à travers un réseau.

Spaghetti : Code dont la structure a tellement de rebondissements que personne ne peut le comprendre, y compris l’auteur.

Spam : E-mail de masse non sollicité, généralement de la publicité. D’un sketch de Monty Python dans lequel les Vikings étouffent la conversation avec des refrains de “Spam, Spam, Spam”.

Spec : Spécification. Une description informelle de ce qu’un programme devrait faire.

SSH (Secure SHELL) : Un programme pour se connecter en toute sécurité à un ordinateur distant.

SSL (Secure Sockets Layer) : Un protocole pour la transmission sécurisée des données sur le Web.

Sous-routine : Un morceau de code distinct. Lorsque, à un moment donné dans un programme, vous voulez exécuter ce code, vous l’appelez, et lorsque la sous-routine est terminée, le contrôle revient au point où l’appel a eu lieu. Dans un livre de cuisine, une recette pour faire du glaçage pourrait être une sous-routine d’une recette de gâteau, et l’appel pourrait être “faire du glaçage en utilisant la recette de la page x”.

Sous-ensemble : Un concept inclus dans un autre. La cuisson est un sous-ensemble de la cuisine.

Suits : les personnes non techniques, en particulier les cadres. Dérive des vêtements qu’ils portaient avant de s’habiller comme des hackers dans les années 1990.

Structure de données : Format pour les données comportant plusieurs parties. Par exemple, vous pouvez utiliser un composé d’une paire de nombres pour représenter des points sur un graphique.

Structure en blocs : Décrit un langage dans lequel les programmes ont des parties subsidiaires au lieu d’être une simple liste de commandes.

Start-up larvaire : Une start-up dans la phase la plus précoce, lorsque les fondateurs ne sont pas sûrs de vouloir créer une entreprise.

Symbole : Un type de données dont les instances sont des jetons. Comme les chaînes, sauf (a) un symbole est une seule unité, pas une séquence de caractères, et (b) il n’y a généralement qu’un seul symbole avec un nom donné, alors qu’il peut y avoir plusieurs chaînes contenant les mêmes caractères.

Syntaxe : La forme utilisée pour exprimer les idées dans un programme. Pour donner à x la valeur 10, différentes langues pourraient dire x = 10, x <- 10, ou (= x 10).

Tableau : Ce que l’on appelait à l’école une matrice : une collection à n dimensions de casiers numérotés pour stocker des données.

Table de hachage : Une structure de données comme une base de données dans laquelle vous pouvez stocker des morceaux de données stockées sous des clés individuelles et récupérer plus tard les données stockées sous une clé donnée

Tampon : Segment de mémoire utilisé pour contenir une séquence de données que le programme attend en entrée ou qu’il accumule en vue de la sortie.

Technologie d’information : L’infrastructure informatique, ou les personnes chargées de la maintenir. Terme utilisé principalement dans les grandes entreprises ou les entreprises non-techniques.

Toplevel : Une interface avec un langage de programmation dans laquelle vous avez une conversation continue avec le langage, comme vous le faites avec Unix, plutôt que de simplement compiler des programmes et de les exécuter.

Turing-complete : Un langage est Turing-complet si tout programme écrit dans ce langage peut être traduit en un programme de machine de Turing et vice versa. Tous les langages de programmation sont Turing-complets, ce qui signifie qu’ils sont tous (d’un point de vue théorique) équivalents en puissance.

Type : Type de données.

Type de données : Catégories de données qu’un langage peut traiter. Les types de données typiques sont les entiers (1), les nombres à virgule flottante (1,234) et les chaînes de caractères “monstres”

UDP : Protocole de diffusion d’informations sur les réseaux.

UI (User interface) : Interface utilisateur

Unix : Le système d’exploitation à partir duquel les plus actuels dérivent. Le terme est utilisé à la fois de manière générique et est une marque d’une entreprise qui s’est terminée avec les droits d’une variante précoce. Développé à l’origine à Bell Labs par Ken Thompson et Dennis Ritchie au début des années 1970.

Uptime : Pourcentage de temps pendant lequel un ordinateur, en particulier un serveur, fait ce qu’il est censé faire. Il s’agit également du temps écoulé depuis la dernière panne d’un ordinateur.

URL (Uniform Resource Locator) : L’adresse d’une page web. Plus précisément, une demande à un serveur web, généralement pour une page web, mais peut-être pour exécuter un programme (e.g. une recherche web).

Utilisateur final : Euphémisme pour utilisateur non averti.

Vaporware : Un logiciel dont on parle mais qui n’est pas encore disponible.

VC (venture capitalist) : Personne qui fournit de l’argent pour créer ou refinancer une entreprise, en échange d’une partie des actions.

Vecteur : Tableau à une dimension ; une séquence.

Version 1.0 : La toute première version de quelque chose, avec l’implication qu’elle sera incomplète ou brisée.

VT100 : Un terminal informatique populaire dans les années 1980. Wysiwyg (“What you see is what you get”) : “Ce que vous voyez est ce que vous obtenez.” (Pronounced whizzy wig.) E.g. un processeur de texte où ce que vous voyez à l’écran ressemble à la page qui sortira de votre imprimante.

XML : Format d’organisation des données.