Publicité
+ Répondre à la discussion Actualité déjà publiée
Affichage des résultats 1 à 8 sur 8
  1. #1
    Expert Confirmé Sénior
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    novembre 2005
    Messages
    2 712
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : novembre 2005
    Messages : 2 712
    Points : 6 304
    Points
    6 304

    Par défaut Typesafe obtient 14M de $ pour mettre en avant Scala

    Typesafe obtient 14M de $ pour mettre en avant Scala
    Un financement destiné à accroître sa popularité


    Avec l'aide de fonds nouvellement obtenus de Shasta Ventures et Juniper Networks, Typesafe va intensifier la promotion du langage de programmation Scala dans le monde de l'entreprise.

    Selon Mark Brewer, CEO de Typesafe, Scala était surtout utilisé par les grosses applications Web telles que Twitter, LinkedIn ou Foursquare. Mais depuis environ un an, on commence à voir de plus en plus de développeurs préférer Scala à Java pour la création d'applications de gestion traditionnelles.
    Toujours selon Brewer, beaucoup d'entre eux trouveraient Scala plus léger et plus commode que Java.

    Typesafe s'engage par ailleurs à continuer d'enrichir et d'appuyer l'écosystème Scala, qui compte parmi ses middlewares le framework Akka et la solution d'accès SGBD Slick.


    source et article complet


    Scala plutôt que java, feriez-vous le saut ?
    Les java-killers sont nombreux à être apparus durant le long silence de Sun (Groovy, Xtend, Ceylon etc.), auront-ils toujours autant de sens avec les évolutions désormais plus rapides de Java ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    juillet 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2009
    Messages : 73
    Points : 258
    Points
    258

    Par défaut

    Les java-killers sont nombreux à être apparus durant le long silence de Sun (Groovy, Xtend, Ceylon etc.), auront-ils toujours autant de sens avec les évolutions désormais plus rapides de Java ?
    Je le pense: Oracle a sans doute l'ambition de donner un nouvel élan au langage, mais tant que la saincro-sainte compatibilité ascendante sera respectée je doute que la révolution tant attendue aura lieu. La preuve: l'introduction des lambda dans Java 8 a fait pas mal de déçus et a nécessité de faire un gros tour de passe-passe pour respecter cette fameuse compatibilité (je parle là des méthodes d'extension virtuelles...)

  3. #3
    Membre confirmé Avatar de Crazyfaboo
    Homme Profil pro
    Software Engineer
    Inscrit en
    août 2004
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Software Engineer

    Informations forums :
    Inscription : août 2004
    Messages : 90
    Points : 225
    Points
    225

    Par défaut

    Citation Envoyé par _skip Voir le message
    Scala plutôt que java, feriez-vous le saut ?
    J'avais déjà entendu parler de Scala et regardé un peu à quoi ça ressemblait. Maintenant je me rappelle pour quoi je n'ai pas fait le saut :
    Code Java :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    // Java:
    public class Point {
      private double x, y;
     
      public Point(double x, double y) {
        this.x = x;
        this.y = y;
      }
     
      public double x() {
        return x;
      }
     
      public double y() {
        return y;
      }
     
      public Point(double x, double y, boolean addToGrid) {
        this(x, y);
        if (addToGrid)
          grid.add(this);
      }
     
      public Point() {
        this(0.0, 0.0);
      }
     
      double distanceToPoint(Point other) {
        return distanceBetweenPoints(x, y,
          other.x, other.y);
      }
     
      private static Grid grid = new Grid();
     
      static double distanceBetweenPoints(
          double x1, double y1,
          double x2, double y2
      ) {
        double xdist = x1 - x2;
        double ydist = y1 - y2;
        return Math.sqrt(xdist * xdist + ydist * ydist);
      }
    }
    et la même en Scala:
    Code Scala :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    // Scala
    class Point(
        // adding `val` here automatically creates
        // public accessor methods named `x` and `y`
        val x: Double, val y: Double,
        addToGrid: Boolean = false
    ) {
      // import functions/vars from companion object
      import Point._
     
      if (addToGrid)
        grid.add(this)
     
      def this() {
        this(0.0, 0.0)
      }
     
      def distanceToPoint(other: Point) =
        distanceBetweenPoints(x, y, other.x, other.y)
    }
     
    object Point {
      // private/protected members shared between
      // class and companion object
      private val grid = new Grid()
     
      def distanceBetweenPoints(x1: Double, y1: Double,
          x2: Double, y2: Double) = {
        val xdist = x1 - x2
        val ydist = y1 - y2
        math.sqrt(xdist * xdist + ydist * ydist)
      }
    }
    Source: wikipedia.

    Ok c'est plus court en Scala (d'environ 25%) mais je trouve ça vraiment moins lisible.
    Evidemment, c'est une question d'habitude et il faudrait commencer par maitriser le comportement de compilation spécifique à Scala (comme la création automatique des getters ou setters), mais je trouve que le code est tout de même moins explicite (normal, moins verbeux me direz vous) avec des redondances un peu bizarres comme cette histoire d'object et de class Point. Et le coup du if (addToGrid) paumé tout seul (ie., pas dans une méthode), ça m'a bien embrouillé. ^^

    Bref, ça m'attire pas trop comme langage. D'autant plus que le code produit aura les même perfos (ou similaire) que si ça avait été code en Java. Donc non, quitte à devoir réapprendre un langage, autant en choisir un vraiment différent (python, C++, Lisp ).

    Ca reviendrait un peu à apprendre VB.NET ou Eiffel# alors qu'on est déjà un développeur confirmé en C# : aucun intérêt...

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    juillet 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2009
    Messages : 73
    Points : 258
    Points
    258

    Par défaut

    Crazyfaboo j'imagine que tu aurais tenu à peu près le même discours si tu avais programmé en C toute ta vie et qu'un beau jour tu avais regardé un morceau de code écrit dans un langage objet. J'imagine que tu te serais demandé "c'est quoi cette histoire bizarre de static, et ce this il sort d'où ?".

    Donc oui, Scala est un peu difficile à appréhender pour un programmeur Java; pas parce que c'est Scala, mais parce que c'est un langage fonctionnel (en plus d'être un langage objet) et qu'on est tout simplement pas habitué à ce paradigme. Une fois qu'on a pris le temps de bien comprendre les concepts sous-jacent (currying, fonction partiellement appliquée etc) ça va tout de suite mieux. En l’occurrence, cet object "un peu bizarre" est ce qu'on appelle un compagnon. Pour faire simple il s'agit d'un singleton associé à la classe Point. Donc c'est pas de la redondance, c'est de la complémentarité: en Scala il n'y a pas de méthode ou d'attribut static.

  5. #5
    Membre confirmé Avatar de Crazyfaboo
    Homme Profil pro
    Software Engineer
    Inscrit en
    août 2004
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Software Engineer

    Informations forums :
    Inscription : août 2004
    Messages : 90
    Points : 225
    Points
    225

    Par défaut

    Citation Envoyé par ithel
    c'est quoi cette histoire bizarre de static
    Static existe en C.
    Appliqué sur une variable globale dans un fichier, il force celle-ci à n'être accessible que depuis le fichier dans lequel elle est déclarée. Une sorte de variable globale accessible par toutes les fonctions locales quoi.

    Citation Envoyé par ithel
    fonction partiellement appliquée


    J'avais même pas remarqué que Scala était de la programmation fonctionnelle, forcément que je suis dérouté...
    Enfin vu que la dernière fois que j'ai fait de la programmation fonctionnelle, c'était avec CAML et que j'avais pas du tout accroché, je pense pas m'y m'être tout de suite à Scala non plus. ^^

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    juillet 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2009
    Messages : 73
    Points : 258
    Points
    258

    Par défaut

    Autant pour moi concernant le static en C, ça remonte à loin

    Donc oui je te le confirme: Scala est un langage qui mêle les paradigmes objet et fonctionnel.

    Ceci dit je voudrais pas non plus faire croire que Scala est réputé difficile juste parce qu'il est fonctionnel et que c'est injuste; je sais qu'il y a des critiques qui ont été adressées par des gens qui savent vraiment de quoi ils parlent en matière de théorie des langages et qui vont au delà de cet aspect.

    Bref toujours est-il que j'encourage vraiment les développeurs à y jeter un oeil: c'est une bonne opportunité pour découvrir une autre manière de programmer, c'est toujours bon à prendre.

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur Java
    Inscrit en
    février 2006
    Messages
    303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2006
    Messages : 303
    Points : 402
    Points
    402

    Par défaut

    J'aime bien le concept de scala, c'est un langage puissant.

    Je ne sais pas si je serais assez bon pour employer à bon escient les deux paradigmes, mais j'ai l'impression que ça peut ouvrir beaucoup de portes.


    Cela étant dit, je ne crois pas que je serais prêt à l'adopter, à moins qu'on me dise que je peux faire du jpa et des jsf en un claquement de doigt.

  8. #8
    Invité de passage
    Inscrit en
    septembre 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 2
    Points : 0
    Points
    0

    Par défaut

    Apprendre de nouveau un langage... bof même si ce dernier est interessant

    on évolue vers des solutions techniques simples et rapide et on nous donne un langage complexe qui n'est pas forcement justifié avec Java

    et, si nous devons le proposer chez certains de nos clients (je travaille en SSII), quel sera sa réaction ?

    Scala aura peut-etre un succes d'estime, mais pour sa pérénnité, c autre chose

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •