Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Expert éminent sénior
    Scala dans le top 10 des technologies les plus prisées par les développeurs modernes
    Scala dans le top 10 des technologies les plus prisées par les développeurs modernes
    Selon l’étude, le langage serait la principale alternative à Java

    Typesafe, la société derrière le langage Scala, a de quoi être fier. En effet, son langage alternatif au langage Java a été sélectionné comme l’une des 10 technologies les plus prisées des développeurs modernes.

    Conduite par le laboratoire de recherche RebelLabs, l’étude a dévoilé un top 10 fait d’un savant mélange de langages, de technologies et d’outils où figurent dans l’ordre alphabétique: Confluence, Git, Gradle, Groovy, Intellij Idea, Jenkins, Jira, Mongodb, Scala et enfin le duo Tomcat + Tomee.

    L’étude avait pour objectif d’identifier les technologies aimées et adoptées par les geeks…et comprendre pourquoi elles ont été choisies.» Pour élaborer son classement, RebelLabs s’est basé sur plusieurs critères, telles que :
    • les statistiques émanant du marché : part en pourcentage, évolution, fragmentation de la technologie ;
    • le feedback des développeurs ;
    • le buzz entourant ces technologies : couverture médiatique, récurrence sur les réseaux sociaux, activité de la communauté ;
    • évidences anecdotiques.


    Le laboratoire de recherche mentionne entre autres que les technologies étudiées doivent atteindre une certaine maturité au sein de la communauté des développeurs, démontrer qu’elles répondent à certaines problématiques pas encore traitées ou encore offrir de meilleures performances que d’autres solutions avant d’être incorporées dans cette étude.

    Pour le créateur du langage, Martin Odersky : « Scala a beaucoup évolué depuis son éclosion en 2004 » et « sa base d'utilisateurs a atteint une taille inimaginable à l'époque. Il a été utilisé dans des secteurs allant des grandes entreprises et institutions financières aux startups. » ce qui explique l’émotion suscitée par cette annonce : « être reconnu par RebelLabs est un immense honneur et valide le travail que nous faisons pour créer un langage de programmation élégant et puissant. »

    Enfin, l’étude révèle que 47% des sondés placent Scala comme principale alternative à Java (devant le langage Groovy). Les points clés du succès de Scala résident dans l’outil sbt ainsi que dans le travail fourni par Typesafe pour la mise au point et le soutien de la communauté de l’écosystème Scala, y compris d’Akka et de Play.

    Source : Etude de RebelLabs

    Et vous ?

    Qu’en pensez-vous ?

  2. #2
    Membre chevronné
    Il faut bien dire que c'est un langage fantastique, réussissant une synthèse assez géniale entre programmation orientée objets et programmation fonctionnelle.
    J'appelle "Point Traroth" le moment dans une discussion où quelqu'un parle des Bisounours. A partir de ce moment, toute discussion sérieuse devient impossible, puisque la légitimité d'une des parties pour exposer son point de vue est mise en cause. C'est juste un anathème, un moyen de décrédibiliser les autres sans avoir à discuter.

  3. #3
    Nouveau Candidat au Club
    J'ai essayé .........
    Moi je suis pas convaincu , la syntaxe est pas intuitive on sais pas quand il faut mettre le type.
    en plus déclarer une variable par var i:Int je trouve ca lourd plus lourd qu'en java Integer i

  4. #4
    En attente de confirmation mail
    Allons, super_navide, faire un petit effort pour comprendre scala, ça vaut le coup !

  5. #5
    Expert éminent
    Le top 10 est bidon, y'a des langages, des outils d'intégration continue, des systèmes de gestion de source, des outils de build. Un peu tout et n'importe quoi.

    Pour scala, j'ai pensé sérieusement à l'utiliser en production il y a 2-3 ans mais il y a quelques soucis qui m'en empêchent. Un des plus gros pour moi a été le temps de compilation que j'ai toujours vu comme un grand point fort chez java, pascal et autres, et qui là soudainement me rappelle du C++. On disait que ça allait s'améliorer, mais de l'aveu même de la core team, le compilateur Scala est très dur à modifier à un point où c'est limite gérable, donc ce sera probablement jamais rapide.
    L'autre gros problème, c'est la lisibilité. Oh pas forcément la lisibilité de votre code car si vous êtes bon et que vous restez raisonnable, vous pouvez vous retrouvez avec une lisibilité comparable à Java et un langage plus puissant. Le problème c'est que vous allez certainement bosser dans une équipe de niveau inégal et utiliser des librairies et du code faits par d'autres, et quand on voit ce que certains arrivent à inventer dans le genre ASCII art qui compile, ça fait peur.

    Peut être qu'un Scala 3 moins DSL friendly moins souple au niveau syntaxe sera le successeur de java que j'attends, mais scala 2.x non. Pour l'instant je suis plus intéressé par ceylon comme éventuel successeur à java à cause de l'emphase sur la lisibilité justement. Dans un projet de bonne taille, on passe dit-on 80% de notre temps de développeur à maintenir et lire du code fait par d'autres, donc pour moi c'est cette direction qui m'intéresse.

  6. #6
    Expert confirmé
    Quels sont les avantages de Scala par rapport à Java 8 et l'arrivée des Lambdas ?

  7. #7
    Membre averti
    C'est bonne nouvelle , je pense également que scala est une très bonne alternative à Java.
    Je suis passé a Java depuis quelques mois et venant de l'environnement .Net C#, ça été une vrai souffrance de constaté que le langage Java était si pauvre par rapport C# , python ou Scala.
    Je me suis très rapidement intéressé à Scala offrant des fonctionnalités "modernes" du point de vue du langage.

    Scala est certainement mois facile à apprendre et peut paraitre moins lisible que le Java car il introduit des concepts et syntaxes auxquels les développeurs Java ne sont pas habitué.

    Si Java veut remonter le pente il doit faire vite ...

  8. #8
    Membre chevronné
    Citation Envoyé par Arsene Newman Voir le message
    ... dans l’ordre alphabétique: Confluence, Git, Gradle, Groovy, Intellij Idea, Jenkins, Jira, Mongodb, Scala et enfin le duo Tomcat + Tomee...
    Quand j'ai lu Mongodb dans le top ten c'est forcément un sondage biaisé : Mongodb n'est utile et vraiment bien que dans certains cadres biens stricts, c'est loin d'être utile / utilisable partout. Donc sondage absolument pas objectif.
    .I..

  9. #9
    Membre chevronné
    Perso je fais du Java depuis 2005.
    Avant je faisais du C++.
    Changer une nouvelle fois ne me fais pas peur.

    Surtout que je trouve la politique d'ORacle inquiétante.
    En plus j'ai le sentiment que les nouvelles version de Java comblent surtout le retard sur C#, et que ce dernier à l'initiative.
    Et je me renseigne au cas ou, mais le ciel ne va pas nous tomber sur la tête.
    Enfin pas tout de suite.
    Les entreprises ont trop d'applications écrites en Java.

    Je pense à notre urbaniste, qui nous prédit la fin du cobol, dans la boîte, depuis plusieurs années.
    Alors Java remplacé par Scala, je me marre un peu.
    Consultez mes articles sur l'accessibilité numérique :

    Comment rendre son application SWING accessible aux non voyants
    Créer des applications web accessibles à tous

    YES WE CAN BLANCHE !!!

    Rappelez-vous que Google est le plus grand aveugle d'Internet...
    Plus c'est accessible pour nous, plus c'est accessible pour lui,
    et meilleur sera votre score de référencement !

  10. #10
    Membre régulier
    Justement, pourquoi chercher de nouveaux langages au détriments notamment du C# ?
    Question pour culture personnelle, non pour relancer un débat en sommeil.

  11. #11
    Expert éminent
    Je comprends pas trop ce que vient faire C# là dedans. Java et C# peuvent se ressembler mais ils ne sont absolument pas interchangeables, ils ont des écosystèmes tout à fait différents. On peut certainement argumenter que C# est un meilleur langage, après tout il a été conçu des années après et il a des cycles d'évolution plus courts. Ca n'en fait pas un remplaçant de java.

    A titre personnel, la question de fr1man m'intéresse beaucoup. Java 8 a apporté l'un ou l'autre des bénéfices les plus attendus du fonctionnel. Ok c'est pas pareil, les functional interfaces ne sont pas aussi poussées que les traits, on trouve sûrement plein de choses pas tout à fait à niveau. Cependant pour l'usage de tous les jours, les ajouts de java8 résolvent quand même certains des problèmes qui rendaient scala particulièrement séduisant.

  12. #12
    Modérateur

    Au delà du fait qu'il y a tout et n'importe quoi mis au même niveau dans ce top 10, je n'ai rien contre le changement, mais comme d'autres, pourquoi Scala alors que Java 8 apporte bien assez de chose dans le domaine des fonctions.
    Pour ce qui est de la simplicité du langage scala, je m'excuse pour les adeptes, mais je trouve ça incompréhensible et lourd... certes, avec moins de caractères... mais je m'en fiche de ça.

    Ça ressemble plus à un phénomène de geek... si c'est pas nouveau et inconnu du grand public, c'est de la m....
    (et ne me faites pas dire que le langage Scala n'est pas bon, je ne vois juste pas ce que ça améliore par rapport à java)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Expert éminent
    Comme souvent dit, on passe 80% de notre temps à lire et à maintenir/faire évoluer du code écrit par d'autres
    De ce fait, de mon point de vu, ce qui compte en premier lieu : c'est la clarté du code
    Et sur ce sujet, Scala n'est pas très lisible...

    Les perf sont presque secondaire (j'insiste sur le presque qui n'est pas à prendre au premier degrés)
    Les machines sont de plus en plus puissantes et il est souvent moins risqué et moins cher de changer la machine qu'optimiser le programme (avec les risques de régression et le coût du travail en France)

    Personnellement, je ne comprends pas cette "mode" du code non verbeux
    On n'est plus à limitation des 80 colonnes sur les écrans
    De même, économiser quelques Ko sur un programmes à l'économie de caractères à outrances me dépasse un peu
    Un équilibre est à trouver entre le trop verbeux inutile et l'abreviation à tout va illisible

    L'idée des langages de hauts niveaux est de se rapprocher le plus possible de la syntaxe du langage naturel
    Une bonne syntaxe doit permettre de lire un code en diagonal et d'en comprendre le fonctionnement

    Si un code est trop complexe à lire et à comprendre, c'est qu'il est mal codé

  14. #14
    Membre à l'essai
    Un collègue m'a envoyé un lien sur cette discussion, il était entrain de rigoler et ça m'a fait bien rire aussi.

    On utilise également scala sur un gros projet client-serveur.
    (La partie serveur est en scala, la partie client est en java).

    Il y a au sein de l'équipe un développeur assez moyen qui fait du scala, c'est une catastrophe, le code est illisible
    même pour un développeur expérimenté. (Je ne comprends pas cette volonté de raccourcir absolument le code
    alors qu'avec un ctrl+TAB on a la complétion automatique !)

    Le temps de compilation est également un problème important.

    Pour rigoler, j'ai présenté en réunion 5 lignes de code scala que j'ai trouvé sur le web... Les pros de scala
    ont mis 5 minutes à le comprendre en s'y mettant à plusieurs... Le même code en java est plus verbeux mais tout le monde l'a compris
    en 30s max.

    Perso, je ne mettrai pas scala sur mon CV.

  15. #15
    Membre du Club
    Je pense que vous vous trompez de raisonnement. C'est pas parce que scala permet d'écrire du code illisible qu'il faut le faire! En suivant quelques règles simples, on pond du code scala au moins aussi lisible que du java ou autre.
    En Java aussi on peut écrire du code illisible si on veut, comme n'importe quel langage, même pire que Scala. Sauf qu'en général on est assez intelligent pour ne pas le faire. En Scala c'est pareil, sauf pour certains fanboys Scala qui ne peuvent pas s'empêcher de se la péter en montrant du code Scala de moins de 10 caractères, qui certe fait le café, mais qui n'est compréhensible que par celui qui l'a écrite. A mon avis, ces gens là qui soient disant veulent promouvoir le Scala, font tout l'inverse. Il faut savoir rester humble en écrivant du code Scala, c'est comme ça qu'on pond un joli code.

  16. #16
    Expert éminent
    Citation Envoyé par nonpoluant Voir le message
    Je pense que vous vous trompez de raisonnement. C'est pas parce que scala permet d'écrire du code illisible qu'il faut le faire! En suivant quelques règles simples, on pond du code scala au moins aussi lisible que du java ou autre.
    En Java aussi on peut écrire du code illisible si on veut, comme n'importe quel langage, même pire que Scala. Sauf qu'en général on est assez intelligent pour ne pas le faire. En Scala c'est pareil, sauf pour certains fanboys Scala qui ne peuvent pas s'empêcher de se la péter en montrant du code Scala de moins de 10 caractères, qui certe fait le café, mais qui n'est compréhensible que par celui qui l'a écrite. A mon avis, ces gens là qui soient disant veulent promouvoir le Scala, font tout l'inverse. Il faut savoir rester humble en écrivant du code Scala, c'est comme ça qu'on pond un joli code.
    Le fond de ton raisonnement est juste mais je suis pas d'accord avec la conclusion. Tu peux écrire du mauvais java, tu peux écrire du bon perl ou du bon C++, tu peux écrire du bon javascript, du bon scala, du scala pédant. Tout ceci est vrai.
    Le problème vient du fait que tu vas forcément utiliser du code écrit par d'autres qui partagent plus ou moins (et souvent moins que plus) ton expérience et ta philosophie. Je suis le premier à dire sans le moindre complexe que je préfère un code de 10 lignes bien lisible qu'un one-liner que je passe 30 secondes à décortiquer, c'est clair si ça tenait qu'à moi j'utiliserai Scala comme un java amélioré en réfléchissant bien à ce que j'introduis comme problématique si j'ai recours aux concepts plus puissants de ce langage.
    Le problème c'est difficile de n'avoir affaire qu'à son code, et si le langage permet trop à chacun de faire son petit DSL pour sa librairie parce qu'il a l'impression que c'est plus expressif, au bout d'un moment ça va devenir le bordel. Et les largeurs de la syntaxe du langage autorisent cela, sinon l'encouragent directement.

  17. #17
    Membre régulier
    Citation Envoyé par _skip Voir le message
    Le fond de ton raisonnement est juste mais je suis pas d'accord avec la conclusion. Tu peux écrire du mauvais java, tu peux écrire du bon perl ou du bon C++, tu peux écrire du bon javascript, du bon scala, du scala pédant. Tout ceci est vrai.
    Le problème vient du fait que tu vas forcément utiliser du code écrit par d'autres qui partagent plus ou moins (et souvent moins que plus) ton expérience et ta philosophie. Je suis le premier à dire sans le moindre complexe que je préfère un code de 10 lignes bien lisible qu'un one-liner que je passe 30 secondes à décortiquer, c'est clair si ça tenait qu'à moi j'utiliserai Scala comme un java amélioré en réfléchissant bien à ce que j'introduis comme problématique si j'ai recours aux concepts plus puissants de ce langage.
    Le problème c'est difficile de n'avoir affaire qu'à son code, et si le langage permet trop à chacun de faire son petit DSL pour sa librairie parce qu'il a l'impression que c'est plus expressif, au bout d'un moment ça va devenir le bordel. Et les largeurs de la syntaxe du langage autorisent cela, sinon l'encouragent directement.
    Exactement, on ne pourrait mieux dire.

    Ceci dit, perso, je ne m'exprimerai plus sur scala.
    Ce langage est clairement mort : 12 ans d'existence et pas cité par les développeurs parmi les 20 langages les plus populaires.

  18. #18
    Membre confirmé
    ça veut dire quoi une "technologie prisée par les développeurs ?"

    perso, je préfèrerais une technologie prisée par les recruteurs car je veux bien apprendre scala si à la clé j'ai un emploi.