Typesafe obtient 14M de $ pour promouvoir Scala

Les rubriques (actu, forums, tutos) de Développez
Réseaux sociaux




Sur le même sujet
Le , par _skip, Expert Confirmé Sénior
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 ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de ithel ithel
http://www.developpez.com
Membre confirmé
le 30/08/2012 11:40
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...)
Avatar de Crazyfaboo Crazyfaboo
http://www.developpez.com
Membre confirmé
le 30/08/2012 14:14
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...
Avatar de ithel ithel
http://www.developpez.com
Membre confirmé
le 30/08/2012 14:38
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.
Avatar de Crazyfaboo Crazyfaboo
http://www.developpez.com
Membre confirmé
le 30/08/2012 14:43
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. ^^
Avatar de ithel ithel
http://www.developpez.com
Membre confirmé
le 30/08/2012 14:55
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.
Avatar de tralloc tralloc
http://www.developpez.com
Membre éprouvé
le 30/08/2012 16:13
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.
Avatar de jiacomino jiacomino
http://www.developpez.com
Invité de passage
le 06/09/2012 14:32
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
Offres d'emploi IT
INGENIEUR EN DEVELOPPEMENT C H/F
CDI
JOB LINK - Nord Pas-de-Calais - villeneuve d'ascq
Parue le 17/12/2014
Expert j2ee liferay (h/f)
CDI
CTS - Pays de la Loire - Nantes (44000)
Parue le 04/12/2014
Architecte mobility / collab h/f
CDI
Société Générale France - Ile de France - Paris-La-Défense
Parue le 03/12/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula