Developpez.com

Le Club des Développeurs et IT Pro

L'Union Européenne finance le langage Scala

Sur cinq ans, en vue de la simplification de la programmation parallèle

Le 2011-01-18 11:08:59, par Idelways, Expert éminent sénior
L'équipe de développement du langage de programmation multiparadigme et open-source Scala vient d'obtenir une subvention de 2.3 millions d'Euro sur cinq ans de la part du Conseil Européen de la Recherche, organe de l'Union Européenne.

Ces fonds permettront à l'équipe des chercheurs de l'École Polytechnique Fédérale de Lausanne (EPFL) de doubler ses effectifs pour "s'attaquer au défis de la programmation parallèle populaire", peut-on lire sur le site officiel du langage.

Les recherches financées par cette subvention se concentreront sur l'intégration des mécanismes essentiels pour offrir un modèle de programmation simple capable de résoudre les problèmes qui surgissent habituellement de la concurrence entre plusieurs processus parallèles.

Pour se faire, l'équipe compte sur la "virtualisation du langage", un concept novateur qui consiste en la construction de langages parallèles dédiés (DSL) hautement efficaces combinés à des prolongements polymorphes, hébergés en quelques sorte par un langage hôte (Scala dans ce cas)

Ce programme de recherche se fera en collaboration avec l'équipe du laboratoire « Pervasive Parallelism » de l'université de Stanford. Cette équipe intégrera quelques uns de ses langages dédiés à Scala (CUDA, OPenCL et C/MPI) en utilisant la technique des prolongements polymorphes sus-cités.

La voie académique, un modèle de financement sûr et efficace sur lequel bien d'autres langages open-source ferait bien de prendre exemple ?

Source : le site officiel du langage

Et vous ?

Êtes-vous pour ou contre le financement d'un langage de programmation open-source avec l'argent du contribuable ?
Développez-vous en Scala ? Pour quel usage et qu'en pensez-vous ?
  Discussion forum
47 commentaires
  • Firwen
    Membre expérimenté
    encore du fric parti dans un truc sans avenir ...
    Trés constructif comme réaction, on croirait entendre le vieux poivrot de comptoir du coin se lamenter sur ses impôts.

    Scala est un des langages "made in europe" les plus prometteurs, voir le plus prometteur.
    Il reprend les concepts de CAML (inférence type, pattern matching) , java (portabilité), Erlang(programmation concurrente) tout en profitant de l'intégralité du monde java existant.

    C'est tellement sans avenir, que trois types dans un garage nommé "Twitter" l'utilise dans leur mainframe et d'autres "no-name" comme Sony, Siemens, EDFT, Xerox l'utilisent aussi

    il faudrait quoi, que l'UE s'habille en T-shirt Microsoft en sponsorisant C# ? arrêtez d'être stupide pendant 5 min svp....
  • Firwen
    Membre expérimenté
    Et puis un langage seul cela ne sert pas à grand chose sans des classes, un framework
    Scala fonctionnant sur JVM, a accés à l'intégralité du monde java et ses frameworks, serveur d'applications, maven, etc...
    C'est justement ce qui fait la différence avec OCamel par exemple.

    Quant à faire de la programmation parallèle on peut faire cela en C++ cela fait des années que cela existe..
    Il y a faire et faire .
    La gestion de la prog concurrente de Scala vient de Erlang et son concept de "Actors", file d'attente, messages, etc...
    Beaucoup s'accordent a dire que c'est de loin la meilleur chose existante en Erlang d'ailleurs.

    Le système permet de faire de la communication inter-threads en quelques lignes seulement :
    http://www.scala-lang.org/node/242
  • Rams7s
    Membre éclairé
    Envoyé par Mat.M

    je suis entièrement d'accord avec Stardeath je ne vois vraiment pas l'intérêt de financer un énième langage informatique ce sont des investissements qui risquent de partir en fumée.
    [...]
    Si l'UE se lance dans un tel projet il va falloir financer des équipes pour un succès hypothétique.
    C'est vraiment pas le moment alors que les caisses des états à droite et à gauche sont vides

    Superbe. Ca sert a rien non plus de financer les facs de psycho, d'histoire de l'art, etc. La recherche fondamentale a la trappe aussi. Tout ce qui ne sert pas directement aujourd'hui itou !

    Non mais serieux.
  • regwb
    Membre à l'essai
    C'est pas exactement un financement du langage Scala, c'est juste qu'ils ont gagné un financement pour de la recherche sur la programmation parallèle. Je vois pas le problème, ça arrive tout le temps ce genre de financement pour de la recherche. Est-ce vraiment plus inutile que les financements pour mener une étude sur l'influence de la couleur de maillot des équipes de foot?

    Sinon le langage est loin d'être sans avenir comme dit plus haut, il a été adopté par Tweeter entre autre. Pour en avoir fait pas mal, il a beaucoup de bons et modernes concepts, il est très élégant, et il s'intéropère parfaitement avec Java pour avoir accès à l'API complète. Son principal défaut selon moi c'est d'être bien trop complexe, et d'avoir un peu trop de fonctionnalités différentes.
  • TropMDR
    Membre éprouvé
    J'ai toujours une fascination profonde pour les gens qui tiennent des propos comme

    Envoyé par stardeath
    encore du fric parti dans un truc sans avenir ...
    ou
    Envoyé par Mat.M
    ce sont des investissements qui risquent de partir en fumée.
    "Il y a un risque que ça ne serve à rien, donc il ne faut surtout pas s'y atteler". Je me demande toujours quelle aurait été leur réaction face à des mecs qui ont passé des heures à la fin du 19ème siècle devant des fours de potiers à relevé le spectre de la lumière sortante. "Mais ça sert à rien, il y a des gens qui ont faim, on pourrait utiliser ces fours pour autre chose". Et puis une fois la jolie courbe obtenue, qu'est ce qu'ils auraient dit au pauvre Plank qui tentait de trouver la formule derrière la courbe ? Est ce qu'ils l'auraient empêché de continuer sur cette voie, juste parce que bon, a priori ça ne sert à rien ?

    Et puis les mêmes, face à un Michelson qui tente de tourner son interféromètre pour mesure la différence dans la vitesse de la lumière due à la rotation de la terre. Ils l'auraient sans doute aussi traité de gaspilleur, tout comme le pauvre employé de l'office des brevets de Bernes qui perdait son temps à se poser des questions soit disant profondes sur les notions d'écoulement du temps.

    Vous allez bien sûr me dire que la programmation parallèle ou concurrente en Scala est sans commune mesure avec la mécanique quantique ou la relativité, qu'elle soit générale ou restreinte. Mmmh, sans doute pas, mais il est quand même probablement judicieux de regarder en quelle mesure l'informatique touche nos vies, et quels impact elle a sur notre monde. Je n'ai pas l'impression que ce soit un sujet si négligeable.

    Et puis après on a des choses comme
    Envoyé par stardeath
    c'est surtout balancer des millions dans un truc qui est à l'heure actuelle utilisé par 3 personnes et demi.
    Parce qu'il est bien connu qu'il ne faut développer que les projets déjà développés, sinon c'est absurde. Mmmh, wait!

    Ou encore
    Envoyé par Mat.M

    Quant à faire de la programmation parallèle on peut faire cela en C++ cela fait des années que cela existe..
    J'imagine que face à un Ritchie ou un Thompson, tu leur aurais expliqué qu'un nouveau langage pour faire de la programmation système, c'est débile, ça fait bien longtemps qu'on est parfaitement capable de faire ça en assembleur, et que ça fait des années que ça existe.

    Ensuite d'un point de vue plus technique, la concurrence en C++ est en gros exclusivement basée sur mémoire partagée/lock. C'est un paradigme connu pour sa grande complexité. La majorité des programmeurs ne comprennent pas ce qu'il se passe. Par exemple si tu demandes à plein de gens les valeurs possibles pour a et b quand tu executes ces deux codes en parallèle (x et y sont globales, a locale au thread 1 et b locale au thread 2, toute les variables valent initialement 0)
    Code :
    1
    2
    3
    x = 1
    a = y
    et
    Code :
    1
    2
    3
    y = 1
    b = x
    La majorité te dira que b1 == 0 et b2 == 0 n'est pas possible. Pourtant si (en tout cas sur x86), ça arrive.

    Quand on regarde le modèle mémoire pour le C++ concurrent proposé par la norme C++0x, se dire qu'on "sait faire de la programmation concurrente depuis longtemps en C++", c'est quand même une vaste blague.

    Et même ceux qui "savent faire", ils arrivent à synchroniser 2 threads, peut être même 4, allez, 8 éventuellement. Mais si un jour on a 1024 coeurs, tous hyperthreadé, ils arriveront encore à synchroniser leur 2000 threads à coup de locks ? J'ai comme un doute. Il est donc indispensable de faire des progrès dans le domaine de la programmation concurrente, et pour ça la programmation fonctionnelle, avec des structures de données imutable et des "calculs" de première classe offre de nombreux espoirs.

    Et puis bon, après, on finit bien sûr avec une grosse bonne dose de populisme:
    Envoyé par Mat.M
    Au lieu de financer ce genre de chose on ferait mieux d'aider les gens qui sont démunis en France
    Parce qu'il est bien connu qu'en période de "crise" (en même temps, on est en "crise" 75% du temps), il faut arrêter de regarder vers l'avenir, il ne faut plus gérer que les problèmes immédiats. C'est évidement comme ça qu'on évite la crise d'après...
  • Firwen
    Membre expérimenté
    Ok, mais ils l'utilisent pour faire quoi ? Est ce que c'est parce que un mec s'est levé un jour en disant tiens et si on developpait en scala ou est ce qu'il y avait un véritable besoin, une véritable impossibilité de faire autrement ? Parce que des mecs qui vont te maintenir une appli développée en scala, il y en a pas des masses.
    Voilà qui devrait répondre à ta question : http://www.scala-lang.org/node/1658

    Cordialement
  • Thorna
    Membre éprouvé
    Je suis une des 3 et demi personnes qui utilis(ai)ent Scala et s'ils consacrent une partie de ces sous à faire un IDE potable, je m'y remets !
  • notia
    Membre confirmé
    Envoyé par Firwen

    C'est tellement sans avenir, que trois types dans un garage nommé "Twitter" l'utilise dans leur mainframe et d'autres "no-name" comme Sony, Siemens, EDFT, Xerox l'utilisent aussi
    Ok, mais ils l'utilisent pour faire quoi ? Est ce que c'est parce que un mec s'est levé un jour en disant tiens et si on developpait en scala ou est ce qu'il y avait un véritable besoin, une véritable impossibilité de faire autrement ? Parce que des mecs qui vont te maintenir une appli développée en scala, il y en a pas des masses.
  • Nudger
    En attente de confirmation mail
    Envoyé par jacques antoine
    Depuis quand la Suisse fait partie de l'Union Européenne?
    J'ai dû rater un épisode...
    La Suisse ne fait pas partie de l'UE. Mais elle contribue à pas mal de budgets de recherche européens (et pas que de recherche d'ailleurs).
    Par ailleurs, à l'EPFL il doit y avoir plus de 50% des élèves qui sont citoyens de l'union européenne.
  • benjamalin
    Membre à l'essai
    J'aurais aimé voir les commentaire si on avait eu le même type d'annonce il y a une dizaine d'année sur un des langages tres populaires aujourd'hui (java ou C#)

    En tout cas, vous êtes tous bien clairvoyant pour savoir que ce langage n'a pas d'avenir.

    Même si je ne suis pas un grand fan de scala car pas assez fonctionnel (Business car le mot a un double sens en français) à mon gout, pour autant je reconnais que certains de mes codes réécrit dans ce language (scheduler, load balancer,...) aurait pu être des petits bijoux alors qu'il ne sont que boucles et trucs techniques à la con.