JAVA

turnmaryΛογισμικό & κατασκευή λογ/κού

5 Ιουλ 2012 (πριν από 5 χρόνια και 1 μήνα)

477 εμφανίσεις

data
news
SPECIAL
SUPPLÉMENT À DATA NEWS
DU 30 OCTOBRE 2009
JVM PARLE TOUJOURS PLUS DE LANGUES
JAVA
JAVA FX
JRUBY
JYTHON
SCALA
CLOJURE
COBOL
GROOVY
CO
B
OL
SC
AL
A
CLOJUR
E
J
AVA FX
J
RUBY
J
YTH
O
N
G
R
OO
V
Y
TOUT SUR
DEVOXX
2009
PROOF PDF
30/10/2009 •
DATA NEWS
SPECIAL
3
E
st-ce la bière belge, le...
charme des organisateurs,
le public paneuropéen avi-
de d’apprendre? Ou une
combinaison de tout cela et d’autres
facteurs encore? Quoi qu’il en soit,
tous les ténors du secteur Java pren-
dront la parole à Devoxx 2009. On
y retrouvera ainsi non seulement
une fois encore James Gosling,
mais aussi Alex Buckley (respon-
sable du langage Java et des VM
specs), Brian Goetz (concurren-
cy & Java), Dick Wall (membre de
JavaPosse.com), Joseph Darcy
(OpenJDK 6 et JDK7), Mark Rein-
hold (Sun principal engineer), Ro-
berto Chinnici (spec lead JavaEE6),
et d’autres. Il n’est pas exagéré d’af-
firmer que cette année, il n’y a qu’à
JavaOne qu’on pouvait rencontrer
davantage d’orateurs Java. Le lan-
gage et la plate-forme seront en
tout cas abordés sous toutes les
coutures (ME, SE, EE et JavaFX).
Mais il y aura tout autant d’ex-
perts d’Adobe (e.a. Chet Haase,
Flex SDK), d’IBM (Doug Tidwell,
standards Web 2.0; Holly Cummins,
monitoring & diagnostic tools) et
– à ne pas dédaigner dans l’optique
de la reprise imminente – d’Oracle
(Cameron Purdy, president of de-
velopment). Et c’est sans compter
avec les Belges, qui ne sont pas en
reste face à leurs collègues étran-
gers (Christophe Herreman, Flex
consultant chez Cronos; le prof.
Eric Steegmans, KULeuven; Tom
Baeyens, JBoss). A noter aussi la
présence d’une figure particulière:
Ivar Jacobson, un orateur enthou-
siasmant qui peut être considéré à
juste titre comme l’un des pères du
phénomène des composants. Sans
oublier son ouvrage sur l’Unified
Modeling Language (UML).
Réparti sur deux journées d’uni-
versité et trois journées de confé-
rences, Devoxx offrira dès lors une
vision panoramique sur le langage
Java, la plate-forme Java et les struc-
tures d’encadrement. Pour ce der-
nier point, cela se reflète dans la
présence de représentants de
SpringSource et d’Apache notam-
ment.
La force d’attraction de cette so-
lide brochette d’orateurs et d’ex-
perts est démontrée par le nombre
de préinscriptions à Devoxx en pro-
venance de quasiment tous les pays
européens et d’autres.
La liste complète des orateurs se
trouve sur le site de Devoxx
(www.devoxx.com), de même que
toute autre information utile. En
fait, il n’y manque plus, au moment
de rédiger ces lignes, qu’un élé-
ment important: le titre du film
du jeudi soir...
#
JAVA SPECIAL
Malgré le changement d’appellation en Devoxx, l’événement aura
toujours pour cadre le complexe cinématographique anversois
Metropolis et continuera de présenter à ses visiteurs un véritable tour
d’horizon du monde Java.
#
Guy Kindermans
DEVOXX
B
ien sûr, les nostalgiques
parmi les lecteurs se lan-
guiront peut-être de Ja-
vaPolis, qui offrait un
contrepoids de valeur au grand Ja-
vaOne sur le vieux continent (*).
Mais Stephan Janssen, membre de
BeJUG, voit les choses sous un
autre angle. “En fait, nous devons
savoir gré à Sun de nous avoir fait
changer de nom de manière à ce
que ce dernier n’inclue plus Java.
Devoxx s’orientera davantage sur
les développeurs avec une multi-
tude de langages”, explique-t-il.
JVM par-dessus tout
Manifestement car aujourd’hui,
plus de 200 langages, dont Scala,
tournent déjà sur la Java Virtual Ma-
chine. Un langage qui a déjà méri-
té ses galons, notamment pour le
développement de sites web avec
de solides possibilités de croissan-
ce. Ainsi, le serveur Twitter a été
conçu en Ruby on Rails, mais en-
suite réécrit en Scala. Ou un lan-
gage tel que Fan, un autre langa-
ge pour la programmation
fonctionnelle, avec des caractéris-
tiques empruntées à C#, Java, Sca-
la, Ruby et Erlang. Le fil rouge de
Devoxx est ainsi la Java Virtual Ma-
chine (JVM) et moins Java même.
Cela permet un mariage et une pol-
linisation croisée entre toute une
série de langages et d’éléments, se-
lon Janssen, ainsi qu’une grande li-
berté pour inviter des personnes.
“Comme un Christophe Herreman
qui a une ActionScript library pour
le framework Spring, de sorte qu’il
est possible de développer des ap-
plications Flex à la mode Spring.”
Devoxx prévoit donc aussi une mar-
ge tant pour le JavaFX de Sun que
pour Flash et Flex d’Adobe et Mi-
crosoft Silverlight...
D’ailleurs, un aussi large spectre
d’informations avancées peut aussi
impliquer un risque. Ainsi, Janssen
a jadis entendu un Français qui fai-
sait remarquer qu’après Devoxx,
il se sentait comme un enfant le lun-
di après avoir passé le week-end à
EuroDisney. Vous avez tellement
vu et tellement appris que vous de-
venez hyperactif et que vous voulez
tout essayer en même temps. Ce
qui ne fait d’ailleurs que renforcer
le danger que les entreprises soient
de plus en plus souvent confrontées
à une jungle de frameworks, lan-
gages et autres. Même dans le pe-
tit groupe de développement de Par-
leys, Janssen reconnaît qu’il est déjà
fait usage de deux versions diffé-
rentes de Flash frameworks (même
si ce n’est qu’à des fins de test). Mais
l’offre importante rend une telle
conférence très agréable, poursuit
Janssen, “c’est comme lâcher un en-
fant dans un magasin de bonbons”.
Le logo exubérant et assez psy-
chédélique de l’édition 2009 doit en-
core mieux souligner cette grande
variété de choix et de sujets.
Au demeurant, Devoxx (et avant
cela JavaPolis) peut aussi aider à ré-
duire ce risque de jungle. En effet,
des séries complètes de sessions
de l’événement (jusqu’en 2006 in-
clus) se trouvent désormais en ligne,
de sorte que ce matériel peut être
utilisé pour former (perfectionner)
les gens d’une entreprise en matière
de frameworks ou de langages.
Sun/Oracle
L’édition 2009 de Devoxx n’échap-
pera bien sûr pas aux conséquences
de la reprise de Sun par Oracle.
Normalement, la reprise aurait déjà
dû être conclue avant Devoxx, mais
l’Europe a mis le holà. Si nous ajou-
tons à cela les restrictions au niveau
des budgets (de déplacement), cela
a aussi causé des problèmes quant
à la disponibilité d’orateurs. Cela a
en tout cas fait en sorte que le key-
note du premier jour de la confé-
rence sera constitué en fait de trois
présentations de respectivement
Oracle, Sun et Adobe. Le père de
Java James Gosling a promis d’être
présent pour assister à la BOF du
groupe d’utilisateurs de Java (alias
la session Bird Of a Feather, où
les personnes présentes pourront
librement échanger leurs opinions).
Le deuxième jour, le keynote sera
partagé par Robert Martin, avec un
exposé sur le clean code, et par Ivar
Jacobson, le père de l’architecture
des composants et excellent conteur.
Deux musts, sans exagérer !
Outre les langages et les frame-
works, Devoxx se penchera aussi
sur l’informatique en nuage, qui est
incontestablement un point essen-
tiel sur la liste des évolutions ICT à
suivre. Différents aspects de l’in-
formatique en nuages seront abor-
dés, et les visiteurs pourront po-
ser leurs questions sur les éventuels
problèmes. Ainsi, Janssen a beau-
coup de questions à poser sur l’in-
formatique en nuage si un Goo-
gleApps peut lâcher prise pendant
des heures. En effet, que se passe-
ra-t-il si même les Google de cette
terre ne parviennent pas à offrir des
garanties en béton en matière de
disponibilité? De plus, des mé-
thodes de développement figure-
ront également au programme cet-
te année, si ce n’est que l’offre de
sessions en matière de sécurité
sera de nouveau quasi inexistan-
te.
Succès malgré la crise
Aujourd’hui, Devoxx garde mal-
gré la crise un puissant pouvoir
d’attraction au-delà de nos fron-
tières, avec des représentants ve-
nant de presque tous les pays eu-
ropéens et de plus loin encore. Un
succès que Janssen attribue au prix
démocratique, associé à l’offre so-
lide d’orateurs!
#
(*) Bientôt peut-être même sans
contrepoids aux États-Unis car au
moment d’écrire cet article, une ru-
meur (non avérée) circulait, disant
que JavaOne sera supprimé en tant
qu’événement indépendant. Certains
sujets devraient bien sûr encore être
traités à l’occasion de l’événement
OpenWorld d’Oracle.
JAVA SPECIAL
Le changement de nom de JavaPolis en Devoxx ne veut pas dire que Java a été mis à la porte, mais
bien que la porte a été ouverte à un large spectre d’évolutions dans le monde des développeurs.
#
Guy Kindermans
Un véritable tour
d’horizon Java
La JVM mène la danse
2 DATA NEWS
SPECIAL
• 30/10/2009
DEVOXX

















Interesse?
Stuur je cv meteen naar
sylvie.erb@capgemini.com
Of nog sneller: vul je gegevens in op
www.be.capgemini.com
Rollen en functies waar we naar zoeken, vind je op
www.be.capgemini.com
Als je kiest voor jouw succes,
kies dan voor ons team.
T O G E T H E R. F R E E Y O U R E N E R G I E S
®
®
Op zoek naar een topteam? Klim dan aan boord.

Capgemini Belgium helpt
bedrijven effi ciënter te werken. We bedenken oplossingen voor de meest uitdagende problemen en ontwikkelen de juiste technolog
ie om ze uit te voeren.
Capgemini Belgium zoekt
daarom professionele teamplayers op het vlak van consulting, technologie en outsourcing. Ervaren enthousiastelingen die al fl i
nk wat watertjes doorzwommen hebben en hun
kwaliteiten bewijzen met stevige kwalifi caties.
Capgemini Belgium biedt
je een innoverende werkomgeving van wereldformaat, waar ruimte is voor boeiende relaties met topklanten uit interessante secto
ren.
PROOF PDF
4 DATA NEWS
SPECIAL
• 30/10/2009
P
our l’oeuvre de Stephan
Janssen, il semble que
2010 sera une année char-
nière. Parleys est devenu
un environnement où les présenta-
tions sous tous leurs aspects – ima-
ge, son, texte – peuvent être pro-
posées de manière flexible à un large
public. La version 3 – qui est déjà
en bêta depuis 6 mois et à laquelle
“nous travaillons jour et nuit” en vue
de Devoxx – continue sur cet élan,
avec entre autres la possibilité de
créer des espaces dans lesquels des
locataires peuvent eux-mêmes don-
ner forme à leur contenu et leur uti-
lisation. Dans ces espaces, des ca-
naux seront prévus, dont le contenu
pourra être consommé en pay per
view, par abonnement, sur invita-
tion ou entièrement gratuitement.
En outre, Parleys s’appuie aussi
sur les technologies Flex/Air d’Ado-
be, ce qui permet de télécharger les
présentations et de les visionner
hors ligne, également de manière
non séquentielle (donc pas seule-
ment comme un courant du début
à la fin). Cela vaut pour les systèmes
sous Windows, Macos et Linux.
De plus, Janssen assure que le
module Publisher permet à tous les
fournisseurs d’informations d’adap-
ter les présentations de façon par-
ticulièrement rapide et facile: “Le
module est à la pointe du progrès.
Ainsi, vous pouvez faire subir un
traitement automatique ultérieur en
cinq minutes à des présentations
d’une heure.” Du matériel vidéo en-
codé (dans différentes résolutions)
peut aussi être directement édité.
À partir de Flash 10.1, il sera éga-
lement possible d’utiliser des mi-
crophones intégrés pour présen-
ter le texte sur le système d’un
utilisateur final (on travaille actuel-
lement sur la base d’un enregistre-
ment de la présentation). Cette der-
nière possibilité permettra entre
autres de créer facilement du ma-
tériel (et presqu’en temps réel). On
pense ici à des sessions de dé-
monstration, des informations sur
l’immobilier, etc.
Année charnière
Pour Parleys, il semble que ce
sera aussi une année charnière sur
le plan professionnel. Après
quelques années de développement
par quatre personnes (dont un Rus-
se de Saint-Pétersbourg), la version
3 offre désormais aussi plusieurs
possibilités pour les revenus. Ain-
si, les organisations et les entre-
prises peuvent, dans leurs espaces,
proposer ou non des canaux de paie-
ment. À cette fin, Parleys peut res-
pectivement demander un loyer ou
obtenir une partie des revenus.
Ce qui est important, c’est que
Devoxx a amplement démontré le
caractère opérationnel de Parleys.
Ainsi, Devoxx 2008 a accueilli
quelque 3.000 visiteurs, mais cet-
te édition a déjà rapporté à Parleys
plus de 500.000 visiteurs uniques.
La présentation de Bill Venners
sur the feel of scala a été visionnée
44.813 fois. De plus, un grand
nombre de groupes d’utilisateurs
de Java font déjà appel à Parleys
(ou envisagent de le faire), en plus
d’autres événements tels que Ja-
zoon (l’événement Java à Zurich).
En outre, Janssen observe un in-
térêt croissant de la part des en-
treprises, et des négociations sont
notamment déjà en cours avec des
entreprises en Allemagne. En outre,
Parleys est le type de service qu’un
ISP ou un opérateur en télécom-
munications pourrait aussi propo-
ser.
Pour Stephan Janssen et ses dé-
veloppeurs, 2010 pourrait donc être
une année très chargée, bien que
Janssen ait jadis eu l’intention de
calmer le jeu... “Oui, dit-il en riant,
mais je ne dois plus non plus faire
la file! Sauf peut-être me glisser der-
rière mon épouse à la machine à
café. Mais au moins, mon fils me
reconnaît maintenant!”
#
JAVA SPECIAL
La présentation d’une nouvelle version de Parleys lors de Devoxx est
devenue une tradition. Place cette année à la version 3 de cette solution
d’e-learning RIA.
#
Guy Kindermans
DEVOXX
Une année
charnière
pour Parleys
STEPHAN JANSSEN:“Parleys est
le type de service qu’un ISP ou
un opérateur en télécommunications
pourrait aussi proposer.”
BEJUG,
UN NOUVEL
ENTRAIN
Le Belgian Java User Group,
alias BeJUG, peut certes mar-
quer des points avec Devoxx
(comme avec son prédéces-
seur JavaPolis), mais c’est un
événement qui a pesé sur le
fonctionnement normal du
groupe d’utilisateurs. Lors de
Devoxx 2008, un fonctionne-
ment modernisé avec plus de
réunions en plus d’endroits
avait été annoncé, et cette
promesse a bien été tenue au
cours de l’année écoulée.
En tant que membre, on peut
aujourd’hui assister tous les
quatorze jours à une réunion
du BeJUG, alternativement
dans l’une des cinq com-
munes où se tiennent de
telles assemblées (en l’oc-
currence Gand, Anvers, Lou-
vain, Louvain-la-Neuve et Na-
mur). De 19h00 à 21h00, les
réunions attirent régulière-
ment de 30 à 70 personnes,
avec chaque fois un sujet Ja-
va ou y afférent. Et avec un
public interactif, de surcroît.
“Nous accueillons chaque se-
maine de nouveaux
membres, explique Stephan
Janssen. Parallèlement, nous
préparons aussi une lettre
d’information avec ACA com-
me sponsor.” Janssen est as-
surément fier quand il fait re-
marquer que la majorité des
orateurs sont aussi des
Belges! Actuellement, envi-
ron 25 entreprises et 200 per-
sonnes sont membres du Be-
JUG.
Le lien avec le BeJUG n’est
d’ailleurs pas la seule rela-
tion avec les groupes d’utili-
sateurs. Pour cette édition de
l’événement consacré aux
développeurs, plus de 50
groupes d’utilisateurs Java se
sont en effet déjà associés à
Devoxx. Ce regain d’enthou-
siasme semble même dé-
passer les frontières du pays
car après avoir visité Devoxx
l’année dernière, un groupe
d’utilisateurs a été créé à Pa-
ris, et une dizaine d’autres ont
également vu le jour dans le
reste de la France.
PROOF PDF
30/10/2009 •
DATA NEWS
SPECIAL
7
Steegmans, qui aimerait peut-être
pouvoir d’abord expérimenter un
peu plus.
Java, en fin de vie?
Si Java a plus de difficultés à
s’adapter aux besoins et attentes
spécifiques dans des environne-
ments dynamiques et distribués,
le langage est-il dans ce cas en
fin de vie? Java a en effet déjà souf-
flé ses 15 bougies ...
“Le battage autour de Java a [en
effet] pris fin, répond succincte-
ment Steegmans. L’accent se por-
te donc plus sur les machines vir-
tuelles (VM) de Java et C#, et les
langages de programmation qui
accompagnent ces machines vir-
tuelles. Ainsi, Scala tourne sur la
VM de Java. Dans cinq ans, la part
de marché pourra être plus im-
portante par rapport à Java et C#.
Les VM sont bonnes et ça ne pose
pas de gros problème de passer
d’un langage à l’autre.”
Bref, les entreprises doivent
consacrer plus d’attention aux VM
car ne sont-ce pas elles qui forment
la vraie colonne vertébrale? “Oui!
Et cela va arriver de plus en plus.
Les VM deviendront de plus en
plus dominantes, avec des projets
qui, outre Java, utilisent aussi
d’autres langages, tandis que la vi-
tesse d’exécution va encore aug-
menter.” Une opinion qui cadre
d’ailleurs aussi parfaitement avec
l’évolution vers plus de virtuali-
sation d’environnements et une at-
tention croissance pour l’informa-
tique en nuages, respectivement
une meilleure exploitation des dé-
veloppements matériels tels que
les processeurs multicoeurs.
Un développement
plus efficace
Eric Steegmans et ses collabo-
rateurs se penchent aussi sur
la question pour accroître la pro-
ductivité des développeurs, en
cherchant notamment des mé-
thodes pour des approches plus
centrées sur le modèle. Il garde au
demeurant un regard sobre sur l’af-
faire. Des idées surgissent toujours
qui, après une première phase d’en-
thousiasme, retombent mollement.
Ainsi, nous avons eu l’aspect pro-
grammation, une approche qui vi-
sait une plus grande modularité
des solutions en démontant des
programmes en concerns (do-
maines de fonctionnalité cohé-
rents). Nous avons également eu
des prototypes de langage tels que
AspectJ, mais “cet enthousiasme
est lui aussi retombé, pense per-
sonnellement Steegmans. De nou-
velles idées surgiront toujours et
si elles aboutissent, ce sera véri-
tablement un énorme progrès. En
coulisses, il est clair que ça ne fonc-
tionne pas. Mais ça réveille tout le
monde, ça incite à progresser, par
petites étapes.” En effet, une mé-
thode ou un langage de program-
mation qui “fait grimper la pro-
ductivité de plus de 50%, ça n’existe
pas. Si un langage tel que Java per-
met de programmer plus rapide-
ment ou d’obtenir une producti-
vité accrue, les défis des projets
augmentent eux aussi. Quelques
pour cent par an d’augmentation
de la productivité, ce serait déjà
beaucoup”, dit-il modestement.
Non pas que c’était différent
avant car même le passage d’As-
sembler à un langage supérieur
comme Fortran, par exemple, n’a
pas non plus représenté un pro-
grès si gigantesque. On note plu-
tôt au fil de l’histoire de l’ICT plu-
sieurs tournants qui ont engendré
de profonds changements comme
“la programmation structurée, les
modules, les types de données abs-
traits, l’orientation vers l’objet, mais
c’est plutôt une évolution”.
Quant à savoir s’il s’agit de la
quête éternelle du saint graal,
Steegmans accueille la question
avec le sourire et observe que “c’est
chouette!” À la KULeuven, d’autres
groupes se penchent d’ailleurs aus-
si sur certains aspects du déve-
loppement de logiciels, notamment
en vue d’accroître la sécurité, d’une
logique inhérente correcte, de tran-
sactions dans des systèmes dis-
tribués, etc. Des aspects pour les-
quels “un support dans le langage
s’impose”, explique Steegmans.
“Des cadres et autres choses de
ce genre sont des technologies dif-
ficiles à maîtriser et ne s’harmo-
nisent pas toujours correctement”,
affirme-t-il, en plus d’éventuels pro-
blèmes avec les lock-in et des pro-
blèmes d’héritage. Il fait ici réfé-
rence aux grandes différences
entre la première version d’EJB
(Enterprise Java Beans) et la ver-
sion actuelle, EJB3.
Post-Java
Java en tant que langage n’est
pas mort, mais Steegmans n’attend
plus de grands changements. “Ge-
nerics a été le dernier ajout, avec
ici et là quelques petites finitions.”
C’est plutôt le tour des nouvelles
technologies et des nouveaux lan-
gages “et ça ne durera plus long-
temps”, pense Steegmans.
Mais quel langage est-il défini
par qui? “C’est une question de bon
concept et de bon marketing. Vous
devez effectivement convaincre les
gens d’écrire dans ce langage! Java
y est parvenu, parce que Sun a of-
fert des outils et un support à cet-
te fin. Cela a par exemple échoué
avec Eiffel, bien que du point de
vue académique, il s’agissait d’un
meilleur langage. Mais ça a mal
tourné avec le marketing.” Concrè-
tement, cela veut dire qu’il est né-
cessaire de créer rapidement une
grande communauté, disons un
grand groupe d’utilisateurs et de
concepteurs, et d’offrir un support
dans des environnements (com-
me par exemple Eclipse). “En
outre, le langage doit aussi être in-
dépendant de la plate-forme”, af-
firme Steegmans.
Scala semble aujourd’hui être le
chef de file favori, déjà rien que
parce que le langage réunit deux
mondes de programmation itéra-
tif/OO et fondamental. “Ce n’est
pas optimal, mais bon”, estime
Steegmans. Un langage comme
Haskell est une nouvelle fois pu-
rement fonctionnel et n’aura peut-
être pas autant de succès que Sca-
la. Pourtant, Steegmans ne pense
pas que Scala prendra la succes-
sion, car sinon “cela aurait déjà dû
avoir lieu”, dit-il. Toute l’expérience
acquise et les nouvelles notions se-
ront plutôt réunies dans un nou-
veau langage!
#
6 DATA NEWS
SPECIAL
• 30/10/2009
L
e monde des langages de
programmation n’est ni
quelque chose de rigide,
ni d’inerte, et nous assis-
tons encore aujourd’hui à une re-
cherche active de nouveaux
concepts et de nouvelles ap-
proches. Il peut s’agir de l’œuvre
d’individus passionnés, mais aus-
si de recherches continues dans
les universités. Ainsi, le professeur
Eric Steegmans de la KULeuven
dirige dans le département
sciences informatiques un groupe
de recherche (SOM – Software De-
velopment Methodology) qui a
pour but de “développer de nou-
veaux concepts pour améliorer les
langages de programmation”. Ces
dernières années, des étudiants en
doctorat ont pu, sous sa direction,
présenter leurs résultats lors d’émi-
nents congrès, comme à l’occasion
du fameux OOPSLA (Object-Orien-
ted Programming, Systems, Lan-
guages and Applications – depuis
1986 l’éminente conférence OO).
Inspirant
Se pose toujours la question de
savoir si ces nouveaux concepts
trouvent aussi leur place dans les
langages existants. “Pas tout de
suite, observe Eric Steegmans. Il
s’agit certes de concepts pour des
langages existants, mais nous ob-
servons bien sûr aussi une in-
fluence et un impact sur de nou-
veaux langages de programma-
tion.” Ainsi, quelque chose ne peut
peut-être pas émerger en Java, mais
bien dans de nouveaux venus com-
me Ruby ou Scala, par exemple.
Ces langages sont d’abord utilisés
par des personnes dans le mon-
de de la recherche, pour ensuite
faire leurs preuves dans l’indus-
trie. Bref, ce ne seront peut-être
pas d’emblée Java ou C# qui intè-
greront les nouveaux concepts,
parce qu’ils sont solidement an-
crés dans plusieurs concepts de
base de rétrocompatibilité.
La voie d’une JSR – une Java Spe-
cification Request, la façon dont
les demandes de nouveaux élé-
ments sont formulées dans Java
– n’est pas non plus évidente pour
les nouveaux concepts. Même un
concept tel que closures – jadis
l’objet d’une JSR formulée par le
groupe belge d’utilisateurs de Java
BeJUG – a semé beaucoup de dis-
cordes avant d’être accepté dans
Java. Et puis, closures est un
concept qui date déjà des années
septante et quatre-vingts, de lan-
gages tels que Lisp et SmallTalk,
observe froidement Steegmans:
“Si c’est déjà difficile pour des
concepts bien établis, qu’est-ce que
ce doit être pour les nouveaux? Les
closures sont bien repris depuis le
début dans Scala et cela ne pose
donc aucun problème.” Cela consti-
tue au demeurant une partie du
message de la présentation de
Steegman à propos de generics
lors de la prochaine édition de De-
voxx. “L’implémentation de gene-
rics dans Java a elle aussi ses pro-
blèmes, en raison de la
rétrocompatibilité et des questions
suscitées par certaines décisions.
Les programmeurs rencontrent
donc des difficultés, parce que cela
[generics] n’est pas disponible dès
le départ.”
Devons-nous donc tous passer
à un langage comme Scala? “Sca-
la est l’un des langages sur lesquels
nous nous penchons, mais je ne
suis pas vraiment impressionné”,
telle est l’opinion personnelle d’Eric
JAVA SPECIAL
Aucun langage de programmation n’est le nec plus ultra et Java peut lui aussi s’améliorer.
Voire même se faire remplacer. Car la recherche de méthodes plus faciles et plus efficaces pour
développer des logiciels ne cesse de croître.
#
Guy Kindermans
ERIC STEEGMANS
Scala semble aujourd’hui être
le chef de file favori, déjà rien que
parce que le langage réunit deux
mondes de programmation
itératif/OO et fondamental.
Tout peut s’améliorer,
même Java
ERIC STEEGMANS (KU Leuven):
“Les machines virtuelles deviendront
de plus en plus dominantes avec des projets qui,
outre Java, utilisent aussi d’autres langages.”
UNE PROGRAMMATION ORIENTÉE
VERS LE SERVICE AVEC JAVA
L’extension de langages avec de nouveaux concepts est joliment illus-
trée par ServiceJ, destiné à créer avec Java des applications plus fa-
ciles orientées vers le service. Dans une architecture orientée service
(AOS), la nature distribuée de l’environnement et l’aspect volatile inhérent
des services se heurtent aux limites de Java (comme Java Enterprise
Edition). On met notamment ici en évidence le static service binding, des
difficultés de sélection dynamique des meilleurs services possibles et
le re-routage en cas de problèmes, ainsi que la gestion de sessions
web.
En réponse à ces problèmes, l’ancien étudiant en doctorat Sven De La-
bey a proposé des ajouts à Java, en l’occurrence des service pools (pour
late service binding et un failover transparent) et des declarative ope-
rations (à l’aide desquelles la qualité des services et le choix des ser-
vices peuvent être optimisés). Concrètement, cela a pris la forme de Ser-
viceJ, destiné à une sélection dynamique de services et à un failover
transparent.
Un autre exemple est le travail du groupe concernant les limites d’OS-
Gi (Open Services Gateway initiative) et le central service registry. Ici aus-
si, il est fait appel aux extensions qu’offre ServiceJ.
Les publications du groupe concernant Steegmans (notamment sur
ServiceJ) sont disponibles sur la page cv http://www.kuleuven.be/cv/
u0013942e.htm du professeur Eric Steegmans.
PROOF PDF
Dans jBPM, on trouve encore
d’autres éléments, comme un com-
posant identity. “Des produits avec
lesquels vous pouvez directement
travailler, ont aujourd’hui le plus
de succès”, observe Baeyens et le
composant identity offre donc une
facilité de gestion des utilisateurs,
des groupes, etc. Mais les entre-
prises peuvent aussi simplement
faire appel à leurs actuels compo-
sants identity. Depuis la version 3,
un designer tool soutenu par Eclip-
se était aussi prévu dans jBPM,
mais à partir de la version 4.1, un
designer soutenu par le web est
désormais intégré. C’est le résul-
tat d’une collaboration avec la so-
ciété allemande Signavio, qui a in-
tégré Oryx, son outil de
modélisation basé sur le web, avec
jBPM.
Avenir
L’ouverture fondamentale de
jBPM laisse encore beaucoup de
marge pour de futures évolutions
“comme le tooling pour tout asso-
cier plus étroitement. Aujourd’hui,
nous avons beaucoup de documents
ISO qui ont été créés, mais qui sont
occupés à moisir parce qu’ils ne
sont pas utilisés”. Une référence,
entre autres, aux certificats ISO900x
qui ont été délivrés ces dernières
années et qui devaient décrire des
processus bien documentés qui ne
correspondent toutefois pas tou-
jours à la réalité (même s’il est sou-
vent impossible de confronter la
réalité à ces documents ou d’orien-
ter fermement la réalité au départ
de ces documents).
À l’avenir, ce serait bien si des
gens pouvaient construire les mo-
dèles des processus, après quoi
ces modèles seraient rendus exé-
cutables sans que les artefacts lo-
giciels mêmes soient exposés. Le
développeur construit ces artefacts,
après quoi le business analyst voit
sur la base de ces artefacts que tout
se passe comme prévu. “Contrai-
rement au phénomène ISO, où le
processus est documenté, mais
dont l’implémentation est assurée
par un développeur et où tout dé-
pend donc de son implémentation,
l’exécution est dirigée.” Un map-
ping de la réalité sur le modèle
d’origine est ainsi garanti. On pour-
rait facilement qualifier cela de si-
tuation what you want is what you
get (WYWIWYG) pour les ana-
lystes d’entreprises, du moins si
tout fonctionne correctement. Ces
analystes peuvent en tout cas
contrôler le cours réel des choses
et en faire un rapport précis aux
autres personnes concernées dans
l’entreprise, ce qui cadre aussi par-
faitement avec des évolutions telles
qu’ITIL (Information Technolo-
gy Infrastructure Library, destinée
à une offre structurée et garantie
de services). Ou pour démontrer
qu’une méthode sûre est aussi réel-
lement respectée. Ou, comme le
dit Baeyens, “les rapports se font
sur la base de ce qui se passe réel-
lement, et nous ne montrons pas
seulement que la couverture d’un
dossier”. Tout cela peut non seu-
lement être utilisé pour optimi-
ser les processus, mais sur la base
de jBPM, il est également possible
de travailler à la business intelli-
gence et au business activity mo-
nitoring.
Un produit tel que jBPM ne se
limite d’ailleurs pas à un environ-
nement Java, ajoute encore
Baeyens, car “une même approche
est aussi possible sur .Net”. Le pro-
duit actuel est certes rédigé en
code Java, mais une traduction à
l’aide de Mono – une implémen-
tation open source de .Net – serait
possible. “Ou on peut toujours le
réécrire en C#”, dit-il encore.
#
30/10/2009 •
DATA NEWS
SPECIAL
9
8 DATA NEWS
SPECIAL
• 30/10/2009
V
oici à peine 20 ans, une
nouvelle vogue battait son
plein dans le monde des
entreprises et, par exten-
sion, également dans le monde
ICT. Business Process Re-engi-
neering, alias BPR, était vanté par
Michael Hammer et compagnie
partout dans le monde dans des ar-
ticles, livres et conseils de consul-
tants. Destiné à rendre le fonc-
tionnement des entreprises plus
efficace en éliminant ou en auto-
matisant les tâches qui n’ajoutent
aucune valeur, BPR a très claire-
ment contribué au succès crois-
sant des ensembles ERP, qui pro-
mettaient précisément une telle
automatisation et une telle amé-
lioration de l’efficacité. Hélas, les
processus d’exploitation sont res-
tés difficiles à traiter, de sorte que
certaines des promesses ERP ne
sont toujours pas tenues. Ce qui
est sûr, c’est que les processus
d’exploitation n’ont depuis plus ja-
mais manqué d’attention.
La traduction difficile
Cela reste quoi qu’il en soit un
défi non seulement de répertorier
les processus d’exploitation, mais
aussi de traduire ces processus –
modifications comprises – en so-
lutions ICT. Ainsi, les analystes
d’entreprises et les informaticiens
parlent non seulement un langage
différent, mais leurs systèmes de
notation, selon lesquels ils consi-
gnent leurs constatations, sont aus-
si souvent très divergents. Et les
outils pour permettre à ces deux
mondes de se comprendre plus fa-
cilement ne sont pas légion.
Auparavant, on dessinait sim-
plement un graphique du proces-
sus, pour ensuite exécuter ces dia-
grammes, constate Tom Baeyens,
lead jBPM chez JBoss. Les déve-
loppeurs se sont mis au travail,
mais ont souvent pris des décisions
trop restrictives. On a alors sou-
vent assisté à la construction de
workflow engines qui étaient fruc-
tueux dans leur niche, comme par
exemple la création et la gestion
des documents-flux de travail.
Pour Tom Baeyens, il paraissait
plus logique d’avoir un mécanis-
me sous-jacent commun sur lequel
pouvaient être greffés les dia-
grammes avec les différentes ac-
tivités, en fonction du domaine.
“Nous avons étudié ce que ces
workflow engines avaient en com-
mun.” Le résultat en a été jBPM.
Pour la description des activités,
il a toutefois d’abord utilisé jPDL,
un process definition language,
centré sur le task management
et solidement intégré avec Java.
Ainsi, vous pouvez configurer des
classes Java dans les activités ou
faire appel à des objets Java pour
échanger des informations au lieu
d’utiliser par exemple XML. “jPDL
semble faire partie du langage Java
même”, dit-il. Mais ce n’est pas le
seul langage qui peut être utilisé
dans jBPM, souligne Baeyens. Dif-
férents langages peuvent avoir des
objectifs différents, comme être
plus centrés sur la technologie ou
le business. Mais jPDL a sa place
dans les deux mondes, puisqu’ils
sont dissociés.
jBPM et PVM
L’essence même de jBPM est
donc la possibilité, sur la base d’un
mécanisme sous-jacent, de faire
tourner le langage résident le plus
indiqué. Ce mécanisme est la Pro-
cess Virtual Machine (PVM), en
principe comparable à la Java Vir-
tual machine (JVM). C’est avec
la PVM que les limites des work-
flow engines monolithiques clas-
siques et single language sont
abordées. Tom Baeyens le décrit
comme un “modèle conceptuel qui
devrait figurer dans le répertoire
de tout concepteur”. Les différents
blocs d’activités sont ensuite gref-
fés sur ce mécanisme, de sorte que
ces descriptions soient expressé-
ment distinctes du système de flux
de travail/bpm/orchestration sous-
jacent. “Nous voulons aller plus
haut”, explique encore clairement
Tom Baeyens, entre autres parce
que “aucun langage de processus
ne peut assumer seul tous les en-
vironnements et les capacités re-
quises en matière de BPM”.
Outre le process engine, jBPM
comprend aussi un process moni-
tor, un langage de processus et des
services d’interaction (pour utili-
ser des applications existantes com-
me des fonctions ou données lors
de l’exécution de processus).
Aujourd’hui, jBPM travaille à
la version 4.1, avec jPDL comme
premier langage. La prochaine éta-
pe prévoira une version résiden-
te de BPMN 2.0 (Business Process
Modeling Notation) et on a aussi
auparavant planché sur BPEL. La
PVM a dans tous les cas prouvé
qu’elle peut supporter ces langages,
y compris XPDL (XML Process
Definition Language). Un autre
langage est pageflow pour la des-
cription de la navigation entre les
pages par les utilisateurs. Ici aus-
si, il est fait appel à JBoss SEAM –
une application framework qui
combine EJB 3 et JavaServer
Faces, jadis lancé par Gavin Boss
(qui était aussi à la base de Hi-
bernate).
JAVA SPECIAL
La traduction des besoins d’exploitation en processus d’exploitation, puis en
une forme de support ICT reste un sérieux défi. Chez JBoss, le jBPM de
Tom Baeyens offre une solution avec une porte de sortie.
#
Guy Kindermans
TOM BAEYENS
L’essence même de jBPM est la
possibilité, sur la base d’un
mécanisme sous-jacent, de faire
tourner le langage résident
le plus indiqué.
Un stimulant Java pour les
processus d’exploitation
TOM BAEYENS: “jPDL semble faire partie du langage Java même,
mais ce n’est pas le seul langage qui peut être utilisé dans jBPM.”
©MIEKE STYMANS
JPDL FACE À UML?
L’Unified Modeling Language (UML) a mérité ses galons en qualité de lan-
gage de modélisation officiel pour le software-engineering, mais a aussi
ses limites. Ainsi, les diagrammes d’activités ne reprennent aucune infor-
mation sur leur exécution. Cela a été amélioré dans la Business Process
Modeling Notation (BPMN), avec entre autres un lien vers des langages
d’exécution comme BPEL. jPDL est inspiré d’UML, selon Baeyens, et dé-
bouche sur des processus exécutables.
Le réemploi est certainement une possibilité, en ce compris l’utilisation de
bibliothèques et le réemploi de processus. Il existe ainsi RosettaNet avec
PIPS (Partner Interface Processes) en tant que gisement de processus
d’exploitation génériques. Le réemploi est cependant limité, précise Baeyens,
tandis qu’une entreprise doit avoir suffisamment de masse critique pour
que cela devienne intéressant. Des outils sont également vendus à des
managers sur la base d’une démo hello world, après quoi des non-tech-
niciens doivent quand même produire des spécifications logicielles.
PROOF PDF
10 DATA NEWS
SPECIAL
• 30/10/2009
S
cala est l’acronyme de SCA-
lable LAnguage et combi-
ne l’orientation objets avec
la programmation fonc-
tionnelle et le typage statique. La
programmation fonctionnelle est
ici décrite comme un paradigme de
programmation qui aborde les cal-
culs comme une évaluation de fonc-
tions mathématiques, sans état ni
données modifiables. De par la fa-
çon dont les fonctions sont utilisées
dans la programmation fonction-
nelle (au contraire de ce qui se fait
dans la programmation impérati-
ve), il en résulte un code plus ai-
sément compréhensible et un fonc-
tionnement mieux prévisible. La
nature objet de Scala est encore ac-
centuée, parce que les objets sont
présents partout (y compris les
chiffres et les fonctions). Scala vise
précisément une combinaison des
avantages de la programmation
fonctionnelle avec l’expérience ac-
quise dans les langages impéra-
tifs et la compatibilité avec Java.
A partir de Java
Le lien avec Java est dû au père
spirituel de Scala, Martin Odersky,
professeur à l’Ecole Polytechnique
Fédérale de Lausanne (EPFL) et
responsable du groupe de re-
cherche en programmation (Pro-
gramming Methods Laboratory 1).
Dans le monde Java, il s’est en en
effet fait connaître comme co-créa-
teur de Java Generics et qu’auteur
initial de l’actuel compilateur de ré-
férence javac. Avec Scala, son ob-
jectif était de créer un langage pour
les programmes aux possibilités
évolutives explicites (extensibilité)
ou, comme l’affirme Odersky lui-
même, “les mêmes constructions
doivent fonctionner tant dans les
petits que dans les grands pro-
grammes.” Et d’ajouter que “Sca-
la va en profondeur, alors que
d’autres langages jouent plutôt sur
la largeur.” Concrètement, cela se
traduit par la suppression de pas
mal de code de routine répétitif
(code boilerplate) et par l’accen-
tuation de “puissantes méthodes
d’abstraction pour la création de so-
lides bibliothèques.”
L’origine de Scala remonte à une
recherche précoce effectuée par
Odersky et d’autres en vue d’inté-
grer à Java des éléments issus de
la programmation fonctionnelle.
Il en est résulté un premier langa-
ge, Pizza (1996), qui proposait no-
tamment des génériques, des fonc-
tions d’ordre supérieur et le filtrage
par motif. A la demande des colla-
borateurs de l’équipe de dévelop-
pement de Sun, l’idée des géné-
riques fut ensuite étendue à GJ (Ge-
neric Java, 1997-98), qui constitua
finalement la base des génériques
de Java 5. En 2001, les idées de Piz-
za et GJ se sont en fin de compte
traduites en Scala, qui fut utilisé
pour la première fois en 2003 dans
des cours donnés à l’EPFL, puis
rendu public en 2004. Une version
2.x suivit en 2006, après quoi l’at-
tention pour Scala crût lors d’évé-
nements comme JavaOne (et Ja-
vaPolis/Devoxx).
Aujourd’hui, Scala tourne sur des
systèmes sous Linux, Unix, MacOS
et Windows, et ce tant sur la Java
Platform que sur la plate-forme .Net
(version 1.4 de Scala). Début oc-
tobre, Scala 2.7.6 était la version té-
léchargeable, alors qu’une version
2.8 est prévue avant la fin de l’an-
née. Cette dernière offrira entre
JAVA SPECIAL
MARTIN ODERSKY
A l’instar de Devoxx qui met en exergue une partie toujours plus large du spectre des développeurs, la
Java Virtual Machine ouvre sans cesse plus grandes ses portes à davantage de langages. Parmi ces
nouveaux venus, Scala semble focaliser énormément d’attention.
#
Guy Kindermans
Scala, au-delà de Java
￿
PROOF PDF
autres de nouvelles collections, des
package objects, des named & de-
fault parameters et des dispositifs
pour génériques plus rapides.
Au-delà de Java
La revendication selon laquelle
Scala est le successeur de Java,
Odersky l’étaie en déclarant que
Scala possède tout ce que Java a,
“certes parfois sous une autre for-
me.” En tout cas, un grand soin est
consacré à son intégration fluide
dans le monde. C’est ainsi que Sca-
la tourne sur la Java Virtual Ma-
chine (le compilateur scalac génè-
re des fichiers de classe Java) et que
le code byte est compatible avec
Java, de manière à pouvoir utiliser
les bibliothèques Java et à permettre
à Scala et à Java de s’appeler mu-
tuellement. Scala peut être utilisé
tant comme langage de script que
comme langage pour la création de
grands systèmes.
Selon Odersky, Scala surpasse
toutefois Java car il offre en outre
les closures (sujet d’un débat déli-
cat dans le monde Java), le pattern
matching et les traits (comparable
à l’interface de Java). De plus, il pré-
voit un actor model dans l’optique
concurrency (traitement simulta-
né). Scala permet aussi de formu-
ler des extensions linguistiques spé-
cifiques au domaine. Tout cela fait
qu’à propos de Scala, on affirme que
ce langage évolue avec le dévelop-
peur. Ce dernier peut par ailleurs
disposer de modules d’extension
Scala pour Eclipse, IntelliJ et Net-
beans.
Il n’est pas de langage de pro-
grammation digne de ce nom qui
ne dispose aujourd’hui de sa propre
structure. Tel est aussi le cas de Sca-
la avec Lift. Les créateurs de cette
structure affirment avoir tiré les le-
çons des erreurs, mais aussi des
meilleures idées dans d’autres struc-
tures. Lift aspire entre autres à at-
teindre une scission stricte entre la
couche de présentation et le code
d’application. Lift supporte en outre
Ajax et Comet.
Il faudra évidemment confirmer
le fait que Scala se revendique être
un langage pour applications lourdes
aux possibilités évolutives très
nettes. Sur le site de Scala, on trou-
ve dès lors aussi une série d’utili-
sateurs de Scala, comme Twitter.
Dans l’optique de nombres records
de tweets, comme lors de la no-
mination de Barack Obama (jusqu’à
5.000 tweets à la minute), une par-
tie importante du site – sa main mes-
sage queue – de Ruby on Rails a été
convertie à Scala. Ce faisant, les pos-
sibilités de traitement simultané
entre autres ont été appréciées.
Au sein de la filiale commercia-
le d’Electricité de France (EDF),
une part substantielle du code Java
a été réécrite ces dernières années
en Scala dans son application de
commerce et de tarification pour les
dérivés énergétiques. Et ici, Scala
IDE pour Eclipse a joué un rôle en
vue, alors qu’une hausse significa-
tive de la productivité de dévelop-
pement a aussi été enregistrée.
La combinaison de Scala et de
la structure Lift constitue également
la base de l’Enterprise Social Mes-
saging Experiment (ESME), un pro-
jet open source exploité par Siemens
pour accroître la productivité à l’ai-
de de réseaux sociaux. ESME doit
aider à créer des communautés et
à favoriser la communication entre
les employés de l’entreprise, dé-
clare-t-on.
Et demain?
Dans le futur, Odersky envisa-
ge encore des améliorations dans
le sens d’un traitement simultané
plus poussé et d’un support du trai-
tement parallèle. Dans la version
2.8, il compte sur les continuations
comme un module d’extension au
compilateur. Grâce aux continua-
tions, un function state pourra être
stocké, puis repris éventuellement
sur un autre ordinateur. Un proof
of concept a déjà été présenté avec
Swarm.
L’avenir nous dira comment et si
Scala sera en fin de compte le ou un
successeur de Java. Ce dernier a
connu une croissance et une diffu-
sion rapides grâce au soutien de Sun
avec des outils, etc. et grâce à un
vaste groupe d’utilisateurs enthou-
siastes. L’importance et la ferveur
du groupe d’utilisateurs Scala joue-
ront dès lors assurément aussi un
rôle crucial, en particulier s’ils peu-
vent inciter les adeptes de Java à se
familiariser avec les propriétés de
Scala.
Les lecteurs intéressés peuvent
se rendre sur le site de Scala, <www.
scala-lang.org>, où ils découvriront
une présentation de Martin Oders-
ky relative aux 5 prochaines années
de Scala, http://www.scala-lang.
org/sites/default/files/oders-
ky/scalaliftoff2009.pdf. Ils peuvent
consulter aussi le livre ‘Program-
ming in Scala’ rédigé par Oders-
ky, Spoon et Venners. Sur Par-
leys.com, cliquez sur ‘Popular tags’,
puis sur ‘Scala’ pour trouver no-
tamment les présentations d’Oders-
ky (‘The Scala Experience’, Java-
polis 2007) et de Venners (‘The feel
of Scala’, Devoxx 2008). Lors de De-
voxx 2009, Bill Venners organisera
une session sur l’expérimentation
des programmes Scala.
#
Pour en savoir plus à propos de Lift,
surfez sur <http://liftweb.net>, dont
‘Starting with Lift’ sur <http://lift-
web.net/docs/getting—
started/mod—master.html>
12 DATA NEWS
SPECIAL
• 30/10/2009
JAVA SPECIAL
MARTIN ODERSKY
UNE ARBORESCENCE DE LANGAGES
L’étonnante prépondérance de langages comme C++, Java, C#, PHP et
Python, et à plus forte raison de (Visual) Basic, voire de Cobol, pourrait
vite faire oublier qu’il existe un nombre incroyablement grand de lan-
gages de programmation (comprenez des centaines...). Souvent, les nou-
veaux langages rappellent d’ailleurs des prédécesseurs qui datent déjà
de dix ou vingt ans, voire plus. Il n’en va pas autrement pour Scala. Dans
la mini-liste des langages qui ont influencé Scala, on trouve entre autres
Smalltalk et Java, mais aussi Haskell et Erlang.
Haskell
est défini comme un langage de programmation purement fonc-
tionnel standardisé, a haut typage statique. Sa première version date de
1990, avec une standardisation en 1998. Il y a quelques années, l’on a
commencé à lui préparer un successeur:
Haskell’
(ou Haskell Prime).
En tant que langage, Haskell a été lui-même influencé par Lisp, ISWIM,
APL, Miranda, ML et Standard ML notamment. Et Haskell a impacté à son
tour des langages tels Clojure, C#, Java Generics, LINQ, Perl 6, Python,
Visual Basic 9.0 et donc aussi Scala.
Si vous êtes intéressé, surfez sur http://haskell.org
Erlang
est quant à lui un langage supportant la programmation simul-
tanée (multiprogrammation, programmation parallèle), ainsi que les ap-
plications distribuées et à tolérance d’erreurs. Développé en 1986, ce
langage a été mis à disposition sous forme open source en 1998 par Erics-
son. Aujourd’hui, il est simplement utilisé en combinaison avec l’open
telecom platform (OTP), une compilation de bibliothèques pour Erlang.
Un sous-ensemble séquentiel d’Erlang est un langage fonctionnel à éva-
luation stricte et à typage dynamique. Erlang permet notamment de rem-
placer des parties logicielles, sans désactiver le système (hot code up-
grade). Il se murmure que le commutateur Ericsson AXD301 de 1998 (in-
tégrant plus d’un million de lignes de code Erlang) aurait revendiqué une
fiabilité de neuf ‘9’. Erlang a été influencé par Prolog (la première ver-
sion était écrite en Prolog) et a influencé Clojure et Scala.
Le site officiel d’Erlang se trouve à l’adresse www.erlang.org.
Les applications écrites dans un langage fonctionnel constituent un lar-
ge spectre. C’est ainsi que le système Natural Expert de Software AG a
été écrit en son temps dans un langage fonctionnel maison, alors qu’Amo-
co a autrefois réécrit une application extrêmement critique en Miranda.
En outre, Pugs – une implémentation de Perl 6 – a été écrit en Haskell.
Il n’est pas de langage de programmation
digne de ce nom qui ne dispose
aujourd’hui de sa propre structure.
Tel est aussi le cas de Scala avec Lift.
￿
PROOF PDF