Même si on disait il y a 10 ans qu'il n'était pas sexy, il n'y avait pas vraiment d'alternative au _langage_ Java reposant sur le même socle technique (VM portable, garbage-collector, typage statique fort, bibliothèque standard très complète, etc.). En 2010 les alternatives existent (C#, F#, Scala...).
comparer bêtement point à point Java et scala, serait une erreur
Je ne pense pas. Les deux langages offrent effectivement des choses fort différentes mais avec l'un des deux il est possible de faire exactement ce que fait l'autre (avec le même style, les mêmes concepts, les mêmes bibliothèques) sans être cependant limité à ça. Donc on peut tout à fait les comparer.
Java est un bon choix pour les projets importants, qui ont besoin de stabilité, de pérennité, d'outillage et de compétences. C'est un langage de grosse entreprise ou de fournisseur de lib/framework.
Les développeurs de Scala essaient au maximum de conserver la stabilité de l'API et de l'ABI (au niveau du bytecode) avec quelques exceptions inévitables lors de certains changements majeurs. Pour la pérennité, Scala est sous license type BSD. Pour l'outillage, ça se développe (plugins pour Maven, Eclipse, NetBeans et autres IDE) mais ça n'est bien sûr pas au niveau de Java pour l'instant. À noter que le plugin Maven permet de mixer du code Java et Scala facilement. Pour les compétences, ça se développe petit à petit ;-)
Les libs/frameworks écrits en Scala sont utilisables à partir d'application Java, Clojure, Groovy ou autres...
Je ne sais pas ce qui caractérise un langage de grosse entreprise.
Mais en général ce ne sont pas la souplesse d'un langage ou tes préférences personnelles qui te feront choisir un langage. Tes contraintes vont déjà fortement élaguer les différentes possibilités.
Justement mes contraintes sont d'écrire un compilateur pour un DSL (Domain-Specific Language). Donc les options sont soit de le faire à l'ancienne (C/C++, Yacc, Bison, etc.) et d'y passer 10 ans, soit d'utiliser les facilités de certains autres _langages_ (parser combinator, embedded DSL...). J'ai vite choisi ! Mais effectivement je n'ai pas de contrainte provenant de clients.
[^] # Re: Petite erreur
Posté par hsyl20 (site web personnel) . En réponse à la dépêche IronRuby 1.0, le futur de Java, Gizzard et Flockdb, rachat de RabbitMQ par SpringSource. Évalué à 2.
comparer bêtement point à point Java et scala, serait une erreur
Je ne pense pas. Les deux langages offrent effectivement des choses fort différentes mais avec l'un des deux il est possible de faire exactement ce que fait l'autre (avec le même style, les mêmes concepts, les mêmes bibliothèques) sans être cependant limité à ça. Donc on peut tout à fait les comparer.
Java est un bon choix pour les projets importants, qui ont besoin de stabilité, de pérennité, d'outillage et de compétences. C'est un langage de grosse entreprise ou de fournisseur de lib/framework.
Les développeurs de Scala essaient au maximum de conserver la stabilité de l'API et de l'ABI (au niveau du bytecode) avec quelques exceptions inévitables lors de certains changements majeurs. Pour la pérennité, Scala est sous license type BSD. Pour l'outillage, ça se développe (plugins pour Maven, Eclipse, NetBeans et autres IDE) mais ça n'est bien sûr pas au niveau de Java pour l'instant. À noter que le plugin Maven permet de mixer du code Java et Scala facilement. Pour les compétences, ça se développe petit à petit ;-)
Les libs/frameworks écrits en Scala sont utilisables à partir d'application Java, Clojure, Groovy ou autres...
Je ne sais pas ce qui caractérise un langage de grosse entreprise.
Mais en général ce ne sont pas la souplesse d'un langage ou tes préférences personnelles qui te feront choisir un langage. Tes contraintes vont déjà fortement élaguer les différentes possibilités.
Justement mes contraintes sont d'écrire un compilateur pour un DSL (Domain-Specific Language). Donc les options sont soit de le faire à l'ancienne (C/C++, Yacc, Bison, etc.) et d'y passer 10 ans, soit d'utiliser les facilités de certains autres _langages_ (parser combinator, embedded DSL...). J'ai vite choisi ! Mais effectivement je n'ai pas de contrainte provenant de clients.