Ha oué mais bon, côté perso j'utilise du ruby, du go, beaucoup de js, du coffee, de l'ada, du c++, du java et même parfois du PHP (et oué).
pourquoi clojure plutôt que ROR, c'est pas mal aussi pour les services REST. Pour des questions de performance ?
Bon, déjà le choix a été fait juste avant que j'arrive sur ce projet donc voilà.
Maintenant faut pas tout mélanger entre langage et framework.
ROR à mon avis c'était presque trop pour le serveur (qui traite des données et publie des services REST). Pas vraiment besoin, vu que le front est sur un autre serveur.
Après on aurait justement pu prendre du sinatra ou une autre techno ruby. La raison exacte je ne l'ai pas totalement, mais ce qui est certain aujourd'hui c'est que clojure est un bon choix.
La première chose c'est que les données qu'on traite sont essentiellement des listes de map (pour simplifier un peu). Et les langages fonctionnels (comme lisp et dérivés) sont justement très agréables à utiliser pour ça. Le code reste clair et concis, et vraiment très puissant. Le modèle de donnée est très souple. En gros on n'a pas définit de modèle objet mais juste des règles qui se basent sur des ensembles. Je sais pas si ça peut être clair dit comme ça...
Côté productivité clojure est vraiment bien (alors que c'était mon premier projet avec cette techno et la première fois que je faisais du fonctionnel)
En gros pour résumer le choix :
fonctionnel ce qui en fait un langage plutôt adapté aux traitements qu'on doit faire
modèle de données adapté à notre problématique métier
jvm (c'est plutôt sympa et rassurant)
Comment tu qualifierais la courbe d'apprentissage de clojure ?
Heu... vu que j'ai tendance à coder dans beaucoup de langages depuis le temps, je reste plutôt à l'aise avec de nouveaux donc je sais pas si ça représente grand chose...
C'est la première fois que j'utilisais un langage fonctionnel (jamais utilisé de lisp, ocaml ou autre avant). Mais en gros il m'a fallu moins d'une semaine pour passer de "je comprend rien du tout — mais vraiment rien — à ce que je lis" à "je suis capable d'écrire une première feature".
Pour ça, lecture (partielle) de Clojure Programming et exos sur 4Clojure.
Ensuite, faut encore compter quelques semaines pour vraiment arriver à rentrer dans les principes du fonctionnel des traitements de listes (genre pour vraiment commencer à se faire plaisir avec map, reduce, etc). Mais c'est vraiment cool :-)
Dans tous les cas un choix que je ne regrette absolument pas et je conseil vraiment à tous ceux qui n'en ont jamais fait de tenter les langages fonctionnels, ça change ma manière de voir la programmation et au final change ma façon de coder même dans les autres langages.
[^] # Re: plop
Posté par CrEv (site web personnel) . En réponse au journal S’il vous plaît... architecture-moi un Kanboard !. Évalué à 6.
Ha oué mais bon, côté perso j'utilise du ruby, du go, beaucoup de js, du coffee, de l'ada, du c++, du java et même parfois du PHP (et oué).
Bon, déjà le choix a été fait juste avant que j'arrive sur ce projet donc voilà.
Maintenant faut pas tout mélanger entre langage et framework.
ROR à mon avis c'était presque trop pour le serveur (qui traite des données et publie des services REST). Pas vraiment besoin, vu que le front est sur un autre serveur.
Après on aurait justement pu prendre du sinatra ou une autre techno ruby. La raison exacte je ne l'ai pas totalement, mais ce qui est certain aujourd'hui c'est que clojure est un bon choix.
La première chose c'est que les données qu'on traite sont essentiellement des listes de map (pour simplifier un peu). Et les langages fonctionnels (comme lisp et dérivés) sont justement très agréables à utiliser pour ça. Le code reste clair et concis, et vraiment très puissant. Le modèle de donnée est très souple. En gros on n'a pas définit de modèle objet mais juste des règles qui se basent sur des ensembles. Je sais pas si ça peut être clair dit comme ça...
Côté productivité clojure est vraiment bien (alors que c'était mon premier projet avec cette techno et la première fois que je faisais du fonctionnel)
En gros pour résumer le choix :
Heu... vu que j'ai tendance à coder dans beaucoup de langages depuis le temps, je reste plutôt à l'aise avec de nouveaux donc je sais pas si ça représente grand chose...
C'est la première fois que j'utilisais un langage fonctionnel (jamais utilisé de lisp, ocaml ou autre avant). Mais en gros il m'a fallu moins d'une semaine pour passer de "je comprend rien du tout — mais vraiment rien — à ce que je lis" à "je suis capable d'écrire une première feature".
Pour ça, lecture (partielle) de Clojure Programming et exos sur 4Clojure.
Ensuite, faut encore compter quelques semaines pour vraiment arriver à rentrer dans les principes du fonctionnel des traitements de listes (genre pour vraiment commencer à se faire plaisir avec map, reduce, etc). Mais c'est vraiment cool :-)
Dans tous les cas un choix que je ne regrette absolument pas et je conseil vraiment à tous ceux qui n'en ont jamais fait de tenter les langages fonctionnels, ça change ma manière de voir la programmation et au final change ma façon de coder même dans les autres langages.