Liste non-exhaustive des principaux langages actuels
Nom | Type(s) | Année | Avantages | Inconvénients | Cas d'utilisation | Projets connus |
---|---|---|---|---|---|---|
C | - Impératif - Typé |
- Proche de la machine - Performance - Universalité |
- Lourdeur de la syntaxe (peu expressif) | - Du bas niveau - Des systèmes d'exploitation - Un maximum de performance |
- Linux - Git |
|
C++ | - Objet - Impératif - Typé |
- Performance | - Considéré comme le langage le plus compliqué à maitriser | Des performances ++ et une structuration plus moderne que le C | - Presque tous les jeux vidéos | |
C# | Comme Java | 2002 | Comme Java mais chez Microsoft | Comme Java mais chez Microsoft | Comme Java mais chez Microsoft | |
Clojure | - Fonctinnel - Non-typé (dynamique) |
- Productivité - Immutable de fond en comble. - Tourne sur Java et Javascript avec une bonne inter-opérabilité. |
- Syntaxe alien (fait souvent peur) | - Webapps - Traitement de données (big data) - Serveurs webs |
||
Crystal | - Objet - Typé |
- Un sytaxe légère comme Ruby - Des performances comme C |
? | Prototypage rapide et besoin de performance | ||
Elixir | - Fonctionnel - Dynamique avec types optionnels |
2014 (v1.0) | - Basé sur Erlang - Syntaxe épurée inspirée de Ruby - Gère de nombreuses connections simultannées |
- Jeunesse mais grossit assez vite. | - Système de chat - Notifications push - Nouveau projet où Ruby on Rails est évoqué |
|
Erlang | - Fonctionnel - Dynamique avec types optionnels |
- Gère de nombreuses connections simultannées | - Syntaxe déroutante | - Système de chat - Notifications push |
||
F# | Comme OCaml | Comme OCaml mais chez Microsoft | Comme OCaml mais chez Microsoft | Comme OCaml mais chez Microsoft | ||
Go | - Impératif - Typé |
- Prototypage rapide et besoin de performance | - Docker | |||
Haskell | - Purement fonctionnel - Fortement typé |
- Sécurité dans le code - Expressif |
- Très très "mathématique" - Difficile d'accès |
- Compilateur - Traitement de données parallélisable |
||
Java | - Objet - Typé |
- Performant - Très présent dans les grosses entreprises |
- Trop verbeux - Lourdeur des gros projets - Relativement peu expressif |
- Gros système de grosse entreprise | ||
Javascript | - Impératif - Fonctionnel en partie - Réellement objet depuis peu |
- Très utilisé | - Très "casse-gueule" dès que le projet est ambitieux | - Services webs légers - Service de chat - Quelques fonctionnalités dans un navigateur. |
||
OCaml | - Fonctionnel avant tout - Impératif possible - Objet possible |
- Sécurité d'exécution - Performance - Pragmatique |
Syntaxe très | |||
PHP | - Impératif - Objet - Dynamique |
- Immense communauté - De nombreux CMS |
- Considéré comme le plus mauvais langages de l'histoire par beaucoup de développeurs | - Web uniquement | ||
Python | - Impératif - Objet - Dynamique |
- Tend à éviter les mauvaises surprises - Accessible aux débutants |
- Web - Machine learning - Calcul scientifique - ... |
|||
ReasonML | Comme OCaml | - Comme OCaml - Syntaxe proche des langages répandus. |
Comme OCaml | - Comme OCaml - Applis web solides |
- Facebook Messenger | |
Ruby | - Objet avant tout - Impératif de base |
1995 | - Syntaxe légère et épurée - Ruby on Rails (productivité) |
- Ruby on Rails (ne scale pas très bien) - Tellement élégant qu'on ne comprend pas toujours ce qu'il se passe sous le capot. |
- Startup avec des règles métier à la carte et pas de gros besoin de performance. | - Twitter à ses débuts - Github |
Rust | - Impératif - Style fonctionnel possible |
- Sécurité d'exécution - Performance |
- Communauté faible qui grossit doucement. | - Allier performance et sécurité d'exécution | - Les futures versions de Firefox |