<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
xmlns:media="http://search.yahoo.com/mrss/"
> <channel><title>Commentaires sur : Introduction à Scala</title> <atom:link href="http://blog.xebia.fr/2008/03/21/introduction-a-scala/feed/" rel="self" type="application/rss+xml" /><link>http://blog.xebia.fr/2008/03/21/introduction-a-scala/</link> <description>J2EE, Agilité et SOA</description> <lastBuildDate>Thu, 09 Feb 2012 15:43:24 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=</generator> <item><title>Par : Blog Xebia France - Traits Scala</title><link>http://blog.xebia.fr/2008/03/21/introduction-a-scala/#comment-6477</link> <dc:creator>Blog Xebia France - Traits Scala</dc:creator> <pubDate>Wed, 16 Jul 2008 13:11:14 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/2008/03/21/introduction-a-scala/#comment-6477</guid> <description>[...] les précédents billets consacrés à Scala, nous avons traité du mécanisme d&#039;inférence et des constructeurs et méthodes. Dans ce billet, nous allons étudier les interfaces en Scala. [...]</description> <content:encoded><![CDATA[<p>[...] les précédents billets consacrés à Scala, nous avons traité du mécanisme d&#8217;inférence et des constructeurs et méthodes. Dans ce billet, nous allons étudier les interfaces en Scala. [...]</p> ]]></content:encoded> </item> <item><title>Par : Blog Xebia France - Les constructeurs et méthodes en Scala</title><link>http://blog.xebia.fr/2008/03/21/introduction-a-scala/#comment-5445</link> <dc:creator>Blog Xebia France - Les constructeurs et méthodes en Scala</dc:creator> <pubDate>Wed, 30 Apr 2008 15:27:00 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/2008/03/21/introduction-a-scala/#comment-5445</guid> <description>[...] le billet précédent, nous avons vu une partie de la syntaxe de Scala ainsi que le mécanisme d&#039;inférence. Dans ce [...]</description> <content:encoded><![CDATA[<p>[...] le billet précédent, nous avons vu une partie de la syntaxe de Scala ainsi que le mécanisme d&#8217;inférence. Dans ce [...]</p> ]]></content:encoded> </item> <item><title>Par : Francois Armand</title><link>http://blog.xebia.fr/2008/03/21/introduction-a-scala/#comment-4951</link> <dc:creator>Francois Armand</dc:creator> <pubDate>Sat, 22 Mar 2008 07:45:58 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/2008/03/21/introduction-a-scala/#comment-4951</guid> <description>Ce blog est vraiment bien : encore une techno que je surveille depuis quelques temps qui se retrouve traitée ici. Ou alors, je partage beaucoup de points d&#039;intérêts avec les différents auteurs :) Merci pour cette série d&#039;article annoncées. vous pourrez même faire un merge avec  celle sur les frameworks web en traitant de Lift (http://liftweb.net/) , le framework full-stack Web écrit en Scala, intégrant Cometd qui monte qui monte...
Au niveau des sources traitant de Scala, il faut rajouter &quot;Lambda the ultimate&quot; qui a une section dédiée à Scala depuis assez longtemps (http://lambda-the-ultimate.org/taxonomy/term/32), et de très nombreux blogs dont par exemple Beautifull Language qui a fait une série d&#039;article intéressants (http://langexplr.blogspot.com/search/label/scala) et celui de Tony Morris, qui traite beaucoup de Scala (http://blog.tmorris.net/).
@Nicolas Delsaux:
Le côté fonctionnel de Scala est beaucoup plus marqué que dans Rubis, même si ca ne se voit pas au premier coup d&#039;oeil. Cela peut se remarquer en particulier par l&#039;accent qui est mis sur les méthodes non mutables. Par exemple, le type List (pas celui présenté) est non mutable : les modifications sur une List se font en créant de nouvelle List. Scala possède aussi des &quot;val&quot;, comme présenté ici, qui sont des variables non ré-assignable.
Ensuite, Scala possède des fermetures (closures) qui sont utilisées par exemple pour la création de nouveau opérateurs.
Scala permet de faire du pattern matching sur les classes (et rien que pour cela, ca vaut le coup de regarder Scala !). Scala permet définir des méthodes sous forme Curryfiée (ce qui est tout simplement géniale pour définir des API).
Enfin, le côté fonctionnel transparaît par les API proposées : on est encouragé à manipuler des listes pour toutes les opérations de bases. Par exemple, il n&#039;y pas de &quot;for&quot; en Scala, son remplaçant étant une closure sur des listes (sur laquelle on peut appliquer toutes les opérations fonctionnelles standards, telles que filtres, map, etc)
Bref, là où Rubis a introduit quelques notions fonctionnelles, Scala a été construit dès le début pour être un merge la plus profond possible entre paradigme Objet et paradigme fonctionnel. Pour le côté Objet, c&#039;est plutôt très bien réussi, pour le côté fonctionnel, on est pas encore à Haskell, ni même OCaml.
Mais surtout, surtout, la plus grande différence entre Scala et Rubis est que Scala est un langage typé statiquement, ce qui est bien, alors que Rubis est typé dynamiquement (non non, ma préférence ne transparait pas ;)
Pour ce qui est du &quot;Array[String](4), là où Java nous propose le String[4]&quot;, c&#039;est tout simplement dans un soucis d&#039;homogénéité du langage (ca se verra plus si un article présente les &quot;génériques&quot; façon Scala). Là construction &quot;Array[String](4)&quot; est tout simplement un objet Array, paramétré par le type String, pour lequel on appelle le constructeur (int length) qui construit le tableau de longueur donnée.
On retrouve se soucis d&#039;homogénéité du langage à de très nombreux endroits : les opérateurs ne sont pas des éléments spéciaux du langage mais de simples méthodes (ce qui facilite vraiment la vie pour définir ses propres API avec ses opérateurs, l&#039;exemple des Actors Scala est frappant pour cela), *tout* est objets (pas de types primitifs), etc...)
@Gabriel
Jette un oeil à Tapestry 5 ( http://tapestry.apache.org/tapestry5/ ), tu pourrais être bluffé (mon rêve : lift, avec la vision de Howard pour l&#039;archi. Ce mec est une brute comme j&#039;en ai rarement vue).
Voilà voilà, merci Xebia pour ce blog
Francois</description> <content:encoded><![CDATA[<p>Ce blog est vraiment bien : encore une techno que je surveille depuis quelques temps qui se retrouve traitée ici. Ou alors, je partage beaucoup de points d&#8217;intérêts avec les différents auteurs <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Merci pour cette série d&#8217;article annoncées. vous pourrez même faire un merge avec  celle sur les frameworks web en traitant de Lift (<a
href="http://liftweb.net/" rel="nofollow">http://liftweb.net/</a>) , le framework full-stack Web écrit en Scala, intégrant Cometd qui monte qui monte&#8230;</p><p>Au niveau des sources traitant de Scala, il faut rajouter &laquo;&nbsp;Lambda the ultimate&nbsp;&raquo; qui a une section dédiée à Scala depuis assez longtemps (<a
href="http://lambda-the-ultimate.org/taxonomy/term/32" rel="nofollow">http://lambda-the-ultimate.org/taxonomy/term/32</a>), et de très nombreux blogs dont par exemple Beautifull Language qui a fait une série d&#8217;article intéressants (<a
href="http://langexplr.blogspot.com/search/label/scala" rel="nofollow">http://langexplr.blogspot.com/search/label/scala</a>) et celui de Tony Morris, qui traite beaucoup de Scala (<a
href="http://blog.tmorris.net/" rel="nofollow">http://blog.tmorris.net/</a>).</p><p>@Nicolas Delsaux:</p><p>Le côté fonctionnel de Scala est beaucoup plus marqué que dans Rubis, même si ca ne se voit pas au premier coup d&#8217;oeil. Cela peut se remarquer en particulier par l&#8217;accent qui est mis sur les méthodes non mutables. Par exemple, le type List (pas celui présenté) est non mutable : les modifications sur une List se font en créant de nouvelle List. Scala possède aussi des &laquo;&nbsp;val&nbsp;&raquo;, comme présenté ici, qui sont des variables non ré-assignable.<br
/> Ensuite, Scala possède des fermetures (closures) qui sont utilisées par exemple pour la création de nouveau opérateurs.<br
/> Scala permet de faire du pattern matching sur les classes (et rien que pour cela, ca vaut le coup de regarder Scala !). Scala permet définir des méthodes sous forme Curryfiée (ce qui est tout simplement géniale pour définir des API).<br
/> Enfin, le côté fonctionnel transparaît par les API proposées : on est encouragé à manipuler des listes pour toutes les opérations de bases. Par exemple, il n&#8217;y pas de &laquo;&nbsp;for&nbsp;&raquo; en Scala, son remplaçant étant une closure sur des listes (sur laquelle on peut appliquer toutes les opérations fonctionnelles standards, telles que filtres, map, etc)</p><p>Bref, là où Rubis a introduit quelques notions fonctionnelles, Scala a été construit dès le début pour être un merge la plus profond possible entre paradigme Objet et paradigme fonctionnel. Pour le côté Objet, c&#8217;est plutôt très bien réussi, pour le côté fonctionnel, on est pas encore à Haskell, ni même OCaml.</p><p>Mais surtout, surtout, la plus grande différence entre Scala et Rubis est que Scala est un langage typé statiquement, ce qui est bien, alors que Rubis est typé dynamiquement (non non, ma préférence ne transparait pas <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p><p>Pour ce qui est du &laquo;&nbsp;Array[String](4), là où Java nous propose le String[4]&laquo;&nbsp;, c&#8217;est tout simplement dans un soucis d&#8217;homogénéité du langage (ca se verra plus si un article présente les &laquo;&nbsp;génériques&nbsp;&raquo; façon Scala). Là construction &laquo;&nbsp;Array[String](4)&nbsp;&raquo; est tout simplement un objet Array, paramétré par le type String, pour lequel on appelle le constructeur (int length) qui construit le tableau de longueur donnée.<br
/> On retrouve se soucis d&#8217;homogénéité du langage à de très nombreux endroits : les opérateurs ne sont pas des éléments spéciaux du langage mais de simples méthodes (ce qui facilite vraiment la vie pour définir ses propres API avec ses opérateurs, l&#8217;exemple des Actors Scala est frappant pour cela), *tout* est objets (pas de types primitifs), etc&#8230;)</p><p>@Gabriel<br
/> Jette un oeil à Tapestry 5 ( <a
href="http://tapestry.apache.org/tapestry5/" rel="nofollow">http://tapestry.apache.org/tapestry5/</a> ), tu pourrais être bluffé (mon rêve : lift, avec la vision de Howard pour l&#8217;archi. Ce mec est une brute comme j&#8217;en ai rarement vue).</p><p>Voilà voilà, merci Xebia pour ce blog</p><p>Francois</p> ]]></content:encoded> </item> <item><title>Par : Gabriel</title><link>http://blog.xebia.fr/2008/03/21/introduction-a-scala/#comment-4936</link> <dc:creator>Gabriel</dc:creator> <pubDate>Fri, 21 Mar 2008 15:36:35 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/2008/03/21/introduction-a-scala/#comment-4936</guid> <description>Vu ce qu&#039;on peut faire avec le pattern Strategie, j&#039;espère beaucoup des prochains frameworks en scala .
Style http://demo.liftweb.net/lift/ajax
(et décidément on regarde les mêmes choses : wicket, scala... Ce que c&#039;est que la mode chez les early adopters quand même!...)</description> <content:encoded><![CDATA[<p>Vu ce qu&#8217;on peut faire avec le pattern Strategie, j&#8217;espère beaucoup des prochains frameworks en scala .<br
/> Style <a
href="http://demo.liftweb.net/lift/ajax" rel="nofollow">http://demo.liftweb.net/lift/ajax</a><br
/> (et décidément on regarde les mêmes choses : wicket, scala&#8230; Ce que c&#8217;est que la mode chez les early adopters quand même!&#8230;)</p> ]]></content:encoded> </item> <item><title>Par : Nicolas Delsaux</title><link>http://blog.xebia.fr/2008/03/21/introduction-a-scala/#comment-4934</link> <dc:creator>Nicolas Delsaux</dc:creator> <pubDate>Fri, 21 Mar 2008 14:51:23 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/2008/03/21/introduction-a-scala/#comment-4934</guid> <description>Concernant le côté fonctionnel de Scala, et le fait que ce soit un langage à objets, ça me fait furieusement penser à Ruby, qui offre le même genre de fonctionnalités.
La grosse différence à mon sens, est que Scala semble être taillé pour être embarqué dans la JVM.
Bon, il y a quand même des idées curieuses (genre le Array[String](4), là où Java nous propose le String[4]), mais j&#039;imagine qu&#039;il s&#039;agit seulement d&#039;une n-ième d&#039;itération de &quot;mon herbe est plus verte que la tienne&quot;.</description> <content:encoded><![CDATA[<p>Concernant le côté fonctionnel de Scala, et le fait que ce soit un langage à objets, ça me fait furieusement penser à Ruby, qui offre le même genre de fonctionnalités.<br
/> La grosse différence à mon sens, est que Scala semble être taillé pour être embarqué dans la JVM.</p><p>Bon, il y a quand même des idées curieuses (genre le Array[String](4), là où Java nous propose le String[4]), mais j&#8217;imagine qu&#8217;il s&#8217;agit seulement d&#8217;une n-ième d&#8217;itération de &laquo;&nbsp;mon herbe est plus verte que la tienne&nbsp;&raquo;.</p> ]]></content:encoded> </item> </channel> </rss>
