IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Actualités Discussion :

Typesafe obtient 14M de $ pour mettre en avant Scala

  1. #1
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    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 898
    Points : 7 752
    Points
    7 752
    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 averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2009
    Messages
    81
    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 : 81
    Points : 348
    Points
    348
    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 actif Avatar de Crazyfaboo
    Homme Profil pro
    Software Engineer
    Inscrit en
    Août 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Software Engineer

    Informations forums :
    Inscription : Août 2004
    Messages : 89
    Points : 244
    Points
    244
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2009
    Messages
    81
    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 : 81
    Points : 348
    Points
    348
    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 actif Avatar de Crazyfaboo
    Homme Profil pro
    Software Engineer
    Inscrit en
    Août 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Software Engineer

    Informations forums :
    Inscription : Août 2004
    Messages : 89
    Points : 244
    Points
    244
    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 averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2009
    Messages
    81
    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 : 81
    Points : 348
    Points
    348
    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 averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

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

    Informations forums :
    Inscription : Février 2006
    Messages : 380
    Points : 314
    Points
    314
    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
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3
    Points : 2
    Points
    2
    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

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/12/2011, 05h51
  2. Réponses: 7
    Dernier message: 02/03/2010, 18h23
  3. Réponses: 0
    Dernier message: 09/10/2008, 14h45
  4. Réponses: 2
    Dernier message: 08/08/2003, 17h30
  5. Comment faire pour mettre l'ecran en veille ?
    Par March' dans le forum MFC
    Réponses: 6
    Dernier message: 29/08/2002, 14h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo