Scala 2.8 beta com muitas novidades

19 respostas
Paulo_Silveira

A linguagem Scala, que faz muito barulho e é comentada diversas vezes por James Gosling, lançou sua versão 2.8 na semana passada:
http://www.scala-lang.org/node/4587

Além de diversas novidades na linguagem, sem dúvida um dos maiores atrativos é o plugin para o Eclipse, que agora utiliza internamente o JDT, criando uma integração muito mais harmoniosa que as versões antigas. Essa é uma grande oportunidade para você conhecer essa linguagem, sem sair do seu ambiente de desenvolvimento. Para isso, basta adicionar a URL de updatesite dessa versão beta:
http://www.scala-lang.org/scala-eclipse-plugin-beta-preview

Para saber mais:


19 Respostas

ranophoenix

Conceitualmente acho Scala uma linguagem incrível. Agora sintaticamente…não consigo gostar da sintaxe da linguagem. De qualquer forma, o plugin do Eclipse vai ser de grande ajuda!

L

Adoro Scala. É uma linguagem desenhada sem aquela mentalidade do desenvolvedor burro. Só pra comparar, o Java foi pensado assim: “Vamos impedir a sobrecarga de operadores porque o programador Java é tão burro que pode usá-lo para coisas sem sentido.” ou “Precisamos de exceções checadas porque o programador Java é tão burro que pode esquecer de tratar erros.”, e por aí vai, permeando toda a linguagem e passando aos principais frameworks disponíveis. Scala, ao contrário, tem “features” que chegam até a tornar o código ilegível (como métodos marcado com implicit ou os objetos com métodos apply() e unapply()), porém, ninguém é obrigado a usá-las e, se usado apropriadamente, pode facilitar a vida na criação de APIs mais simples. Ou seja, é bom porque põe a responsabilidade de volta na mão dos desenvolvedores.

Scala não é uma linguagem que se pega numa semana. Até porque, com pouco tempo de uso, parece apenas o Java com sintaxe invertida (e não, não acho isso uma coisa ruim). A virtude dessa linguagem aparece aos poucos, quando você precisa encapsular uma API e percebe que existem maneiras bastante consistentes de realizar isso.

Pena que só é apreciada por rubistas que precisam de um módulo baixo nível para JRuby.

E

Leonardo3001, não foi justamente para tirar a responsabilidade excessiva das mãos do desenvolvedor que abandonamos as Linguagens C e C++?

M

Não. O Leonardo3001 se referiu a features da linguagem que estão disponíveis para auxiliar o desenvolvedor, não a responsabilidade excessiva existente em C/C++ que tem a ver com aspectos de baixo nível que o programador precisa lidar e que acabam sendo irrelevantes para o resultado final.

M

Ao meu ver, além da sintaxe outro problema da Scala é não ser funcional, e sim orientada a objetos.

Luiz_Aguiar

Se tem uma outra linguagem que pretendo olhar com mais carinho é Scala…
Fui dar uma olhada uma época e até companhei mais de perto o projeto de framework web pra Scala, o Lift, e não gostei nada do framework, ai desanimei de estudar mais a linguagem e aplicar em algo mais “real”, mas pretendo voltar.

M

Luiz Aguiar:
Se tem uma outra linguagem que pretendo olhar com mais carinho é Scala…
Fui dar uma olhada uma época e até companhei mais de perto o projeto de framework web pra Scala, o Lift, e não gostei nada do framework, ai desanimei de estudar mais a linguagem e aplicar em algo mais “real”, mas pretendo voltar.

Realmente, quem esta acostumado com a simplicidade de frameworks como Rails, Django e Compojure é dificil digerir esse tal de Lift.

Mas o grande benefício de linguagens como Scala, Clojure é no suporte a paralelismo e concorrencia (principalmente Clojure), onde Ruby e Python são fracos.

Pra fazer web site qualquer coisa ta valendo, até o velho Java.

Abdon

Quem abandonou o C \ C++? Elas são respectivamente a 2 e 4 linguagem do ranking do tiobe.

Vc acha que deixando a linguagem mais proxima de um linguagem funcional, melhoraria a adoção da linguagem?
Eu acho que so pioraria. O que normalmente eu vejo são as pessoas olharem funções em erlang ou haskell que contem por exemplo, tail recursion, acharem a linguagem incompreendivel.

Foram que nessas linguagens “puramente funcionais” normalmente não existe um estrutura de repetição (Erlang, Haskell e Lisp são um exemplo disso, não existe for nessas linguagens) te forçando a escrever tudo de forma recursiva.

Fora que algumas dessas linguagens “puramente funcionais” não premitem que vc valor duas vezes a mesma variavel. Dando aquele erro “variable X is already bond”.

Acho que aproximando scala ainda mais com linguagens funcionais pioraria sua adoção.

M

Concordo com vc. Mas porque acha que estou preocupado com adoção da linguagem?

Eu quero mais programar numa linguagem funcional porque assim tenho códico mais claro e de facil manutençao. Acho legal ter uma boa comunidade em torno da linguagem, no caso de Lisp acho a comunidade bastante prestativa, o resto que va programar em assembler!

L

Não acho esse o problema do Scala. Acredito que essa mistura de paradigmas seja bastante pragmática, até porque, nem todo mundo conhece tão bem o paradigma funcional quanto o orientado a objetos (eu incluso).

O interessante pra mim é que eu posso usar OO e usar uma pitada aqui e ali com coisas que só se vê em linguagens funcionais, como a classe Option ao invés de um retorno nulável.

mcbarsotti

O plugin ainda tem que melhorar muito, mas já é um grande passo ter o cara que desenvolveu a linguagem engajado no desenvolvimento do plugin.

Scala é uma linguagem que tem grande potencial.

abs

aoqfonseca

Até onde estudei a linguagem Scala, ele é tanto orientada a objeto quanto possui recursos de funcional. Inclusive tem a questão das variaveis poderem ser definidas funcionalmente ou orientada a objeto. Dá uma olhada no site ou no livro da linguagem (val, var)

fredferrao

Tambem fiquei sem entender esta tua afirmação.

Ainda não comecei a estudar scala(pretedendo fazer isto esta semana), mas que tem alguma coisa funcional ae tem.

M

Não acho esse o problema do Scala. Acredito que essa mistura de paradigmas seja bastante pragmática, até porque, nem todo mundo conhece tão bem o paradigma funcional quanto o orientado a objetos (eu incluso).

O interessante pra mim é que eu posso usar OO e usar uma pitada aqui e ali com coisas que só se vê em linguagens funcionais, como a classe Option ao invés de um retorno nulável.

A grande vantagem do paradigma funcional quando me refiro a código mais claro e de fácil manutenção é baseado justamente na idéia contrária. Programação livre de efeitos colaterais, com uma pitada aqui e ali de estado mutável.

M

Tambem fiquei sem entender esta tua afirmação.

Ainda não comecei a estudar scala(pretedendo fazer isto esta semana), mas que tem alguma coisa funcional ae tem.

Uma linguagem que possui recursos funcionais como Scala não é propriamente uma linguagem funcional.

diegosantiviago

MENSAGEM EDITADA PELA MODERAÇÃO.

fredferrao

Tambem fiquei sem entender esta tua afirmação.

Ainda não comecei a estudar scala(pretedendo fazer isto esta semana), mas que tem alguma coisa funcional ae tem.

Uma linguagem que possui recursos funcionais como Scala não é propriamente uma linguagem funcional.

Não é puramente funcional, chamemos de hibrida entao :wink:

fredferrao

Plugin Scala para Netbeans:

Mais info:

http://wiki.netbeans.org/Scala68v1

M

Tambem fiquei sem entender esta tua afirmação.

Ainda não comecei a estudar scala(pretedendo fazer isto esta semana), mas que tem alguma coisa funcional ae tem.

Uma linguagem que possui recursos funcionais como Scala não é propriamente uma linguagem funcional.

Não é puramente funcional, chamemos de hibrida entao :wink:

Chame como achar melhor, mas o ponto é que Scala não é funcional o suficiente, é apenas uma versão moderna do Java feita de cientistas para cientistas, ou seja, sem muita preocupação com aplicações praticas do dia-a-dia.

Criado 1 de fevereiro de 2010
Ultima resposta 8 de fev. de 2010
Respostas 19
Participantes 11