x00 a écrit :Et tes 2 langages, je connais pas non plus, il servent à quoi ? dans quel domaine ?
Le Haskell et le Scala sont des langages de programmation fonctionnelle, par opposition à la programmation impérative.
Dans un langage impératif, on indique en gros pas à pas les instructions que doit suivre l’ordinateur, tandis que dans un langage fonctionnel, on décrit des valeurs et des fonctions, de la même façon qu’en mathématiques. Un langage fonctionnel que tu connais sûrement est le SQL : tu décris le résultat que tu souhaites obtenir, sans préciser à la base de données quelles instructions elle doit suivre précisément pour obtenir ce résultat.
Le Scala est plus ou moins dérivé du java, d’ailleurs les programmes scala tournent sur la jvm et sont compatibles avec le code java existant. Il mélange les concepts de programmation fonctionnelle et de programmation orientée objet. Le code impératif est toujours possible cependant.
Le Haskell par contre est un langage fonctionnel pur. On ne peut même pas changer la valeur d’une variable. C’est très bizarre quand on vient de la programmation impérative, mais c’est très intéressant, puissant et enrichissant, même quand on se remet à coder avec les langages « normaux ».
Quant à savoir à quoi ils servent, hé bien ce sont des langages de programmation générale, ils servent à tout ou presque dans tous les domaines ^^
J’aimerais bien me mettre au Rust aussi. C’est un langage plus bas niveau (comme le C/C++) qui gère la mémoire automatiquement et de façon déterministe sans avoir à le faire à la main et sans garbage collector (mais au prix de contraintes supplémentaires sur le scope de ses variables).
resoL a écrit :
J'ai une question d'ordre professionnel. Est-ce que vous vous efforcez de tout connaître sur chaque langage de programmation (syntaxe, mots-clés,...) ou bien vous connaissez une partie et vous vous documentez sur le tas ou boulot en allant sur Internet ?
Personne ne connait *tous* les langages de programmation ^^ Mais connaître un langage ça signifie au minimum connaître la syntaxe et savoir comment faire certaines choses basiques. Après, chaque langage a tout un ensemble de bibliothèques et de frameworks, et il est impossible et inutile de tous les connaître. Quand j’arrive sur une nouvelle mission, il y a toujours des trucs que je ne connais pas. Parfois il y a même des choses développées spécifiquement par l’entreprise pour l’entreprise, donc impossible à connaître à l’avance.