En 2024, tandis que les langages populaires comme Python, JavaScript et Java continuent de dominer le marché, de plus en plus de langages montent en puissance, notamment grâce à leurs particularités. Que ce soit pour des projets de recherches avancées, de la programmation de jeux vidéo ou pour des applications embarquées, voyons quels sont ces langages et ce qu’ils peuvent apporter de plus par rapport à leurs célèbres concurrents.
Rust, pour les allergiques à la gestion manuelle de mémoire
Rust est partout, on l’a déjà dit, mais petit rappel pour les retardataires. Rust est donc un langage de plus en plus populaire dans la programmation système et la programmation d’applications nécessitant une performance maximum. Grâce à la sûreté de la mémoire, les fonctionnalités de concurrence et la réduction des bugs à l’exécution, sa capacité à endiguer la dette technique, Rust est devenu le langage favori pour des programmes tels que des applications embarquées ou des systèmes blockchain. De nombreux projets très prometteurs en Rust ont vu le jour depuis quelques mois comme :
-
- Servo, un moteur de recherche plus performant et plus sûr 🧠
-
- Deno, un runtime sûr pour JavaScript et TypeScript, créé par l’auteur de Node.js
fn main() {
let numbers = [1, 2, 3, 4, 5];
let sum: i32 = numbers.iter().sum();
println!("The sum is: {}", sum);
}
Chez O’clock, on croit beaucoup en Rust 🦀. Vous trouverez de nombreux articles pour vous lancer avec ce langage à commencer par notre tutoriel Comment installer Rust sur Windows, MacOs et Linux.
Go (Golang), pour de la concurrence sans transpirer
Connu pour sa simplicité et son efficacité dans la gestion de la concurrence, le langage Go (également connu sous le nom de Golang) est largement utilisé dans les infrastructures cloud, les microservices, et les outils DevOps. Avec la montée des systèmes distribués et des applications conteneurisées, Go est amené à se développer davantage dans les prochaines années.
Projets populaires :
-
- Docker, un incontournable de la conteneurisation, est écrit principalement en Go.
- Kubernetes, a outil puissant d’orchestration des conteneurs, est également écrit en Go.
package main
import (
"fmt"
"time"
)
func sayHello() {
fmt.Println("Hello, Go!")
}
func main() {
go sayHello() // Run concurrently
time.Sleep(1 * time.Second) // Give the goroutine time to finish
}
Elixir, le cocktail parfait pour des applications qui ne plantent jamais (ou presque) 🍸
Elixir est un langage qui tourne sur Erlang VM (BEAM), connue pour sa bonne gestion d’erreur et sa scalabilité (= sa capacité à gérer des volumes de plus en plus importants). Cela en fait un candidat idéal pour les applications en temps réel et les systèmes distribués. Elixir gagne en popularité dans les industries qui nécessitent des systèmes hautement concurrents, comme les télécommunications et les applications web.
Projets populaires :
- Le framework Phoenix est un framework web conçu pour des applications hautements performantes et scalables.
- Discord a été en partie codé en Elixir, notamment pour permettre à des millions d’utilisateurs d’accéder à l’application en même temps.
defmodule Math do
def sum(a, b) do
a + b
end
end
IO.puts Math.sum(3, 4) # Outputs: 7
Zig, parce que la simplicité, ça peut aussi dépoter !
Zig est un langage de programmation système focalisé sur la simplicité, la performance et la fiabilité. Il est similaire à C mais possède des fonctionnalités modernes, sans sacrifier le contrôle bas-niveau. Il a été conçu comme une alternative plus sûre à C/C++. Il est d’ailleurs un concurrent solide à Rust, mais avec moins d’ancienneté.
Projets populaires :
-
- Le compilateur de Zig lui-même est un exemple de projet majeur écrit en Zig. Il est notamment utilisé dans des outils bas-niveau
-
- Mach est un gestionnaire de paquets rapide et sûr, basé sur Zig
const std = @import("std");
pub fn main() void {
const stdout = std.io.getStdOut().writer();
stdout.print("Hello, Zig!\n", .{}) catch {};
}
Nim, pour coder proprement sans se fatiguer
Nim est un langage typé et compilé statiquement qui allie performance et expressivité. Il est connu pour ses fonctionnalités de métaprogrammation, qui permettent une grande flexibilité et une grande optimisation du code. Nim est de plus en plus adopté dans les systèmes où l’efficacité et la clarté sont importantes. Il est notamment populaire dans les utilitaires systèmes, le jeu vidéo et les systèmes embarqués.
Projets populaires :
- Nimble, le gestionnaire de paquets de Nim, est léger, rapide, et reflète les avantages du langage
- Status.im est une application de messagerie et un navigateur web mobile pour Ethereum
echo "Hello, Nim!"
let numbers = [1, 2, 3, 4, 5]
let sum = numbers.foldl(0, (a, b) => a + b)
echo "The sum is: ", sum
Crystal, pour les fans de Ruby qui veulent aller vite
Crystal est un langage conçu pour offrir la rapidité de C avec l’élégance de Ruby 💅. Il a un système de typage strict tout en maintenant une syntaxe similaire à Ruby, le rendant accessible aux développeurs recherchant de la performance sans sacrifier leur expérience. Il est principalement utilisé dans les applications web, les outils en ligne de commande et les utilitaires système.
Projets populaires :
-
- Le framework Amber, inspiré par Ruby on Rails, est destiné à la création d’applications web hautement performantes.
-
- Le framework Lucky est un autre exemple de framework web focalisé sur la productivité et la sûreté des types.
def sum(a : Int32, b : Int32)
a + b
end
puts sum(5, 10) # Outputs: 15
Vlang, pour les déçus des dépendances qui veulent des fonctionnalités modernes
Vlang est un langage simple, sûr et rapide, qui compile vers des binaires natifs sans dépendances. Il fait partie des langages de programmation faciles à apprendre, comporte des fonctionnalités modernes de concurrence, et vise à être l’outil numéro 1 pour créer des logiciels rapidement avec le moins possible de bugs à l’exécution. Il est notamment populaire dans les applications en ligne de commande, le jeu vidéo et les systèmes embarqués.
Projets populaires :
-
- V UI est une librairie d’interface utilisateur pour les applications desktop.
-
- Voracious est un outil de recherche rapide.
fn main() {
println('Hello, V!')
numbers := [1, 2, 3, 4, 5]
println(numbers.sum()) // Outputs: 15
}
F# : un code fonctionnel, c’est un code propre 🧼
F# n’est pas le langage le plus jeune de cette liste, pourtant son approche fonctionnelle continue d’attirer des développeurs qui veulent créer du code concis et fiable. Faisant partie de l’écosystème .NET, il est bien intégré aux technologies Microsoft et grimpe en popularité dans la finance et l’analyse de données.
Projets populaires :
-
- Jet est un framework conçu pour créer des applications hautement performantes.
-
- G-Research est une société de recherche financière qui utilise énormément F# pour l’analyse de données et les algorithmes de trading.
let sum a b = a + b
printfn "Sum: %d" (sum 3 5) // Outputs: Sum: 8
D, une version zen de C++
Le langage de programmation D a été conçu pour être un C++ amélioré, avec des fonctionnalités modernes telles qu’un ramasse-miettes, la sûreté de la mémoire, et des outils plus robustes pour gérer la concurrence. Il offre de hautes performances et est de plus en plus adopté dans l’informatique de haute performance et la programmation système.
Projet populaire :
-
- Le moteur de recherche d’eBay utilise D pour une recherche de haute performance.
import std.stdio;
void main() {
writeln("Hello, D!");
int[] numbers = [1, 2, 3, 4, 5];
int sum = 0;
foreach(n; numbers) {
sum += n;
}
writeln("The sum is: ", sum);
}
Haskell, pour se prendre la tête, mais pour une bonne raison !
Haskell n’est plus tout jeune non plus, pourtant son approche continue de faire de lui un langage d’intérêt dans le secteur de la recherche et dans les industries qui cherchent à tout prix une haute fiabilité du code, comme par exemple dans la fintech. Il est donc privilégié pour la recherche académique, la fintech, la blockchain.
Projets populaires :
-
- Cardano est une plateforme de blockchain qui utilise Haskell pour gérer les contrats intelligents.
-
- Pandoc est un convertisseur de document largement utilisé, qui permet de passer entre les formats Markdown, HTML et LaTeX.
main = do
let numbers = [1, 2, 3, 4, 5]
let sum = foldl (+) 0 numbers
putStrLn ("The sum is: " ++ show sum)
Langages de programmation à apprendre en 2024 ? : Mentions honorables
-
- Julia est un bon langage pour l’informatique scientifique, il est populaire dans les cercles académiques et de recherche.
- Kotlin est un langage de programmation déjà populaire, et qui évolue pour supporter davantage de plateformes qu’Android (si vous voulez vous y mettre, il y a notre formation Kotlin en 4 jours).
-
- Red est un langage léger, conçu pour du scripting haut-niveau et de la programmation bas-niveau, avec l’avantage d’être facilement intégrable aux systèmes embarqués.