Scala é uma linguagem de programação que adota o paradigma funcional, tendo como principal característica a execução de seus scripts através de uma máquina virtual Java (JVM). Scala é enquadrada na categoria das linguagens dinâmicas, com forte integração com as bibliotecas criadas para a plataforma Java.

As Origens

Scala foi criada por Martin Odersky, um professor do Swiss Federal Institute of Technology in Lausanne (EPFL). Odersky e sua equipe começaram um projeto de pesquisa para melhorar os paradigmas de programação existentes. O envolvimento dele com o mundo das linguagens de programação remetem para o ano de 1995, quando em conjunto com Philip Wadler começaram a pesquisar os fundamentos de uma máquina virtual. Em 1997, Odersky foi contratado pela Sun para liderar o time que iria escrever o código do compilador Java para a versão 1.1 da linguagem. A partir desse primeiro trabalho, ele liderou a equipe de desenvolvimento do javac até a versão 1.4. Odesky e Wadler iniciaram em seguida o desenvolvimento de uma linguagem de programação chamada Pizza, que tinha como principais características a adoção de tipos genéricos, funções de primeira classe e expressões regulares com “pattern matching“. Esse linguagem também tinha uma característica peculiar: seu código era compilado em bytecodes Java e rodava em cima de uma JVM. Pizza foi evoluindo dentro da Sun até virar uma linguagem chamada Generics Java (GJ), uma extensão de Java com suporte a tipos genéricos. Em seguida, GJ evoluiu para uma especificação formal da plaforma (JSR-014) e em 2004 virou definitivamente Java Generics.

Em paralelo a todo esse trabalho em cima de generics, Odesky começou a criação de uma nova linguagem de programação em 2001. A linguagem era a Scala e foi utilizada como referência para as suas aulas no EPFL. Em 2003, a linguagem teve o seu primeiro release disponível para a comunidade de programadores. Em 2006, a versão 2.0 de Scala foi lançada e vem evoluindo rapidamente com a colaboração de Lex Spoon, Burak Emir, Adriaan Moors, Philipp Haller, entre outros. Odesky continua como líder do projeto e principal commiter das alterações significativas na linguagem, atualmente em sua versão 2.7.5.

Pré-requisitos

Os pré-requisitos para instalação de Scala são relativamente simples. Você precisa apenas ter o JDK 1.5 ou superior instalado e configurado em sua máquina. Se você está utilizando as versões mais recentes do MacOS, o JDK já está em sua máquina. Caso o seu sistema operacional seja Linux, tente instalar os pacotes do JDK seguindo as instruções específicas de sua distribuição. Para os usuários do Windows, baixe o instalador diretamente do site da Sun (http://java.sun.com) e siga as instruções de instalação.

O próximo passo é baixar a última versão do Scala no endereço http://www.scala-lang.org/downloads. Essa opção não é necessária se você decidir usar a linguagem a partir de uma IDE, como o Eclipse. Para maiores detalhes dessa opção veja a seção “Instalando Scala no Eclipse”.

Instalando Scala

A maneira mais simples e recomendável para instalar Scala é utilizar a ferramenta lzPack, disponível na página de downloads da linguagem. Esse utilitário está disponível em http://www.scala-lang.org/downloads, e a sua execução é relativamente simples, independente do sistema operacional utilizado.

Para os usuários do Windows, certifique-se que o JDK tenha sido instalado corretamente, com a varíavel de ambiente JAVA_HOME devidamente configurada. Em seguida, basta dar um duplo clique no arquivo scala-2.7.x.final-installer.jar e verificar se a tela mostrada na Figura 1.1 apareceu normalmente.

image-1.1

Figura 1.1 – Instalador do Scala
Siga o processo de instalação e após completar essa etapa, você deverá criar a variável de ambiente SCALA_HOME e atualizar a variável PATH para incluir uma referência para %SCALA_HOME%\bin;.

Para os usuários das várias distribuições Linux, o processo é basicamente o mesmo. Baixe o instalador e execute-o com o comando sudo java -jar scala-2.7.x.final-installer.jar. Se você não estiver utilizando um ambiente gráfico (Gnome ou KDE), o instalador irá executar em modo texto. De forma semelhante, siga as instruções até completar todo o processo de instalação. Para usuários do Ubuntu, ainda é possível instalar Scala a partir do utilitário apt-get ou do gerenciador de pacotes Synaptic. Para instalar em linha de comando digite sudo apt-get install scala.

Para verificar se tudo correu sem problemas, abra uma janela de prompt (ou terminal no Linux) e digite scala no Windows ou ./scala no Linux. Deverá ser exibida uma tela semelhante à Figura 1.2 abaixo.

image-1.2
Figura 1.2 – Executando Scala


Para sair da ferramenta de linha de comando do Scala, digite exit.

Instalando Scala no Eclipse

Uma alternativa para os usuários da IDE Eclipse é fazer a instalação do Scala diretamente dentro dessa ferramenta de desenvolvimento. Essa opção apresenta algumas vantagens para o uso regular de Scala como linguagem de programação, como por exemplo, o uso de um editor de código sensível ao contexto, recursos de autocomplete, marcadores de erros, indentação do código, entre outras características típicas de ambientes integrados de desenvolvimento.

Durante a escrita desse capítulo, utilizei a versão mais recente do Scala IDE para o Eclipse 3.5 ou superior (as versões mais antigas do Eclipse executam esse plugin com várias restrições). Para instalar o plugin para essa versão do Eclipse, vamos utilizar a ferramenta de instalação da IDE. Após entrar no Eclipse, navegue pelo menu Help, e escolha a opção Install New Software. Após a exibição da tela de instalação, no campo Work with, digite a URL do repositório do plugin: http://www.scala-lang.org/scala-eclipse-plugin e clique em Add. A tela mostrada na Figura 1.3 deverá ser exibida.

image-1.3

Figura 1.3 – Instalando o plugin Scala

No campo Name marque a opção Scala e clique em Next, seguindo o processo de instalação até o fim. Para testar a instalação, crie um novo projeto, clicando em File -> New ->…-> Scala Project. A tela mostrada na Figura 1.4 é apresentada. Digite o nome do projeto como Hello e clique em Finish.

image-1.4

Figura 1.4 – Criando um projeto Scala

Será mostrada a view do Scala, com o projeto Hello criado. Crie uma aplicação Scala clicando com o botão direito e escolhendo New -> Scala Application. No campo Object name digite HelloWorld e confirme. Será criado um arquivo com extensão .scala, onde você deverá digitar o código abaixo:
object HelloWorld {
  def main(args : Array[String]) : Unit = {
    println(”Hello World Scala!)
  }
}
Para executar o objeto criado, clique com o botão direito e escolha Run as -> Scala Application. Deverá ser mostrada uma tela com o resultado da execução semelhante à Figura 1.5.
image-1.5
Figura 1.5 – Executando a aplicação


Instalando Scala no Netbeans

Durante a escrita desse capítulo só existiam plugins Scala para o Netbeans em estágio de desenvolvimento, o que pode ser fonte de erros e chateação para quem for utilizá-los. Como pré-requisito principal para instalação, é exigida a versão 6.7 do Netbeans ou superior. Para iniciar a instalação, baixe a última versão do plugin da URL http://sourceforge.net/projects/erlybird/files/nb-scala/nb-scala%206.7v1/nb-scala-6.7v1.zip/download. Descompacte o plugin em um diretório de sua máquina e entre no Netbeans. Escolha a opção Ferramentas -> Plugins. Clique na aba Baixados, selecione todos os arquivos com extensão .nbm e instale o plugin do Scala a partir do diretório onde ele foi descompactado.

Para testar a instalação, crie um novo projeto Scala escolhendo as opções Arquivo -> Novo Projeto. Em seguida, escolha Scala e Scala Application e pressione Next.  No campo Project Name digite Hello e confirme. Para o nosso exemplo simples do HelloWorld o Netbeans já cria um objeto Main, com o código necessário para imprimir o texto. Clique no objeto e execute-o. Deverá ser mostrada uma tela semelhante à da Figura 1.6, com a execução da aplicação.

image-1.6

Figura 1.6 – Scala no Netbeans