Pour les développeurs, en matière de langage de programmation, la panacée n’existe pas. Par contre, comme l’a déclaré la semaine dernière Sam Shillace, vice-président senior de l'ingénierie chez Box, lors de la conférence des développeurs Facebook’s @Scale, « dans tout projet, il est primordial de choisir le bon code Open Source, celui qui va pouvoir répondre à des tâches spécifiques et aux besoins de mise à l’échelle ». Avec ses homologues de Linkedin et de WhatsApp, il a débattu des défis auxquels ils sont confrontés et des choix difficiles qu'ils doivent faire en matière de langages de programmation. Tous ont également conseillé aux programmeurs de ne pas se précipiter vers les nouveaux langages, même très attractifs, et de leur préférer des frameworks plus fiables, s’ils répondent à leurs besoins.
Linkedin : le choix de Java
« Le choix du langage est un énorme problème pour toute entreprise qui veut développer des logiciels d'échelle », a déclaré Kevin Scott, vice-président senior de l'ingénierie de Linkedin. L'équipe de développeurs du réseau social professionnel utilise essentiellement Java, et depuis longtemps, parce que « ce serait trop complexe de changer de langage », a ajouté Kevin Scott. « Forcément, nous sommes toujours attirés par de nouveaux environnements de programmation et leurs potentiels », a ajouté le VP de l’ingénierie. « Mais il faut savoir s’il y a une logique à l’introduire dans une grande équipe de développeurs, parce que ces changements ont un coût… Si nous changeons de langage, nous aurons des dizaines et des dizaines de millions de lignes de code à réécrire ». Ce dernier n’a pas voulu divulguer de chiffres exacts, mais plus de 1 000 salariés de Linkedin contribuent au code base de l'entreprise, et le site compte 380 millions de membres. Le réseau professionnel est limité en terme de langage. « Au-delà d’un certain seuil, on se noierait dans la complexité », a reconnu Kevin Scott. « Il y a toutes ces choses qu’il faut finalement développer soi-même, et forcément, certains choix sont difficiles ».
WhatsApp : 15 ingénieurs pour 900 millions d'utilisateurs
Quinze ingénieurs gèrent le code de l’application de messagerie mobile détenue par Facebook et utilisée par plus de 900 millions de personnes. Jamshid Mahdavi, un ingénieur logiciel de WhatsApp, affirme que parmi les différentes options open source examinées par les fondateurs, l’entreprise est littéralement tombée dans le langage de programmation Erlang ». « Aujourd’hui, tous les canaux ont été remplacés, et la partie en Erlang s’est avérée vraiment utile », a ajouté l’ingénieur, si bien que l'entreprise est restée fidèle au framework qu’elle a commencé à utiliser en 2009. « Il a été possible de remplacer tous les canaux du système pendant qu’il tournait ». C’est un facteur qui a pesé lourd. Il n’était pas possible d’imaginer de suspendre le service.
Selon Sam Shillace de Box, le choix du langage Erlang par WhatsApp est un exemple parfait. Il n’avait jamais vu, à ce point, un langage capable d’apporter une telle plus-value à un programme d’ingénierie et d’améliorer autant l'efficacité d’un produit. Pour Kevin Scott de Linkedin, la valeur des langages open source dépend des entreprises et des équipes. « Les gens ont cette tendance à créer des silos de développement pour disposer d’une autonomie relative », a-t-il déclaré. « Parfois, le problème devient tellement énorme qu'il est impossible de s’isoler complètement. Beaucoup d'entreprises ne consacrent pas assez de ressources pour apprendre aux gens à collaborer entre eux. Nous sommes des ingénieurs, nous aimons résoudre des problèmes techniques, mais il est parfois nécessaire de résoudre aussi des problèmes de personnes ».
ok, donc
Signaler un abusLinkedin -> java -> pagaille (1000 dev)
whatsapps -> Erlang -> zenitude (15 dev)
et box ? pourquoi l'annoncer dans le titre si on en parle pas.