Langages

2014-09-25

J'utilise

Assembleur
Le langage utilisé par les ordinateurs au plus bas niveau (ou une représentation de ce même langage de manière juste un peu plus compréhensible). Le connaître est nécessaire pour faire de l'optimisation bas niveau, du reverse engineering ou simplement comprendre comment un ordinateur fonctionne dans les détails.
bash
« bash » dénote à la fois l'interpréteur shell et le langage qu'il interprète. Le langage permet d'écrire des scripts ou des commandes complexes pour automatiser toutes les tâches un peu répétitives.
C
Le langage des sages. Il ajoute juste ce qu'il faut pour rendre la programmation plus agréable sans faire d'abstractions handicapante. Il a l'avantage de pouvoir être utilisé à un très bas niveau (utiliser de l'assembleur dans un programme C n'est pas compliqué), ou à un niveau relativement élevé (on peut faire de la Programmation Orientée Objet, bien que cela ne soit pas directement dans la syntaxe). Il a aussi l'avantage de permettre l'accès au plus grand nombre de bibliothèques.
Python
Langage de script orienté objet allié de bibliothèques assez complètes. Il a une syntaxe assez originale mais intelligente. Très bon langage pour des modules, interfaces ou les IA d'un jeu.
HTML5 / CSS3
Ce n'est pas vraiment un choix si l'on veut écrire des sites web d'une certaine qualité. Les dernières versions de HTML et de CSS donnent une souplesse bien plus large sans avoir à recourir à Javascript.

Je connais

C++
Surcouche de C permettant de faire de la Programmation Orientée Objet. En théorie, cela permet d'écrire des programmes bien plus élégants ; en pratique, de cacher une architecture monstrueuse d'usine à gaz derrière une demi-ligne de code.
Javascript
Le langage exécuté par les clients web. Il permet d'introduire des intéractions plus dynamiques dans les pages web. Les développeurs ont tendances à en abuser, alourdissant les sites web au point de rendre la navigation inconfortable.
SQL
SQL est le langage de référence pour communiquer avec des bases de données comme MySQL ou SQLite. Il n'y a pas grand chose à en dire : certains aspects ne sont pas évidents aux début, mais c'est un langage cohérent et efficace.
OCaml
Langage fonctionnel élégant et relativement simple à prendre en main. Il fait partie de la famille des langages ML, utilisés en théorie des langages en Computer Science. Il est très adapté pour comprendre le concept de currification ou le typage implicite.
PHP
Probablement le langage le plus utilisé pour générer des pages web sur les serveurs. Il a l'avantage d'être simple d'utilisation, mais a subit des années d'évolutions, y laissant un certain nombre de cicatrices sous la forme de fonctionnalités utilisées à tort.

J'ai croisé

Batch
Le langage de script sous Windows. Très limité et très peu pratique à utiliser. J'ai fait avec jusqu'au jour de ma rédemption (comprendre passage à GNU/Linux).
Java
Des idées intéressantes à la base (indépendedance de la plateforme, Programmation Orientée Objet pure) mais il cumule de nombreux défauts qui m'en ont gardé à une distance respectable.
Quick Basic/Visual Basic/TI-Basic
Un langage impératif simpliste mais qui faisait l'affaire pour débuter, ou bien la seule option pour programmer certaines calculatrices de Texas Instrument.