Scala 2.8 beta com muitas novidades  XML
Índice dos Fóruns » Notícias
Autor Mensagem
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 3682
Localização: São Paulo
Offline

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:
http://www.infoq.com/news/2010/01/scala-beta1
http://blog.caelum.com.br/2009/08/10/scala-sua-proxima-linguagem/

http://blog.caelum.com.br


Arquitetura e Design de Software: uma visão sobre a plataforma java
[Email] [WWW]
ranophoenix
JavaEvangelist
[Avatar]

Membro desde: 28/02/2004 22:49:47
Mensagens: 337
Localização: Aracaju-SE
Offline

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!
[WWW]
Leonardo3001
Virtual Machine Man

Membro desde: 04/07/2007 18:28:58
Mensagens: 824
Offline

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.

Leonardo Veríssimo
-------------------------------------------------
Objectzilla
[WWW]
evandro1979
HelloWorld

Membro desde: 07/08/2006 08:37:59
Mensagens: 23
Offline

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

Evandro Rosa Santos
----------------------------------------------------
Bacharel em Informática
Sun Certified Java Programmer (SCJP) 5.0
Analista de Sistemas
http://www.evandrosantos.com
mochuara
Virtual Machine Man
[Avatar]

Membro desde: 20/05/2009 11:21:32
Mensagens: 871
Online

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


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.

This message was edited 1 time. Last update was at 01/02/2010 11:11:56


C++ is a general purpose programming language designed to make programming more enjoyable for the serious programmer. (Stroustrup 1987)
mochuara
Virtual Machine Man
[Avatar]

Membro desde: 20/05/2009 11:21:32
Mensagens: 871
Online

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

C++ is a general purpose programming language designed to make programming more enjoyable for the serious programmer. (Stroustrup 1987)
Luiz Aguiar
Moderador
[Avatar]

Membro desde: 23/01/2005 00:05:55
Mensagens: 2936
Localização: São Paulo
Offline

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.

-
Blog de Tecnologia
Blog de Fotografia - visitem !!!
@laguiar





[WWW] [MSN] [ICQ]
mochuara
Virtual Machine Man
[Avatar]

Membro desde: 20/05/2009 11:21:32
Mensagens: 871
Online

Luiz Aguiar wrote: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.

This message was edited 1 time. Last update was at 01/02/2010 11:29:51


C++ is a general purpose programming language designed to make programming more enjoyable for the serious programmer. (Stroustrup 1987)
ovelha
JavaGuru
[Avatar]

Membro desde: 12/09/2007 13:17:41
Mensagens: 216
Offline


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


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



além da sintaxe outro problema da Scala é não ser funcional


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.

bééééééééééééééééé
mochuara
Virtual Machine Man
[Avatar]

Membro desde: 20/05/2009 11:21:32
Mensagens: 871
Online

ovelha wrote:

além da sintaxe outro problema da Scala é não ser funcional


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.


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!

This message was edited 1 time. Last update was at 01/02/2010 11:52:12


C++ is a general purpose programming language designed to make programming more enjoyable for the serious programmer. (Stroustrup 1987)
Leonardo3001
Virtual Machine Man

Membro desde: 04/07/2007 18:28:58
Mensagens: 824
Offline

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


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.

Leonardo Veríssimo
-------------------------------------------------
Objectzilla
[WWW]
mcbarsotti
JavaGuru
[Avatar]

Membro desde: 11/05/2006 12:10:38
Mensagens: 294
Offline

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

This message was edited 1 time. Last update was at 01/02/2010 15:54:16


Obs.: O texto acima não é uma verdade soberana, não precisa cortar os pulsos caso não concorde.

[]'s
[MSN]
aoqfonseca
Thread.start()

Membro desde: 28/03/2006 22:58:17
Mensagens: 36
Offline

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
Virtual Machine Man
[Avatar]

Membro desde: 01/06/2005 13:23:32
Mensagens: 989
Localização: Porto Velho-RO
Online

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


Tambem fiquei sem entender esta tua afirmação.

http://www.scala-lang.org/node/25 wrote:
Scala is object-oriented

Scala is a pure object-oriented language in the sense that every value is an object. Types and behavior of objects are described by classes and traits. Classes are extended by subclassing and a flexible mixin-based composition mechanism as a clean replacement for multiple inheritance.

Scala is functional

Scala is also a functional language in the sense that every function is a value. Scala provides a lightweight syntax for defining anonymous functions, it supports higher-order functions, it allows functions to be nested, and supports currying. Scala's case classes and its built-in support for pattern matching model algebraic types used in many functional programming languages.

Furthermore, Scala's notion of pattern matching naturally extends to the processing of XML data with the help of right-ignoring sequence patterns. In this context, sequence comprehensions are useful for formulating queries. These features make Scala ideal for developing applications like web services.


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


Há tantos burros mandando em homens de inteligência, que, às vezes, fico pensando que a burrice é uma ciência.
Ruy Barbosa.
mochuara
Virtual Machine Man
[Avatar]

Membro desde: 20/05/2009 11:21:32
Mensagens: 871
Online

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


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.

C++ is a general purpose programming language designed to make programming more enjoyable for the serious programmer. (Stroustrup 1987)
 
Índice dos Fóruns » Notícias
Ir para:   
Powered by JForum 2.1.8 © JForum Team