Langages de programmation – quelques liens

Petit index
Z

Quelques sujets connexes :

Quelques outils pour essayer un langage en ligne : Essayer-langages.html

Les liens portant sur des comparatifs entre langages de programmation ont été relocalisés sur Comparatifs-Langages-programmation--Liens.html

Cette page n'a (vraiment!) pas la prétention d'être exhaustive, et liste un certain nombre de langages de programmation et de concepts leur étant associés, qu'il s'agisse de projets expérimentaux ou d'implémentations commerciales. Si vous êtes curieuses ou curieux...

Parmi les dossiers généraux, vous trouverez des liens sur :

Enfin, vous trouverez des liens vers quelques textes dénotant des approches expérimentales ou novatrices.

Il existe évidemment d'autres ressources dans Internet, dont le Dictionary of Programming Languages disponible sur http://cgibin.erols.com/ziring/cgi-bin/cep/cep.pl, et l'OverAPI (une collection de Cheat Sheets pour divers langages) sur http://overapi.com/

Section « A »

Langages dans cette section : ActionScript, Ada, Agda, Agenda, قلب, Algol 58, Algol 60, Algol 68, Alice, AmbientTalk, AMPL, ANI, APL, Arc, Arduino, ArnoldC, ASP, ASP .NET, Assembleur, ATS, Avail, AWK, Axum

ActionScript

Comparatifs impliquant ce langage

Auteur : Gary Grossman

Langage de scripting de la plateforme Flash. Dialecte de ECMAScript.

Ada

Comparatifs impliquant ce langage

Auteur : Jean Ichbiah

Le langage Ada a été présenté comme le choix des militaires et comme une solution pour joindre performance et sécurité.

Agda

Auteur : Ulf Norel

Langage fonctionnel avec types dépendants, qui ressemble un peu à un outil de démonstration de preuves.

Agenda

Auteur : Alexander Walz

Langage de script et procédural à vocation éducative.

قلب

Vous pouvez l'essayer en ligne

Auteur : Ramsey Nasser

Un langage de programmation où les instructions s'expriment en calligraphie arabe.

Algol 58

Auteurs : plusieurs, dont John Backus, Peter Naur et John McCarthy

Langage procédural, ancêtre du très important Algol 60.

Algol 60

Auteur : plusieurs, dont John Backus et Peter Naur.

Le langage Algol 60, avec son descendant direct Algol 68, est l'un des langages les plus importants de l'histoire. Sa notation inspire encore celle du pseudocode utilisé aujourd'hui.

Algol 68

Comparatifs impliquant ce langage

Auteurs : Adriaan van Wijngaarden (entre autres)

Le langage Algol 68, successeur d'Algol 60, est l'un des langages ayant influencé une importante quantité de langages contemporains. Certains ne jurent encore que par lui aujourd'hui...

Alice

Auteurs : Wanda Dann et Dennis Cosgrove

Langage proposant un environnement interactif 3D et susceptible de servir à la fois à des fins éducatives et à la génération d'animations.

AmbientTalk

Auteur : Tom Van Cutsem, Stijn Mostinckx, Jessie Dedecker et Wolfgang De Meuter

Langage OO axé vers la concurrence, la téléphonie mobile et les réseaux de capteurs. Met de l'avant un paradigme de programmation ambiante.

AMPL

Auteurs : Robert Fourer, David M. Gay et Brian W. Kernighan

Langage de modélisation mathématique.

ANI

Auteur : Mark Henderson?

Langage axé sur la multiprogrammation, au sens où les programmeurs ne séquencent pas explicitement leur code (le compilateur le fait). Les objets y communiquent à travers des tuyaux (Pipes), ce qui provoque un séquencement, mais outre cela, deux énoncés distincts y sont présumés exécutables en parallèle.

APL

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteur : Kenneth E. Iverson.

Langage de programmation axé sur le traitement de tableaux et reposant sur une notation mathématique (on y programmait avec un clavier spécial). Ce langage est important sur le plan de l'intérêt historique. Son nom signifie littéralement A Programming Language.

Arc

Vous pouvez l'essayer en ligne

Le Arc Challenge met de l'avant un problème associé au Web et y demande une solution simple à l'aide d'un langage choisi par celles et ceux qui souhaitent relever le défi.

Parmi les solutions proposées, on trouve :

Auteurs : Paul Graham et Robert Morris

Langage fonctionnel, dialecte de Lisp. On lui associe le Arc Challenge (voir l'encadré) que cherchent à relever des programmeurs sur différentes plateformes et avec divers outils.

Arduino

Auteur : Tom Igoe

Un langage destiné principalement aux microcontrôleurs.

Histoire et culture du Arduino :

ArnoldC

Auteur : Lauri Hartikka

Si vous avez toujours voulu un programme dont le ton est viril...

ASP

Auteur : plusieurs personnes.

Langage utilisé dans Internet pour la génération de pages, principalement côté serveur. On lui préfère maintenant ASP .NET.

ASP .NET

Auteur : Scott Guthrie

Langage utilisé dans Internet pour la génération de pages, principalement côté serveur. A remplacé ASP.

Technique :

Assembleur

Comparatifs impliquant ce « langage »

Plus un concept qu'un langage, donc voir ici.

ATS

Auteurs : plusieurs personnes

Un langage multi-paradigme, avec une syntaxe semblable à celle des langages fonctionnels, qui met l'accent sur son système de types.

Avail

Auteurs : l'équipe décrite sur http://www.availlang.org/about-us/team/index.html

Langage multiparadigme voué à la « programmation articulée ».

AWK

Comparatifs impliquant ce langage

Auteurs : Alfred V. Aho, Peter Weinberg, Brian W. Kernighan (le nom du langage provient des noms de ses auteurs)

Un langage orienté vers la transformation de chaînes de caractères.

Axum

Auteur : plusieurs personnes.

Langage compilé pour une machine virtuelle et mettant l'accent sur la multiprogrammation.

Section « B »

Langages dans cette section : B, Bard, Bash, Basic, BCPL, BitC, Blockly, Bloom, bodyfuck, Bondi, Boo, Boomerang, Boose, Brain, brainfuck, BrainLess, BS

B

Auteur : Ken Thompson (on lui associe aussi Dennis M. Ritchie)

Le langage B est un ancêtre du très important langage C, donc de plusieurs autres langages listés sur cette page.

Bard

Auteur : Mikel Evins

Langage qui semble s'apparenter à Clojure entre autres choses (on n'en sait que peu à son sujet pour le moment).

Bash

Auteur : Brian Fox (mais Chet Ramey en assure l'entretien)

Langage de script et interpréteur de commandes (Shell) bien connu dans le monde Unix et Linux.

Basic

Comparatifs impliquant ce langage

Auteurs : John George Kemeny et Thomas Eugene Kurtz

Langage impératif qui se voulait suffisamment simple pour être appris et utilisé par des débutants. Plusieurs dialectes en ont été dérivés au fil des années, dont Small Basic : http://msdn.microsoft.com/en-us/beginner/ff384126.aspx

BCPL

Auteur : Martin Richards

Langage impératif ayant entre autrs l'insigne honneur d'être l'ancêtre direct du langage B, et donc d'être l'ancêtre indirect du langage C.

BitC

Auteurs : Jonathan Shapiro, Swaroop Sridhar et M. Scott Doerrie

Langage fonctionnel supportant la mutabilité des états, capable de programmation système, syntaxiquement semblable à Scheme et pour lequel certaines caractéristiques peuvent être formellement vérifiées.

Blockly

Auteur : Neil Fraser

Langage avec lequel on programme en assemblant des structures de contrôle sous la forme de pièces de casse-tête.

Bloom

Auteur : Joseph M. Hellerstein (je pense)

Langage qui met de l'avant la conjecture CALM, ou Consistency as Logicial Monotonicity.

bodyfuck

Auteur : Nik Hanselmann

Langage de programmation gestuel implémentant brainfuck par une sorte de danse. Sérieusement.

Bondi

Auteur : Barry Jay

Langage mettant l'accent sur le Pattern Matching.

Boo

Auteur : Rodrigo B. De Oliveira

Langage OO compilé pour une machine virtuelle et mettant l'accent sur la possibilité de procéder par Duck Typing.

Boomerang

Auteur : Benjamin C. Pierce

Un langage bidirectionnel de traitement de données textuelles ad hoc, à partir de lentilles... (voir aussi Harmony)

Boose

Auteur : pas clair... Bjarne Stroustrup? Herb Sutter?

Un dérivé de C++... disons (portez attention à la date de publication de l'article).

Brain

Auteur : Luiz Fernando Peres

Un langage ésotérique basé sur brainfuck

brainfuck

Vous pouvez l'essayer en ligne

Auteur : Urban Müller.

Un langage de programmation étrange, très minimaliste, qui ne comprend que huit instructions (des symboles de ponctuation).

BrainLess

Auteur : Shakti Misra

Langage résultant d'une explication par son auteur du processus de développement d'un langage de programmation simple.

BS

Auteur : Mark Rendle

Langage étrange qui a été conçu explicitement pour rendre difficile la tâche de programmer.

Section « C »

Langages dans cette section : C, Caja, Caml, Carnap, Céu, Ceylon, Chapel, Chicken, Church, Circa, Citrine, Clay, Clean, Clojure, ClojureScript, COBOL, Cobra, CoffeeScript, Common Lisp, Compute, Converge, Copper, Coq, CPC, Cryptol, Crystal, CSP, Cx, Cyclone, C!, C#, , C++, C+=, C--

C

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteur : Dennis M. Ritchie (on lui associe aussi Brian W. Kernighan)

Le langage C est l'un des plus importants langages de programmation, sur le plan historique comme au quotidien. Certains prétendent que, pour prétendre savoir programmer, il faut savoir programmer en C. Simple, sans filet, fortement répandu (entre autres dû à ses liens avec Unix), c'est sans doute le Lingua Franca des langages de programmation.

J'ai localisé la plupart des liens sur ce langage dans une section à part entière :

Caja

Auteur : Mark S. Miller

Langage permettant de sécuriser le code JavaScript.

Caml

Auteur : gens de l'INRIA?

Langage multiparadigmatique. On connaît surtout OCaml.

Carnap

Auteur : à vérifier

Le lien ne répondait pas aux dernières nouvelles : http://www.carnap.info/

Céu

Vous pouvez l'essayer en ligne

Auteur : Francisco Sant'Anna

Langage qui vise à permettre la programmation réactive, synchrone et structurée.

Ceylon

Comparatifs impliquant ce langage

Auteur : Gavin King

Un langage compilé pour la JVM et qui met l'accent sur le développement par équipe.

Chapel

Auteur : Bradford L. Chamberlain (je pense)

Langage mettant l'accent sur le parallélisme

Chicken

Auteur : Torbjörn Söderstedt

Langage de programmation étrange, où tout se programme à l'aide d'un seul mot... Le mot chicken. Sans blagues.

Church

Auteurs : Noah D. Goodman, Vikash K. Mansinghka, Daniel M. Roy, Keith Bonawitz et  Joshua B. Tenenbaum

Langage de programmation probabiliste.

Circa

Auteur : Andrew Fischer

Langage mettant l'accent sur la rétroaction immédiate dans le développement de jeux, et plus généralement sur le Live Coding..

Citrine

Auteur : Gabor de Mooij

Langage OO inspiré syntaxiquement de Smalltalk, et mettant l'accent sur la lisibilité des sources, dans l'optique d'en faciliter l'entretien à moyen et à long terme.

Clay

Auteur : KS Sreeram

Langage mettant l'accent sur la généricité.

Clean

Auteur : plusieurs individus.

Langage fonctionnel qu'on compare à Haskell.

Clojure

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteur : Rich Hickey.

Langage fonctionnel et dynamique, syntaxiquement inspiré de Lisp, et s'exécutant sur la JVM et sur le CLR.

Raccourcis :

Pédagogie et essentiels :

Code « performant » :

Critiques :

Idées et opinions générales  :

Technique :

Parallélisme et multiprogrammation en Clojure : Multiprogrammation--Liens.html#langage_Clojure

ClojureScript

Comparatifs impliquant ce langage

Auteur : Fogus (aussi connu sous le nom de Mike)

Pas tant un langage qu'un compilateur de Clojure et vers JavaScript, mais bon, c'est plus simple de le mettre ici pour s'y retrouver.

COBOL

Comparatifs impliquant ce langage

Auteur : Grace Hopper

Le Common Business-Oriented Language. Un langage increvable, dont on ne cesse de proclamer la mort imminente, et dont même les administratrices et les administrateurs sont supposés être capables de lire le code source des programmes.

Cobra

Auteur : Chuck Esterbrook

Un langage syntaxiquement semblable à Python mais qui se veut multiparadigmatique et qui donne accès à des concepts de plusieurs autres langages.

CoffeeScript

Comparatifs impliquant ce langage

Auteur : Jeremy Ashkenas

Petit langage qui, une fois compilé, se transforme en JavaScript.

Critiques :

Outils :

Common Lisp

Comparatifs impliquant ce langage

Voir Lisp.

Compute

Auteur : User:Orange?

Langage étrange qui résulte en des programmes qui dénotent une « certaine » intelligence...

Converge

Auteur : Laurence Tratt

Langage tirant son inspiration à plusieurs sources et se proposant comme une alternative pour les programmeuses et les programmeurs frustrés par leur langage de prédilection. En particulier, supporte la métaprogrammation statique.

Copper

Auteur : Marc Kerbiquet

Langage impératif avec système de types statique et généricité.

Coq

Auteur : Benjamin Werner

À la fois langage fonctionnel et outil interactif. Vise à assister les gens dans leurs démarches de preuves formelles.

CPC

Auteurs : Juliusz Chroboczek et Gabriel Kerneis

Langage inspiré de C et mettant l'accès sur la multiprogrammation à l'aide de threads très légers.

Cryptol

Auteurs : Jeffrey R. Lewis et Brad Martin?

Un DSL axé sur les algorithmes de chiffrement.

Crystal

Comparatifs impliquant ce langage

Auteur : Juan Wajnerman?

Langage compilé en code natif mais avec une syntaxe inspirée de celle de Ruby.

CSP

Auteur : C. A. R. Hoare

Langage servant surtout àdécrire la communication entre des processus séquentiels.

Cx

Auteur : des gens de Synflow

Langage qui vise à rapprocher le design de composants matériels et les informaticien(ne)s

Cyclone

Comparatifs impliquant ce langage

Auteurs : un groupe d'auteurs identifiés sur https://cyclone.thelanguage.org/wiki/People/

Langage proche du langage C, mais sous une forme beaucoup moins permissive.

C!

Auteur : Marwan Burelle (je pense)

Langage inspiré par C et mettant l'accent sur la programmation système, mais avec extensions pour accentuer la productivité, entre autres quelques-unes se rapprochant de la POO.

C#

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteur : Anders Hejlsberg

Langage OO compilé pour en langage intermédiaire pour une machine virtuelle du modèle .NET telle que le CLR.

Pédagogie : ../Sujets/Divers--cdiese/pedagogie.html

Trucs et techniques : ../Sujets/Divers--cdiese/pedagogie.html#technique

Considérations de versions : ../Sujets/Divers--cdiese/pedagogie.html#versions

Conversions de ou vers C# :

Critiques : ../Sujets/Divers--cdiese/pedagogie.html#critiques

Auteurs : Nick Benton, Gavin Bierman, Luca Cardelli, Erik Meijer, Claudio Russo, Wolfram Schulte

Langage expérimental, axé sur la résolution de problèmes de concurrence.

C++

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteur : Bjarne Stroustrup

Langage compilé, orienté vers la programmation système, qui se veut multiparadigme, couvrant à la fois la programmation procédurale, la programmation orientée objet et la programmation générique. Notez que les articles techniques sur le langage C peuvent souvent (pas toujours; mieux vaut lire avec discernement!) servir aussi en C++.

Raccourcis :

Pour un suivi de l'évolution de C++, voir Evolution-Cplusplus--Liens.html

Pour un tour d'horizon des caractéristiques de C++, voir Caracteristiques-Cplusplus--Liens.html

Généralités sur C++ 11

Le standard C++ 11 a été accepté à l'unanimité en 2011, ayant été officiellement ratifié le 25 mars (aussi, http://www.networkworld.com/news/2011/032811-iso-finalizes-c.html, http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=533).

Selon certains, c'est le temps d'un retour au code natif : http://www.infoworld.com/d/application-development/hail-the-return-native-code-and-the-resurgence-c-170142

Généralités sur C++ 14

C++ 14 se veut une mise à jour « mineure »du langage (un Bug Fix Update). Tout de même, on pourrait dire sans trop se tromper que C++ 14 rend C++ 11 encore plus agréable à utiliser. Ce standard est maintenant ratifié

Généralités sur C++ 17

Les travaux en vue de C++ 17 sont en cours...

Généralités sur C++ 20

Les informations d'ordre général sur C++ 20 seront insérées ici en temps opportun.

La bibliothèque standard

Parce que, dans la vie, il n'y a pas que la STL...

La STL

Généralités :

Conteneurs et itérateurs  : Caracteristiques-Cplusplus--Liens.html#conteneurs_iterateurs

Les adaptateurs tels que std::mem_fun :

Critiques :

Boost

Voir ../Sujets/Divers--cplusplus/outils-compilateurs.html#boost

C+=

Auteurs : Eris Blastar, inspiré d'Ari Schlesinger

Langage féministe. Ce langage semble être proposé sur une base humoristique, mais il y a quand même eu un effort de design, de recherche et des outils de produits alors ce n'est pas sans intérêt.

C--

Auteurs : une équipe travaillant avec Simon Peyton-Jones

Langage qui se veut une sorte d'assembleur portable pour faciliter l'écriture d'autres langages.

Section « D »

Langages dans cette section : D, Dao, Dart, Deca, Delphi, Dminor, DRAKON, Duck, Dylan.

D

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteur : Walter Bright

Langage compilé, orienté vers la programmation système, qui se veut multiparadigme, couvrant à la fois la programmation procédurale, la programmation orientée objet et la programmation générique.

Cas d'espèces :

Critiques :

Dao

Auteur : Limin Dalbert Fu

Langage de Scripting ayant pour objectif de simplifier certaines tâches communes de programmation tout en demeurant extensible.

Dart

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteurs : Lars Bak et Gilad Bracha

Langage développé chez Google et mettant l'accent sur la programmation structurée pour le Web.

Critiques :

Deca

Auteur : Eli Z. Gottlieb

Langage de programmation système, présenté comme un assembleur de haut niveau.

Delphi

Auteur : Danny Thorpe (et Anders Hejlsberg)

Un dérivé syntaxique de Turbo Pascal avec environnement de développement visuel.

Diacho

Auteur : aucune idée (les articles sont signés « admin »)

Langage statiquement typé qui vise la haute performance, la programmation système et la facilité d'écriture pour les programmeurs.

Dminor

Auteur : Microsoft Research?

Un langage de modélisation de données basé sur le langage M.

DRAKON

Auteur : Vladimir Parondzhanov

Langage de programmation visuel et temps réel, utilisé dans le domaine de l'aérospatiale.

Duck

Auteur : Greg Tourville et Hiroyuki Sano

Un langage de programmation qui veut faciliter l'adéquation entre ce qui est écrit et ce qui est fait (le Duck Typing).

Dylan

Auteur : pas clair (un groupe chez Apple, à l'origine)

Langage qui se veut multiparadigme, couvrant à la fois la programmation fonctionnelle et la programmation orientée objet. Ressemble un peu à Scheme et à Common Lisp.

Section « E »

Langages dans cette section : E, ECMAScript, Eero, efene, Eff, Eiffel, Elixir, Elm, Emerald, Emoticon, Enchilada, EnerJ, Epigram, Epoch, Erasmus, Eriskay, Erlang, Escher, Eve

E

Auteurs : Mark S. Miller et Dan Bornstein (entre autres).

À l'origine, un langage OO axé vers le développement de systèmes répartis sécuritaires.

ECMAScript

Voir JavaScript.

Eero

Auteur : Andreas Arvanitis

Dialecte d'Objective-C destiné à être exécuté sur LLVM.

efene

Auteur : à déterminer...

Un langage qui se veut syntaxiquement proche de Java, C++ ou C#, mais qui se compile pour la machine virtuelle ERTS du langage Erlang.

Eff

Auteur : Andrej Bauer et Matija Pretnar

Un langage fonctionnel de programmation par effets (le mot effet ici faisant référence aux changements d'états).

Eiffel

Auteur : Bertrand Meyer

Langage OO influent, porteur de plusieurs concepts importants dans l'approche OO contemporaine (en particulier la programmation par contrats).

Elixir

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteur : José Valim

Langage s'exécutant sur la machine virtuelle ERTS d'Erlang. Vise à offrir un support solide à la métaprogrammation et au développement de systèmes répartis.

Elm

Comparatifs impliquant ce langage

Vous pouvez l'essayer en ligne

Auteur : Evan Czaplicki

Langage fonctionnel axé sur la programmation pour le Web.

Critiques :

Emerald

Auteur : à déterminer...

Un langage OO porté sur la conception de systèmes répartis.

Emoticon

Auteur : Michael Champanis

Un langage étrange basé sur... des émoticônes!

Enchilada

Auteur : Robbert van Dalen

Ce langage est un projet de recherche reposant sur la prémisse que l'information est indestructible, donc que les données sont immuables.

EnerJ

Auteur : Adrian Sampson

Un langage basé sur Java mais avec pour principal objectif de réduire la consommation énerg¸étique sur l'appareil en ex¸écutant les programmes.

Entropy

Auteur : Daniel Temkin

Langage étrange mettant l'accent sur la décrépitude des données...

Epigram

Auteurs : Connor McBride et James McKinna

Un langage fonctionnel expérimental, utilisant des types dépendants.

Epoch

Auteur : Mike Lewis

Langage axé sur le parallélisme pour la pleine utilisation d'ordinateurs à plusieurs processeurs ou à plusieurs coeurs.

Erasmus

Auteurs : Peter Grogono et Brian Shearing

Langage orienté vers les processus concurrents en interaction.

Eriskay

Auteurs : John Longley et Nicholas Wolverson

Un langage OO fortement typé, basé sur la sémantique des jeux.

Erlang

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteurs : Joe Armstrong et Michael Williams

Langage fonctionnel axé sur la communication à partir d'un paradigme d'acteurs, et avec accent sur la résilience et sur la tolérance aux pannes.

Essentiels : ../Sujets/Divers--erlang/pedagogie.html#essentiel

Dialectes et implémentations particulières : ../Sujets/Divers--erlang/pedagogie.html#dialectes

Idées et opinions : ../Sujets/Divers--erlang/pedagogie.html#idees_opinions

Critiques : ../Sujets/Divers--erlang/pedagogie.html#critiques

Technique : ../Sujets/Divers--erlang/pedagogie.html#technique

Machine virtuelle ERTS : Machines-virtuelles--Liens.html#erts

Escher

Auteur : Petar Maymounkov

Langage qui ne prétend pas décrire une machine de Turing, préconisant plutôt la programmation par urgences et disparitions d'événements, ou « programmation par métaphores pures ».

Eve

Auteur : Joshua Cole

Langage de programmation « destiné aux humains ».

Section « F »

Langages dans cette section : F, Factor, Falcon, False, Fancy, Fantom, Feather, Felix, Fexl, Finch, FL, Flash, Flex, Flix, Flow, Forth, Fortran, Fortress, FP, Frege, Frenetic, Frink, Fun, FunLOFT, fun4j, Funnel, Futhark, F#, F*, F3

F

Auteur : Stevan Apter

Extension concaténative et fonctionnelle du langage False.

Factor

Vous pouvez l'essayer en ligne

Auteur : Slava Pestov

Langage concaténatif, représentant les programmes comme une série de mots (de fonctions) manipulant une pile de références à des valeurs dynamiquement typées.

En particulier :

Articles techniques :

Falcon

Auteur : Giancarlo Niccolai

Langage destiné à une machine virtuelle, qui se veut multiparadigme.

False

Auteur : Wouter van Oormerssen

Langage concaténatif se voulant très simple. programmation_concatenative

Fancy

Auteur : Christopher Bertels

Langage sémantiquement proche de Ruby et syntaxiquement proche de Smalltalk.

Fantom

Comparatifs impliquant ce langage

Auteur : Brian Frank et Andy Frank.

Langage OO destiné à être compilé pour plusieurs machines virtuelles, dont le CLR et la JVM.

Feather

Auteur : Brian Edds (pas sûr du nom)

Langage qui n'a pas recours au tas (Heap), dans le but de permettre de réaliser des programmes pour systèmes à faibles ressources (comme par exemple des systèmes embarqués) par programmation fonctionnelle.

Felix

Auteurs : John Skaller et Erick Tryzelaar

Langage de script « le plus rapide au monde » (selon ses auteurs).

Fexl

Auteur : Patrick Chkoreff

Langage fonctionnel, basé sur des fonctions dites pures, donc sans effets de bord.

Finch

Auteur : Robert Nystrom

Langage OO inspiré de Smalltalk, Self et JavaScript.

FL

Auteurs : John Backus, John Williams et Edward Wimmers.

Langage fonctionnel (FL signifie Function Level). A inspiré le langage J.

Flash

Comparatifs impliquant ce langage

Auteur : des gens de Macromedia (maintenant Adobe)

Langage qui est en fait une plateforme de développement multimédia axée vers le Web. Son langage de script est ActionScript, mais on y trouve aussi Flex.

Ça semble être la fin pour Flash, en 2011 (au moins pour les appareils mobiles) :

Technique :

Flex

Auteur : Adobe

Langage axé sur le développement de clients riches pour le Web.

Critiques :

Flix

Auteurs : Ondřej Lhoták, Magnus Madsen et quelques autres

Langage fonctionnel et logique, qui se présente comme une sorte de « SQL sur stéroïdes »

Flow

Comparatifs impliquant ce langage

Auteur : une équipe chez Facebook.

Complément à JavaScript ayant pour vocation d'offrir une meilleure validation statique des programmes en lien avec le système de types de ce langage.

Forth

Comparatifs impliquant ce langage

Auteur : Charles H. Moore.

Un langage minimaliste axé sur le développement de mots et leur agencement. Mieux connu dans le monde des systèmes embarqués.

Fortran

Comparatifs impliquant ce langage

Auteur : John Backus

L'un des langages de programmation les plus importants, historiquement, en partie dû au fait que ce fut l'un des premiers pour lesquels un véritable compilateur a été développé. Encore beaucoup utilisé dans les milieux scientifiques du fait de sa réputation en ce qui a trait à la rapidité d'exécution des calculs (le nom lui même signifie Formula Translation)

Fortress

Auteur : Guy Steele et plusieurs amis du Programming Language Research Group

Langage présenté à l'origine comme un Java pour scientifiques, avec des facilités de calcul puissantes et une syntaxe plus proche de celle rencontrée dans le monde des mathématiques. Beaucoup d'idées novatrices ici. Un projet extrêmement intéressant, mais qui est désormais clos...

FP

Auteur : John Backus.

Langage fonctionnel (FP signifie Function Programming). Ancêtre du langage FL.

Frege

Auteur : Ingo Wechsung

Langage fonctionnel inspiré par Haskell, dont le fruit de la compilation est destiné à la JVM.

Frenetic

Auteurs : Walter Robert J. Harrison, Nate Foster et un groupe de travail.

Langage de programmation orienté réseau, et offrant des abstractions primitives en ce sens.

Frink

Auteur : Alan Eliasen

Langage proposant une nouvelle métaphore de calcul et de manipulation d'unités de mesure. Ça semble très intéressant comme truc.

Fun

Auteur : Marcus Westin

Langage destiné à la génération en temps réel de documents pour le Web, un peu comme l'est PHP.

FunLOFT

Langage axé sur la concurrence.

fun4j

Auteur : Thomas Mahler

Un langage fonctionnel (une variante de Lisp) dont les programmes sont destinés à être exécutés sur la JVM et à s'intégrer harmonieusement avec les outils Java.

Funnel

Auteur : Martin Odersky

Langage basé sur les Functional Nets, mélange de programmation fonctionnelle et de réseaux de Pétri.

Futhark

Comparatifs impliquant ce langage

Auteurs : Troels Henriksen et Cosmin E. Oancea (entre autres)

Langage fonctionnel visant à générer du code destiné à une exécution parallèle sur un GPU

F#

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteur : Don Syme.

Langage fonctionnel visant la plateforme .NET.

Critiques :

F*

Vous pouvez l'essayer en ligne

Auteurs : Nikhil Swamy, Juan Chen, Cedric Fournet, Pierre-Yves Strub, Karthikeyan Bharagavan, et Jean Yang

Langage basé sur F# et inspiré de ML mais axé vers la programmation sécuritaire de systèmes répartis.

F3

Comparatifs impliquant ce langage

Auteur : Chris Oliver

Le nom signifie Form Follow Function. Langage axé vers le développement d'interfaces personne/ machine.

Section « G »

Langages dans cette section : Gambas, GEC, Glitch, Go, Golo, Goo, Gosu, Groovy, Guile, Gura, Guru.

Gambas

Auteur : Benoît Minisini

Ce langage se présente comme presque Basic, mais sans être un clone de Basic.

GEC

Auteurs : Microsoft Research

Un DSL axé sur l'ingénierie de cellules vivantes.

Glitch

Auteurs : Sean McDirmid et Jonathan Edwards

Langage où le temps et pris en charge, pour donner une impresssion de simultanéité.

Go

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteurs : Robert Griesemer, Rob Pike and Ken Thompson et plusieurs autres...

Un dérivé lointain de C, fait par des gens de chez Google, avec des idées plutôt intéressantes...

Liens d'ordre général sur le langage : ../Sujets/Divers--go/index.html

Culture et pédagogie : ../Sujets/Divers--go/pedagogie.html

Critiques : ../Sujets/Divers--go/pedagogie.html#critiques

Golo

Auteur : Julien Ponge

Langage dynamique dont les programmes s'exécutent sur la JVM.

Goo

Auteur : Jonathan Bachrach

Langage OO et dynamique. Dérivé de Scheme et de Dylan.

Gosu

Comparatifs impliquant ce langage

Auteur : Scott McKinney

Langage OO reposant sur la JVM.

Groovy

Auteur : James Strachan

Un langage dynamique compilé pour la JVM.

Guile

Auteur : Neil Jerram et beaucoup d'autres.

Implémentation de Scheme, mais sans « gentil dictateur ». Le nom signifie GNU's Ubiquitous Intelligent Language for Extensions.

Gura

Auteur : Yutaka Saito

Langage OO où la programmation est orientée vers la manipulation d'itérateurs.

Guru

Auteur : Aaron Stump?

Un langage fonctionnel dont les programmes peuvent être vérifiés à la manière de preuves mathématiques.

Section « H »

Langages dans cette section : Hack, Halide, Harlan, Harmony, Haskell, haXe, Heron, Hilbert, Hodor, Humus, Hy, HyperCard, HyperTalk.

Hack

Auteurs : Bryan O'Sullivan, Julien Verlaguet et Alok Menghrajani

Compétiteur direct de PHP, écrit en OCaml, ce langage vise à dynamiser le contenu des pages Web. S'exécute typiquement sur HHVM.

Halide

Auteur : Jonathan Ragan-Kelley?

Langage axé sur le traitement d'images et la photographie numérique.

Harlan

Auteur : Erik Holk

Langage déclaratif dont la syntaxe est inspirée de celle de Lisp. Axé sur la programmation pour le GPU.

Harmony

Auteur : Benjamin C. Pierce

Un langage orienté vers les opérations bijectives et interreliées, à partir de lentilles... (voir aussi Boomerang)

Haskell

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteurs : Paul Hudak et Simon Peyton-Jones

Langage fonctionnel fortement typé et très en vogue. La qualité de son système de types est souvent citée en exemple, et il en va de même pour l'élégance du langage dans son ensemble.

J'ai localisé la plupart des liens sur ce langage dans une section à part entière :

haXe

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteurs : pas clair, mais sans doute des gens parmi http://haxe.org/com/people

Langage multiplateforme et à code ouvert.

À propos de HxSL, le haXe Shader Language :

Heron

Auteur : Christopher Diggins

Langage OO axé sur le développement à grande échelle.

Hilbert

Auteur : Kazuki Tanaka

Un langage orienté vers la résolution de problèmes mathématiques, et dont la syntaxe peut rappeler celle de TEX

Hodor

Auteur : des gens de Hummingbird Technologies

Langage de programmation étrange, publié un 1er avril (!), qui vise une syntaxe minimale. Suffit de voir les exemples pour le constater

Humus

Auteur : Dale Schumacher

Un langage se disant purement basé acteurs.

Hy

Vous pouvez l'essayer en ligne

Auteur : Paul Tagliamonte (entre autres)

Langage proche de Lisp mais vivant dans le monde de Python.

HyperCard

Voir HyperTalk.

HyperTalk

Auteur : Dan Winkler

Langage de script, de type impératif, associé à la technologie HyperCard.

Section « I »

Langages dans cette section : Idris, Imba, Inform, INTERCAL, Io, Ioke, IPLANG, IrkenIRP, Isla, Ivory.

Idris

Vous pouvez l'essayer en ligne

Auteur : Edwin Brady

Langage fonctionnel avec types dépendants.

Imba

Auteur : Sindre Aarsaether

Se veut une jonction entre Ruby et le Framework React, compilé vers JavaScript.

Inform

Auteur : Graham Nelson

Un langage permettant de décrire des fictions interactives à partir du langage naturel.

INTERCAL

Auteur : Donald R.Woods.

Un langage de programmation étrange dans lequel l'opération mathématique primitive est l'entremêlement de bits entre deux entier. On y trouve des opérations sur des trits (unités ternaires, en comparaison avec les bits, qui sont des unités binaires) et des expressions comme COMEFROM (plutôt que GOTO).

Io

Auteur : Steve Dekorte

Langage s'apparentant à plusieurs langages bien connus (Lisp, Lua, Self, Smalltalk)

Ioke

Auteur : Ola Bini

Langage orienté prototype, inspiré de Lisp et de Ruby, mais compilant pour exécution sur la JVM. Deviendra manifestement Seph.

IPLANG

Auteur : Iain Dunning

Langage ésotérique où les programmes sont exprimée sont la forme d'un problème d'optimisation binaire. Le fruit de la résolution du problème d'optimisation est traduit en brainfuck avant d'être exécuté.

Irken

Auteur : aucune idée

Dialecte simplifié de Scheme avec syntaxe inspirée de ML et typage statique.

IRP

Auteur : Gregor Richards

Un langage de programmation étrange dans lequel les opérations sont basées sur... les interactions entre humains.

Isla

Auteur : Mary Rose Cook.

Langage de programmation pour enfants. Je dois vous avouer avoir souri quand j'ai constaté que syntaxiquement, ce langage est similaire à Thot, que mes étudiants et moi avons conçu entre 2005 et 2010 environ.

Ivory

Auteurs : James Bielman, Thomas DuBuisson, Trevor Elliott, Pat Hickey, John Launchbury, Lee Pike et d'autres.

Langage basé sur Haskell et destiné au développemet de systèmes embarqués.

Section « J »

Langages dans cette section : J, Java, JavaScript, Joy, JSOL, Julia, Jumbala.

J

Auteurs : Kenneth Iverson et Roger Hui

Langage axé sur les calculs numériques. Inspiré par APL, mais avec une syntaxe ne reposant que sur les caractères ASCII.

Critiques :

Java

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteur : James Gosling (entre autres)

Langage OO fort influent.

Raccourcis :

Notez que l'achat de Sun Microsystems par Oracle a brisé plusieurs liens Web officiels sur le langage. Cela explique l'attrition dans les liens que j'avais accumulés au fil des ans.

Bases, culture et pédagogie : ../Sujets/Divers--java/pedagogie.html

Outils fondamentaux et technologies périphériques : ../Sujets/Divers--java/Outils.html

À propos de Java 7 : ../Sujets/Divers--java/Evolution-Java.html#java7

À propos de Java: ../Sujets/Divers--java/Evolution-Java.html#java8

À propos de Java: ../Sujets/Divers--java/Evolution-Java.html#java9

Dialectes

Le dialecte FGJω, qui vise à ajouter au langage des constructeurs paramétriques de types :

Le dialecte Joe-E, orienté sécurité :

JavaScript

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteur : Brendan Eich

Langage fonctionnel très, très utilisé dans le monde du développement Web. Aussi connu sous le nom ECMAScript, mais le nom JavaScript demeure (de loin) la plus populaire des deux appellations (d'ailleurs, à propos des tensions entre les deux, voir le projet Harmony sur https://mail.mozilla.org/pipermail/es-discuss/2008-August/003400.html). Typiquement utilisé dans les pages Web, donc côté client des applications Web.

Général : ../Sujets/Web/JavaScript-Intro.html#liens

Histoire : ../Sujets/Web/JavaScript-Intro.html#liens_histoire

Critiques : ../Sujets/Web/JavaScript-Intro.html#liens_critiques

Apprendre et comprendre JavaScript : ../Sujets/Web/JavaScript-Intro.html#liens_pedagogie

Historique : ../Sujets/Web/JavaScript-Intro.html#liens_histoire

Futur : ../Sujets/Web/JavaScript-Intro.html#liens_futur

Le JavaScript Object Notation (JSON) : ../Sujets/Web/Developpement-Web.html#json

Le dialecte Low-Level JavaScript (LLJS), pour celles et ceux qui visent à programmer en JavaScript mais souhaitent les performances associées à du code natif : http://mbebenita.github.com/LLJS/

Le dialecte JSX, qui impose à JavaScript un système de types statique et met l'accent sur l'approche OO : http://jsx.github.com/

JSOL

Auteur : Clark DuVall

Langage de programmation dont les programmes peuvent être représentés entièrement en format JSON. Voir aussi PSOL.

Joy

Auteur : Manfred von Thun

Un langage dit concaténatif, basé sur la mécanique d'une pile.

Julia

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteur : Viral Shah, Jeff Bezanson, Stefan Karpinski et Alan Edelman

Un langage dynamique construit pour générer des binaires à « haute performance » sur LLVM. Ses concepteurs se disent influencés par leur expérience avec Matlab.

Critiques :

Jumbala

Auteur : Jori Dubrovin

Un langage pour décrire des automates UML.

Section « K »

Langages dans cette section  K, Kal, Karmasphere DP, Katana, Kermeta, Kernel, Kitten, Kodu, Koka, Kotlin.

K

Auteur : Arthur Whitney

Langage de programmation système mêlant la programmation fonctionnelle et des éléments qui évoquent le langage APL, incluant la capacité de traiter efficacement des vecteurs de données.

Kal

Auteur : Robert Zimmerman

Un langage qui se veut une alternative à JavaScript, mais dont la compilation génère du code JavaScript.

Karmasphere DP

Auteur(s) : à déterminer...

Langage mettant l'accès sur le parallélisme des données et les structures de données aux opérations non bloquantes.

Katana

Auteur : Belo Horizonte

Un langage se prêtant à la programmation système mais conçu pour ressembler à du JavaScript compilé en code natif.

Kermeta

Auteur : Franck Fleurey

Ce langage se présente comme un environnement de métaprogrammation basé sur un DSL orienté objet.

Kernel

Auteur : John N. Shutt

Dialecte de Lisp inspiré de Scheme

Kitten

Auteur : Jon Purdy

Langage axé sur la programmation fonctionnelle et concaténative.

Kodu

Auteur : Microsoft Research (Matt MacLaurin?)

Langage à visées pédagogiques, visuel et axé vers le 3D. Permet de programmer la console XBox. Repose sur la plateforme XNA.

Koka

Vous pouvez l'essayer en ligne

Auteur : Dann Leijen

Langage fonctionnel séparant les fonctions pures des calculs ayant des effets de bord. Le type des fonctions y indique la présence ou non d'effets de bord, facilitant pour le compilateur le raisonnement sur les impacts de chacune d'elles.

Kotlin

Comparatifs impliquant ce langage

Auteur : Andrey Breslav

Langage à système de types statique, destiné à la JVM.

Produits dérivés :

Section « L »

Langages dans cette section : Leaf, Lily, Limbo, Linden, Links, Lisaac, Liskell, Lisp, littleb, Lobster, Logo, LOLCODE, Loop, Lua, Luna.

Leaf

Auteur : Edaqa Mortoray

Projet personnel de son auteur, qui cherche à atteindre ce qui serait à ses yeux un « langage idéal ».

Lily

Auteur : Jesse Ray Adkins

Langage mettant l'accent sur la sécurité et l'expressivité

Limbo

Auteurs : Sean Dorward, Phil Winterbottom et Rob Pike

Un langage qui aurait influencé Go :

Linden

Auteur : Linden Labs

Langage de script servant entre autres au développement dans le monde virtuel Second Life.

Links

Auteurs : Ezra Cooper, Sam Lindley, Philip Wadler et Jeremy Yallop

Langage axé sur la génération d'applications Web, produisant tous les tiers requis d'un seul coup.

Lisaac

Auteurs : Benoit Sonntag et Xavier Oswald?

Se veut un successeur de Self.

Liskell

Auteur : Clemens Fruhwirth

Langage fonctionnel, avec la syntaxe de Lisp et la sémantique de Haskell.

Lisp

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteur : John McCarthy

Un langage fonctionnel très, très influent. Voir http://www-formal.stanford.edu/jmc/recursive.html, par John McCarthy en 1960, pour le texte séminal qui le sous-tend.

Le texte Worse Is Better, de Richard Gabriel, qui met en valeur la différence entre qualité et succès :

Pédagogie :

Critiques :

Divers :

Outils :

Dialectes

Common Lisp :

Emacs Lisp :

Joxa, un Lisp pensé pour les systèmes parallèles et concurrents, et qui s'exécute sur ERTS :

newLISP, pensé entre autres pour les systèmes embarqués :

Pico Lisp :

Phosphorous Lisp :

littleb

Auteur : Aneil Mallavarapu

Un langage niche mettant l'accès sur des modèles mathématiques complexes constitués de petits modules réutilisables. Semble être utilisé surtout par des gens qui gravitent autour de la biologie et des sciences de la vie.

Lobster

Auteur : Wouter van Oortmerssen

Langage axé sur le développement de jeu vidéo, et offrant plusieurs fonctionnalités adaptées à ce type de développement.

Logo

Auteur : Seymour Papert

Langage à vocation pédagogique, célèbre pour ses opérations guidant la tortue, par laquelle des formes pouvaient être tracées à l'écran (ou ailleurs).

LOLCODE

Auteur : Adam Lindsay

Un langage de programmation étrange dont les primitives sont basées sur les mots brefs que s'échangent les gens, typiquement par clavardage ou dans des messages textes sur téléphone cellulaire.

Loop

Auteur : Dhanji R. Prasanna.

Langage fonctionnel s'exécutant sur la JVM et profitant des processeurs à plusieurs coeurs.

Lua

Comparatifs impliquant ce langage

Auteurs : Roberto Ierusalimschy, Waldemar Celes et Luiz Henrique de Figueiredo

Langage de scripts, prisé en particulier dans le monde des jeux vidéos.

Critiques :

Luna

Auteurs : des gens de New Byte Order?

Langage fonctionnel offrant une métaphore duale de code en tant que texte et en tant que visualisation graphique.

Section « M »

Langages dans cette section : M, Magpie, Malbolge, Mantle, Marelle, Mathematica, Mercury, Metalua, Metaphors, ML, Mirah, Modula II , MoonScript, Mouse, Myrddin, Mythryl, M#.

M

Auteur : Microsoft Research?

Langage de modélisation de données, qui semble avoir surtout servi à titre de DSL expérimental duquel est né le langage Dminor.

Magpie

Auteur : Robert Nystrom

Langage OO dynamiquement typé, similaire à Python et à Ruby. L'auteur réfléchit son langage à haute voix dans ses publications, ce qui rend ses écrits plutôt intéressants.

Malbolge

Vous pouvez l'essayer en ligne

Auteur : Ben Olmstead

Langage de programmation étrange dont la syntaxe a été conçue pour rendre presque impossible la rédaction de programmes utiles.

Mantle

Auteur : AMD

Langage mettant l'accent sur l'affichage.

Marelle

Auteur : Lars Yencken

Langage axé sur la programmation déclarative et logique.

Mathematica

Auteur : Stephen Wolfram

À la fois un logiciel de résolution de problèmes mathématiques et un langage de programmation orienté vers la résolution de tels problèmes.

Mercury

Auteur : Zoltán Somogyi

Langage déclaratif, à la manière de Prolog, de même que fonctionnel et fortement typé, à la manière de Haskell ou de ML.

Metalua

Auteur : Fabien?

Un dialecte de Lua mettant l'accent sur la métaprogrammation statique.

Metaphors

Auteur : Victoria Livschitz

Pas tant un langage qu'une réflexion sur ce que les langages devraient être, du moins de l'avis de l'auteur.

ML

Comparatifs impliquant ce langage

Auteur : Robin Milner

Langage fonctionnel « impur » (car tolérant les effets de bord) facilitant l'inférence dynamique de types.

Mirah

Comparatifs impliquant ce langage

Auteur : Charles Oliver Nutter

Un dérivé de JRuby, dialecte de Ruby destiné à la JVM.

Modula II

Auteur : Niklaus Wirth

Langage impératif inspiré de Pascal. Longtemps utilisé pour l'enseignement de la programmation.

MoonScript

Auteur : Leaf Corcoran

Langage de scripting dont le fruit de la compilation est du code Lua.

Mouse

Auteur : Peter Grogono

Petit langage reposant fortement sur une pile d'exécution.

Myrddin

Auteur : Ori Bernstein

Langage « jouet » de prime abord, mais qui vise à permettre de programmer tout près du matériel, tout en garantissant un Type Safety maximal.

Mythryl

Auteur : Cynbe?

Langage orienté plaisir (de programmer), selon son auteur principal.

M#

Comparatifs impliquant ce langage

Auteur : Joe Duffy (et son équipe)

Langage se voulant une sorte de « C# pour programmation système », et dont la structure est pensée pour faciliter l'analyse statique. Semble émerger du projet expérimental Midori. Attention : le nom M# n'est pas officiel.

Section « N »

Langages dans cette section : Nemerle, nesC, NESL, Newspeak, Newsqueak, Ni, Nice, Nil, Nim, Nimrod, Nominine, none, Noop, Nothing, NOVA.

Nemerle

Auteurs : Kamil Skalski, Michal Moskal, Prof. Leszek Pacholski et Pawel Olszta (note : Michal et Pawel devraient se terminer par un « l » traversé d'un court trait diagonal, mais je ne trouve pas le symbole pour cette lettre pour le moment)

Langage compilé pour le CLR de .NET, combinant des facilités OO et fonctionnelles.

nesC

Auteurs : Eric Brewer, David Culler, David Gay, Phil Levis, Rob von Behren et Matt Welsh

Langage qui est en fait une extension du langage C supportant le modèle d'exécution du système d'exploitation TinyOS, surtout utilisé sur des réseaux de petits noeuds.

NESL

Auteurs : Guy E. Blelloch

Langage voué à la programmation parallèle.

Newspeak

Auteur : Gilad Bracha

Langage OO, descendant direct de Smalltalk et de Self.

Newsqueak

Auteur : Rob Pike

Langage orienté vers la multiprogrammation par processus concurrents.

Ni

Auteur : Göran Krampe

Langage intégrant des concepts de Smalltalk, Nim et REBOL entre autres sources

Nice

Auteur : Daniel Bonniot

Langage OO visant la production de programmes contenant moins de bogues...

Nil

Auteur : Sacha René Lieb

Langage de programmation nihiliste, tiens. Extrêmement efficace pour les tâches qu'il doit résoudre...

Nim (autrefois Nimrod)

Comparatifs impliquant ce langage

Auteur : Andreas Rumpf

Langage qui se veut une combinaison de la lisibilité de Python, l'expressivité de Lisp et la vitesse d'exécution de C.

Nominine

Auteur : Thomas M. Farrelly

Langage orienté objet se voulant très simple.

none

Auteur : Leonard Ritter

Langage où les expressions imbriquées sont la manière privilégiée d'exprimer une idée, et qui a été pensé spécifiquement pour le développement de jeux.

Noop

Auteur : plusieurs personnes.

Langage OO compilé de manière à s'exécuter sur une machine virtuelle., qui cherche à encourager les bonnes pratiques et programmation et à décourager les mauvaises.

Nothing

Auteur : Peter van Eerten

Langage étrange mettant l'accès sur le Bug-Free Programming. Un programme Nothing ne contient effectivement jamais de bogues. La difficulté est d'adapter ses attentes à ce qu'offre le programme

NOVA

Auteurs : Alex Collins, Dominik Grewe, Vinod Grover, Sean Lee et Adriana Susnea.

Langage fonctionnel axé sur le parallélisme des données.

Section « O »

Langages dans cette section : Oberon, Objective-C, ObjectPascal, OCaml, OMeta, ooc, Opa, Orc, Oz.

Oberon

Auteur : Niklaus Wirth

Langage impératif inspiré de Modula-II.

Objective-C

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteurs : Tom Love et Brad Cox.

Langage OO très important sur les plateformes Apple telles que le Macintosh et le iPhone.

Critiques :

ObjectPascal

Comparatifs impliquant ce langage

Auteur : Larry Tesler

Langage sous-jacent à TurboPascal, variante OO de Pascal.

OCaml

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteur : Xavier Leroy

De son vrai nom Objective Caml, langage fonctionnel mais avec un support pour l'approche OO.

Critiques :

Outils et dialectes :

OMeta

Auteur : Alessandro Warth

Langage OO pour reconnaissance de patterns.

ooc

Auteur : Amos Wenger

Langage qui se dit fonctionnel et OO, sorte d'hybride syntaxique de plusieurs langages, dont la compilation produit du code C99.

Opa

Auteur : des gens chez MLState

Langage axé vers l'infonuagique et les systèmes répartis sur le Web.

Orc

Auteur : Jayadev Misra

Langage orienté vers l'orchestration de services dans les systèmes répartis

Oz

Auteur : Gert Smolka

Langage multiparadigmatique mettant l'accent sur la multiprogrammation.

Section « P »

Langages dans cette section : P, Parasail, Pascal, Pawn, Perl, PHP, Pi, Picat, Piet, Pike, PlayScript, POET, PogoScript, Postscript, Potion, Processing, Prolog, pSather, Pseudocode, PSOL, Pure, Purity, Pyret, Python.

P

Auteurs : Ankush Desai et Pantazis Deligiannis

Langage mettant l'accent sur la programmation événementielle et la communication asynchrone entre automates.

Parasail

Comparatifs impliquant ce langage

Auteur : Tucker Taft

Langage axé sur le développement de programmes exploitant le parallélisme. Le code est automatiquement divisé en tout petits blocs, nommés PicoThreads, et tout s'y passe en parallèle par défaut.

Pascal

Auteur : Niklaus Wirth

Langage impératif, longtemps associé de près à l'enseignement de la programmation.

Pawn

Auteur : pas clair (des gens de ITB CompuPhase)

Langage de script, utilisé dans plusieurs jeux populaires.

Perl

Comparatifs impliquant ce langage

Auteur : Larry Wall

Un langage « complètement sauté », qui fait des miracles avec des riens, mais qui n'est pas le plus simple d'approche avec plus de cent opérateurs, des tas de raccourcis et un mantra selon lequel « Il y a plusieurs façons de faire chaque chose » (There's more than one way to do it, TMTOWTDI). En ce sens, Perl va à contresens de Python, qui prétend le contraire (qu'il ne devrait y avoir qu'une seule manière évidente de faire chaque chose). Perl est particulièrement puissant pour ce qui tient du traitement de chaînes de caractères, du Pattern Matching. Puisque Perl 6 sera prêt à Noël, mais reste à voir quel Noël, un calendrier de l'Avent décrit les nouvelles idées de ce langage. . à bien des points de vue, Perl est philosophiquement opposé à Python.

Raccourcis :

À propos de Perl:

À propos de Perl:

Critiques :

PHP

Comparatifs impliquant ce langage

Auteur : Rasmus Lerdorf

Langage de script OO très répandu sur le Web. Son nom signifie Hypertext Preprocessor, mais signifiait à l'origine Personal Home Page.

Raccourcis :

Un sondage sur l'utilisation de PHP : http://www.interaktonline.com/Support/Articles/Details/?id_art=11

Critiques :

Technique :

Outils :

PHP pour la plateforme Android :

Le dialecte Hardened PHP, orienté vers la sécurité :

Le Runtime HipHop, de Facebook  :

Pi

Auteurs : Roman Knöll, Mira Mezini et Felix Wolff

Langage qui ne repose que sur une seule structure : le pattern.

Picat

Auteur : Bo Yuan Zhou

Pour programmer par une combinaison de règles et d'acteurs.

Piet

Auteur : David Morgan-Mar

Langage de programmation étrange où l'on développe à partir d'images colorées plutôt qu'avec du texte. Le nom est inspiré du peintre abstrait Piet Mondriaan.

Pike

Auteur : Fredrik Hübinette

Langag de programmation dynamique avec une syntaxe inspirée de celle de langages tels que C ou Java.

PlayScript

Auteurs : plusieurs personnes chez Zynga

Langage de scripting qui se base sur ActionScript et se mêle à du code C#.

POET

Auteur : Qing Yi

Signifiant Parameterized Optimizations for Empirical Tuning, ce langage vise à faciliter la traduction de programmes d'un langage de programmation à un autre, le tout dans une optique d'optimisation.

PogoScript

Auteur : Tim Macfarlane

Langage qui vise à produire des programmes lisibles, et dont la compilation résulte en du JavaScript.

PostScript

Auteurs : John Warnock et Chuck Geschke

Langage orienté vers la disposition du contenu d'une page, et utilisé pour générer des documents destinés à des imprimantes, mais il s'agit bel et bien d'un langage de programmation.

Potion

Auteur : _why the Lucky Stiff?

Langage qui sépare les données des expressions...

Processing

Comparatifs impliquant ce langage

Auteurs : Ben Fry et Casey Reas

Un dialecte à code ouvert de JavaScript, pour créer des animations et des interactions 2D à partir de la balise canvas de HTML5.

Prolog

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteur : Alain Colmerauer

Langage déclaratif et logique.

pSather

Auteur : Jerry Feldman?

Dialecte de Sather axé vers la multiprogrammation.

Pseudocode

On en fait tous, et il y a plusieurs formalismes. Conséquemment, ce qui suit n'est vraiment pas exhaustif, et ne correspond pas au standard que j'applique dans mes cours.

PSOL

Auteur : Charles DuVall

Version plus lisible pour des humains du langage JSOL (voir d'ailleurs ce dernier pour des détails).

Pure

Auteur : Albert Gräf

Langage basé sur la substitution d'expressions. Son ancêtre est le langage Q.

Purity

Auteur : Phil Freeman?

Langage fonctionnel s'exécutant sur le CLR de .NET.

Pyret

Auteurs : Daniel Patterson et Joe Gibbs Politz (entre autres)

Langage à vocation pédagogique, dont la syntaxe s'inspire de celle de Python.

Python

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteur : Guido van Rossum, gentil dictateur.

Liens généraux sur le langage : ../Sujets/Divers--python/index.html

Critiques : ../Sujets/Divers--python/pedagogie.html#critiques

Technique : ../Sujets/Divers--python/pedagogie.html#technique

Section « Q »

Langage dans cette section : Q, Qi, QBasic, QML, Quipper, Quorum.

Q

Auteur : Albert Gräf

Langage fonctionnel et interprété mettant l'accent sur les équations mathématiques. Son descendant direct est le langage Pure. Notez qu'il existe aussi un langage de définition de données nommé Q.

QBasic

Vous pouvez l'essayer en ligne

Auteurs : plusieurs personnes

Variante de Basic axée sur l'apprentissage rapide (le « Q » signifie Quick Learning).

Qi

Auteur : Mark Tarver

Lamgage fonctionnel inspiré de Lisp mais offrant quelques fonctionnalités plus pointues.

QML

Auteur : Jonathan Grattage

Lamgage fonctionnel et quantique de programmation.

Quipper

Auteur : Peter Selinger

Langage de programmation quantique.

Quorum

Auteurs : Andreas Stefik, Evan Pierzina, et Kerry Ritter

Langage qui préconise le « design par évidence », au sens où tout y sera débattu et approuvé par la communauté et sera intégré s'il semble scientifiquement éprouvé que cela s'avère pertinent.

Section « R »

Langages dans cette section : R, Racket, Rascal, REBOL, Red, Refal, Rexx, RhoScript, Roy, Ruby, Rust, RZ.

R

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteurs : Robert Gentleman et Ross Ihaka (R et R, d'où le nom du langage)

Un langage qui vise à simplifier les calculs statistiques.

Outils associés :

Racket

Comparatifs impliquant ce langage

Auteurs : plusieurs personnes

Langage syntaxiquement inspiré de Scheme, avec un penchant manifeste pour la production visuelle.

Rascal

Auteur : des membres du SWAT Group

Langage de métaprogrammation visant à aider l'intégration de programmes écrits dans plusieurs langages

REBOL

Comparatifs impliquant ce langage

Auteur : Carl Sassenrath

Langage multi-paradigme mettant l'accent sur l'échange de données dans un système réparti. Le nom REBOL signife Relative Expression Based Object Language.

Red

Auteur : Nenad Rakocevic

Langage à la fois fonctionnel et impératif, qui est aussi son propre métalangage.

Refal

Auteur : ValentinTurchin

Langage dont le nom signifie Recursive Functions Algorithmic Language, ce qui décrit bien son approche.

Rexx

Auteur : Mike Cowlishaw

Un langage de scripts offrant des facilités avancées de traitement de chaînes de caractères.

RhoScript

Auteur : Nicholas Carlini

Langage axé sur la concision des programmes.

Roy

Auteur : Brian McKenna

Dialecte de JavaScript avec système de types statique.

Ruby

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteur : Yukihiro Matsumoto

Langage dynamique et OO. On lui associe beaucoup le cadriciel (Framework) Rails, ce qui explique qu'on parle habituellement de Ruby on Rails.

Raccourcis :

Généralités :

Critiques :

Technique :

L'implémentation JRuby, qui s'exécute sur la JVM :

L'implémentation IronRuby, qui s'exécute sur le CLR (et sur le DLR) de la plateforme .NET, mais qui vit des jours pour le moins difficiles :

Un interpréteur expérimental nommé Rubinius :

L'implémentation Topaz, qui est écrite en Python :

Fructose, un sous-ensemble de Ruby qui compile en code PHP :

Rust

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteur : Graydon Hoare et Aaron Turon

Langage multiparadigmatique, axé sur la concurrence et sur la sécurité. Cousin de Go.

Critique :

Outils :

RZ

Auteurs : Chris Stone et Andrej Bauer.

Un langage pour réaliser du traitement mathématique.

Section « S »

Langages dans cette section : ///, Sage, SAS, Sather, Sawzall, Scala, Scheme, Scratch, sed, Self, Seph , September, SETL, Shakespeare, Shen, Simple, Simula, Sisal, Slash, Smalltalk, Spark, Spec#, Spider, SPiM, Spleenmap, SQL, Squeak, Squirrel, Subtext, Superglue, Swift, Swym.

///

Auteur : Tanner Swett

Langage axé sur le remplacement lexical, mais tout de même démontré Turing-Complete.

Sage

Auteurs : Cormac Flanagan, Steve Freund, Jessica Gronski, Kenn Knowles et Aaron Tomb

Langage fonctionnel avec un système hybride de vérification de types.

SAS

Comparatifs impliquant ce langage

Auteur : le SAS Institute Inc.

Un langage qui vise à simplifier les calculs statistiques.

Sather

Auteur : Steve Omohundro

Langage OO aux objectifs très ambitieux.

Sawzall

Comparatifs impliquant ce langage

Auteurs : Rob Pike, Sean Dorward, Robert Griesemer, Sean Quinlan

Langage procédural de type DSL, optimisé pour le traitement de larges quantités de données.

Scala

Comparatifs impliquant ce langage

Auteur : Martin Odersky

Langage multiparadigmatique, à la fois OO et fonctionnel, compilé de manière à s'exécuter sur une machine virtuelle.

Raccourcis :

Généralités :

Historique :

Technique :

Critiques :

Scheme

Comparatifs impliquant ce langage

Auteur : Guy L. Steele et Gerald Jay Sussman

Un langage fonctionnel, dialecte bien connu de Lisp.

Chicken est un compilateur de Scheme à C :

En 2016, Kent Dybvig a livré son compilateur optimisant, ChezScheme, en version à code ouvert. Il n'est pas si fréquent qu'un outil de cette qualit. soit offert à la communauté : https://github.com/cisco/chezscheme

PLT Scheme est un environnement interactif supportant DrScheme :

Scratch

Auteur : plusieurs personnes.

Langage à vocation éducative, axé sur la découverte et sur la stimulation de l'imaginaire.

sed

Comparatifs impliquant ce langage

Auteur : Lee E. McMahon

Un langage axé sur la transformation de chaînes de caractères.

Self

Auteurs : Randall B. Smith et David Ungar (à ma connaissance)

Langage OO visant à offrir une expérience de développement unifiée, incluant la possibilité de modifier dynamiquement les modes de comportement des objets.

Seph

Auteur : Ola Bini

Semble être le successeur de Ioke.

September

Auteur : Jakub Wasilewski

Langage dynamique à accolades, qui vise l'extensibilité à partir d'une syntaxe minimaliste.

SETL

Auteurs : David Bacon

Langage généraliste mais offrant un support direct des ensembles finis

Shakespeare

Auteurs : Karl Hasselström et Jon Åslund

Langage axé sur la liberté poétique, qui vise à ce que les sources des programmes soient aussi agréables à lire qu'une pièce de l'auteur du même nom.

Shen

Auteurs : un comité de quelques individus dont Mark Tarver

Langage fonctionnel mettant l'accent sur la portabilité. Successeur de Qi.

Simple

Auteur : Herbert?

Un langage qui se veut simple, comme son nom l'indique, à l'image de Basic.

Simula

Auteurs : Ole-Johan Dahl et Kristen Nygaard

L'un des premiers langages OO, et l'un de ceux ayant influencés le plus de langages contemporains.

Sisal

Auteur : Judy Michels (je pense)

Langage fonctionnel mettant l'accent sur le parallélisme.

Slash

Auteur : Charlie Some?

Langage dérivé de PHP et de Ruby, entre autres, qui se veut plus agréable pour programmer pour le Web que ne l'est PHP.

Smalltalk

Vous pouvez l'essayer en ligne

Auteur : Alan Kay

Langage très influent, que plusieurs considèrent comme un modèle de l'approche OO.

Redline, une implémentation de Smalltalk pour la JVM :

Critiques :

Spark

Auteur : Bernard Carré et Trevor Jennings

Langage formel, dérivé du langage Ada, ou tout programme est une preuve de sa propre validité.

Spec#

Auteurs : Mike Barnett, Manuel Fähndrich, K. Rustan M. Leino, Peter Müller, Wolfram Schulte, Herman Venter

Langage qui étend C# avec l'idée de contrats (préconditions, postconditions, invariants) pour améliorer la robustesse des programmes.

Spider

Auteur : mystère

Langage qui vise à intégrer les meilleurs aspects de Swift, Python, C# et CoffeeScript. Compile vers JavaScript.

SPiM (Stochastic Π Machine)

Auteurs : Andrew Phillips et Luca Cardelli

Langage basé sur le π-calcul et visant à décrire et simuler des processus biologiques.

Spleenmap

Auteur : http://esolangs.org/wiki/User:Fr34k

Langage bidimensionnel très restrictif, se limitant à quatre instructions dont une pour manipuler des données, de même qu'un « pool » de données d'une taille d'un byte.

SQL

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteurs : Donald D. Chamberlin et Raymond F. Boyce

Langage déclaratif très répandu (probablement l'un des rares langages auxquels pratiquement toutes les informaticiennes et tous les informaticiens se frottent un jour ou l'autre) servant entre autres à interagir de manière standardisée avec des bases de données relationnelles.

Squeak

Auteurs : Alan Kay et Dan Ingalls

Dialecte de Smalltak destiné à des fins éducatives.

Squirrel

Comparatifs impliquant ce langage

Auteur : Alberto Demichelis

Langage de scripts, prisé en particulier dans le monde des jeux vidéos.

Subtext

Auteur : Jonathan Edwards

Met de l'avant la programmation basée sur les exemples.

Superglue

Auteurs : Sean McDirmid et Wilson C. Hsieh

Langage niche mettant l'accent sur l'approche OO et les messages entre composants.

Swift

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteurs : Chris Lattner, ou encore Michael Wilde, Mihael Hategan, Justin M. Wozniak, Ben Clifford, Daniel S. Katz et Ian Foster (voir ci-dessous).

Dans un cas, langage de scripting axé sur la programmation parallèle et concurrente. Dans le cas le plius connu désormais, langage tout usage reposant sur LLVM et voué à coexister avec Objective-C dans l'écosystème Apple. Il utilise le langage intermédiaire SIL. Notez qu'il semble y avoir eu deux langages portant ce nom, les deux ayant des vocations connexes, mais il est hautement probable que l'incarnation la plus récente, poussée par Apple, soit celle à laquelle on attribue « officiellement » ce nom en pratique.

Technique :

Critiques :

Swym

Vous pouvez l'essayer en ligne

Auteur : Laurie Cheers

Langage fonctionnel avec système de types statique, implémenté en JavaScript.

Section « T »

Langages dans cette section : tab, Tamarin, Terra, Tcl/Tk, TEX, Thorn, Thot, Thyrd, TMMLPTEALPAITAFNFAL, TosLang, Trylon, Tulip, Turbo Pascal, Twit, TypeScript.

tab

Auteur : tkatchev?

Langage de programmation avec typage statique, qui vise à faciliter des tâches comme exprimer des requêtes dans un fichier texte.

Tamarin

Auteur : Mozilla

Un langage qui est en fait une plateforme et une implémentation d'ActionScript, avec interpréteur et compilateur juste à temps.

Tcl/Tk

Auteur : John Kenneth Oustershout

Langage de script, souvent utilisé pour générer des prototypes d'interfaces personne/ machine.

Terra

Auteur : Zachary DeVito

Une contrepartie « bas niveau » du langage Lua.

TEX

Auteur : Donald E. Knuth (mais Leslie Lamport a fait la version LATEX)

De prime abord, ce langage sert à la disposition du texte (au Typesetting), mais il s'avère (ce qui peut surprendre) aussi être un langage Turing-Complete.

Thorn

Auteurs : Bard Bloom, Brian Burg, John Field, Nicholas Kidd, Nathaniel Nystrom, Johan östlund, Gregor Richards, Rok Strnisa, Jan Vitek, Jason Ward et Tobias Wrigstad

Langage axé sur la multiprogrammation avec plusieurs processus et passage de messages. S'exécute sur la JVM. Vise des scripts évolutifs.

Thot

Auteurs : Éric Gagnon, sur la base des travaux de Sébastien Gendron (idée de Patrice Roy).

Langage de programmation à vocation éducative, reposant principalement sur des mots mathématiques connus d'enfants de 2e et de 3e année du primaire.

Thyrd

Auteur : Phil Mercurio

Langage de développement visuel.

TMMLPTEALPAITAFNFAL

Auteur : Gerson Kurtz (à ma connaissance)

Langage étrange dont le comportement varie selon le jour de la semaine... Son nom signifie The Multi-Million Language Project To End All Language Projects And Isn't That A Fine Name For A Language...

TosLang

Auteur : Félix-Antoine Ouellet

Langage à vocation pédagogique, créé pour faciliter le développement sur un système d'exploitation à vocation pédagogique nommé Tostitos.

Trylon

Auteur : Steve Folta

Langage OO structuré à partir de l'indentation, un peu comme Python.

Tulip

Auteur : Jeanine Adkisson

Langage fonctionnel « non-typé ».

Turbo Pascal

Vous pouvez l'essayer en ligne

Auteur : Philippe Kahn, puis Anders Hejlsberg

Langage impératif utilisé à la fois pour fins pédagogiques et pour fins de production de logiciel commercial. Ancêtre de Delphi. Voir aussi ObjectPascal.

Twit

Auteur : Richard Roe

Langage où l'on programme comme on tweete.

TypeScript

Vous pouvez l'essayer en ligne

Comparatifs impliquant ce langage

Auteur : Anders Hejlsberg

Langage qui se veut un enrichissement de JavaScript pour faciliter le développement de systèmes à une échelle plus vaste, entre autres par l'insertion d'un système de types plus explicite.

Critiques :

Section « U »

Langages dans cette section : Unlambda, Ur,.

Unlambda

Auteur : David Madore (je pense)

Un langage de programmation étrange qui se qualifie comme le cauchemar des langages fonctionnels. Un langage sans variables, pensez-y...

Ur

Auteur : Adam Chlipala

Langage fonctionnel inspiré de ML et de Haskell.

Section « V »

Langages dans cette section : Vala, Vigil, Visual Basic , Visual Basic .NET.

Vala

Auteurs : Jürg Billeter, Raffaele Sandrini

Langage ayant pour objectif de moderniser C en vue de l'utiliser, une fois adapté, pour la plateforme GNOME tout en conservant les outils traditionnels de dévelopement

Vigil

Auteur : Robert Nystrom

Langage similaire à Python mais mettant fortement l'accent sur le respect des assertions, allant jusqu'à détruire le code qui ne se comporte pas convenablement. Sans blagues.

Visual Basic

Auteur : Alan Cooper

Diverses versions de ce (très) populaire langage ont existé, mais il est maintenant considéré désuet dû à l'avènement de Visual Basic .NET,et la plupart des liens que j'avais accumulé à son sujet sont maintenant brisés.

À propos de la naissance de Visual Basic :

Questions de licenses :

Quelques liens techniques :

Visual Basic 6 vivra bien plus longtemps qu'on aurait pu le croire à l'époque où son remplaçant, Visual Basic .NET, a pris le plancher :

En 2016, Visual Basic a eu 25 ans! https://blogs.msdn.microsoft.com/dotnet/2016/05/20/happy-25th-birthday-vb/

Scott Hanselman, dans ce texte de 2016, explique comment il a déployé une application Visual Basic 6 sur le Windows Store : http://www.hanselman.com/blog/PuttingMyVB6WindowsAppsInTheWindows10StoreProjectCentennial.aspx

Visual Basic .NET

Comparatifs impliquant ce langage

Auteur : des gens chez Microsoft

À propos des littéraux XML : http://www.codeproject.com/KB/vb/xmlliterals.aspx

Migrer vers VB .NET : http://www.developer.com/tech/article.php/1007341/The-Book-of-VB-NET-Migrating-to-Visual-Basic-NET-Part-1.htm

VB .NET sous Linux, grâce à Mono : http://www.linuxfordevices.com/c/a/News/Mono-brings-Visual-Basic-programs-to-Linux/

Quelques liens techniques :

Une extension à ce langage, nommée Concurrent Basic et offfrant des outils pour faciliter la programmation asynchrone, par Claudio Russo en 2015 : http://research.microsoft.com/en-us/projects/concurrentbasic/default.aspx

Section « W »

Langages dans cette section : Wake, WaveScript, Whiley, WhiteSpace, Wolfram, Words!, Wren, Wyvern.

Wake

Vous pouvez l'essayer en ligne

Auteur : Michael R. Fairhurst

Langage qui veut que ses programmes soient « testables » du début à la fin.

WaveScript

Auteur : à vérifier

Un langage conçu pour développer des applications WaveScope.

Whiley

Vous pouvez l'essayer en ligne

Auteur : David J. Pearce

Langage s'exécutant sur la JVM et mettant l'accès sur les tests statiques. Utilise une structure basée sur l'indentation, un peu comme le fait Python.

Whitespace

Auteurs : Edwin Brady et Chris Morris.

Un langage de programmation étrange où les énoncés sont strictement construits à partir de « blancs » (espaces, tabulations, sauts de lignes, etc.). Tous les autres symboles sont traités comme des commentaires.

Wolfram

Comparatifs impliquant ce langage

Auteur : Stephen Wolfram

Langage axé sur la résolution de problèmes complexes, en particulier sur la base de connaissances étendues, avec une écriture concise.

Words!

Auteur : Omar Ahmad

Langage .NET dont les sources sont compilées vers le langage Cobra. Semble axé vers des traitements analogues à ceux que l'on ferait habituellement avec des expressions régulières.

Wren

Auteur : Robert Nystrom

Langage de script qui se veut compact et capable d'interagir directement avec du code C.

Wyvern

Auteur : Jonathan Aldrich

Langage permettant aux programmeuses et aux programmeurs de définir des types spécifiques à un domaine d'application, à la manière des DSL, de manière à faciliter l'expression d'idées dans ce domaine d'application.

Section « X »

Langage dans cette section : XAML.

XAML

Auteur : à vérifier (mais Chris Anderson était impliqué : http://www.simplegeek.com/PermaLink.aspx/100aec62-3352-4c35-b471-f3f2fa5fac5a)

Le nom XAML signifie eXtensible Application Markup Language, et sert principalement à décrire des interfaces personne/ machine dans des termes convenant à l'infrastructure .NET.

Section « Y »

Langage dans cette section : YesNo.

YesNo

Auteur : Mike Burrell

Depuis que Kurt Gödel a prouvé que tout système formel au moins aussi puissant que l'arithmétique des entiers ne peut être à la fois complet (capable de démontrer tous les énoncés vrais du système) et cohérent (incapable de contradiction, donc de démontrer un même énoncé comme étant à la fois vrai et faux), l'immense majorité des langages ont privilégié la cohérence. Le langage YesNo, lui, a choisi d'être complet. C'est une étrange créature...

Section « Z »

Langages dans cette section : Z, Zélus, Zig, ZZT-oop.

Z

Auteur : Chris Done

Petit langage avec une syntaxe pour le moins particulière.

Zélus

Auteurs : une équipe dirigée par Marc Pouzet

Langage symchrone intégrant (!) des équations différentielles ordinaires (Ordinary Differential Equations, ODE) pour la modélisation de systèmes dans lesquels on trouve des interactions complexes entre un temps discret et une dynamique de temps continu.

Zig

Auteur : Andrew Kelley

Langage qui met l'accent sur la lisibilité et une interopérabilité directe avec C.

ZZT-oop

Auteur : Tim Sweeney

Langage de script conçu spécifiquement pour le jeu ZZT.

Section « autres »

Pourquoi un langage de programmation?

À propos de l'importance des langages de programmation :

À propos de la popularité des langages de programmation :

La recherche du « meilleur » langage :

Langages de programmation pour le Web :

Comment envisager la conception d'un nouveau langage?

Questions de syntaxe :

Texte sur l'économie et les langages de programmation, par David N. Welton en 2005 : http://www.welton.it/articles/programming_language_economics?repost

Certains langages ont une approche « écrire une fois, exécuter peu importe où », en anglais Write Once, Run Anywhere : http://en.wikipedia.org/wiki/Write_once%2C_run_anywhere), alors que d'autres ont une approche « écrire une fois, compiler peu importe où », en anglais Write Once, Compile Anywhere : http://en.wikipedia.org/wiki/Write_once%2C_compile_anywhere

Résolution statique ou dynamique? Peut-être entre les deux, de l'avis d'Alex Gaynor en 2011 : http://alexgaynor.net/2011/oct/11/run-time-distinction/

À propos du concept général de machine abstraite (à ne pas confondre avec celui de machine virtuelle), voir ce texte de 2012 : http://mortoray.com/2012/06/18/abstract-machines-interpreters-and-compilers/

Que serait un compilateur « assez intelligent »? Une opinion de James Hague en 2009 : http://prog21.dadgum.com/40.html?0

En 2012, Kevlin Henney discute de l'importance de l'abstraction et de la terminologie dans les langages de programmation : http://www.artima.com/weblogs/viewpost.jsp?thread=341297

En 2012, Christopher Mims exprime l'opinion (susceptible de provoquer une controverse) que seul un designer peut concevoir un nouveau langage de programmation : http://www.technologyreview.com/blog/mimssbits/27630/

Se fait-il encore de la recherche dans le monde des langages de programmation? Cristina Videira Lopes, en 2012, pense que oui : http://tagide.com/blog/2012/03/research-in-programming-languages/

Comment organiser sa pensée lorsqu'on utilise plusieurs langages de programmation dans le cadre de notre travail? Les techniques de John D. Cook, exposées dans un texte de 2012 : http://www.johndcook.com/blog/2012/07/27/multiple-programming-languages/

Qu'est-ce qu'apprendre un langage de programmation? Une réflexion de Reginald Braithwaite en 2012 : http://raganwald.posterous.com/what-ive-learned-about-learning

Devrait-il exister une frontière entre langage de programmation et système d'exploitation? Réflexion de Eugene Wallingford en 2014 : http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-03.html#e2013-03-27T12_46_03.htm

Réflexion de 2014 par Antonio Cangiano sur les langages de programmation, considérés en tant que langages tout simplement : http://programmingzen.com/2014/11/27/programming-languages-as-languages/

Réflexions d'un « débutant » sur la valeur relative des langages de programmation, par YJ Yang en 2014 :

À propos du lien entre les stééréotypes sur les langages de programmation et les stéréotypes sur les programmeuses et les programmeurs, texte de Jean Yang et Ari Rabkin en 2015 : https://modelviewculture.com/pieces/c-is-manly-python-is-for-n00bs-how-false-stereotypes-turn-into-technical-truths

La difficulté de transférer les acquis d'un langage à un autre, court texte de Julia Evans en 2015 : http://jvns.ca/blog/2015/01/24/why-a-c-plus-plus-programmer-might-say-i-could-never-write-python/

Comparatif humoristique des courbes d'apprentissage associées à quelques langages connus : http://softwarily.tumblr.com/image/108069555358

À propos des mythes quant aux qualités humaines des programmeuses et des programmeurs dans divers langages, texte de 2015 par Jean Yang et Ari Rabkin : https://modelviewculture.com/pieces/c-is-manly-python-is-for-n00bs-how-false-stereotypes-turn-into-technical-truths

À propos des outils GNU

À compléter

Des outils GNU pour Microsoft Windows :

Implémentation GNU d'APL : http://www.gnu.org/software/apl/

À propos de l'enseignement de la programmation

Quelques langages ont été pensés spécifiquement dans le but d'enseigner la programmation, parfois même aux enfants.

Le λ-calcul

Une brève explication sera ajoutée quand j'aurai quelques minutes.

Approches novatrices

La plupart des articles ci-dessous sont quelque peu costauds, proposant des formalismes novateurs ou des idées quelque peu hors-normes. Plusieurs ont recours à du π-calcul.

Textes de 2013

Les Copatterns, pour penser la récursivité :

Textes de 2012

Une réflexion sur les méthodes formelles et l'éthique, par Darren Abramson et Lee Pike : https://www.cs.indiana.edu/~lepike/pubs/fm-ethics.pdf

Textes de 2011

Textes de 2010

Textes de 2009

Textes de 2008

Textes de 2007

Textes de 2006

Textes de 2005

Textes de 2004

Quelques notes

Quelques notes...

À propos des langages de programmation étranges

Quelques-uns des langages de programmation listés ici sont des langages quelque peu étranges. Pour en savoir plus sur ces bizarreries :

À propos de la « performance »

bla

Une mesure de la popularité relative de divers langages de programmation : http://langpop.com/

Pour des questions sur l'optimisation du code, voir Optimisation--Liens.html

À propos de la religion

bla

À propos de la sécurité

bla

À propos du langage naturel

Sujet complexe s'il en est un, certains font des recherches en ce sens.

À propos des mesures et des métriques

Il est possible de mesurer et de comparer plusieurs choses en lien avec les langages de programmation, allant de la vitesse d'exécution du code compilé à la rapidité de développement.


Valid XHTML 1.0 Transitional

CSS Valide !