Pular para o conteúdo principal

Começando em Scala

Há um tempinho atrás fui apresentado para uma nova linguagem de programação, que tem crescido bastante lá fora: Scala! Ela apresenta características interessantes como:
  • roda na JVM, o que significa que não preciso abandonar todos os frameworks, bibliotecas e módulos já desenvolvidos em Java
  • suporta o paradigma de programação funcional, que é algo que eu estava interessado em aprender, porém não abandona o paradigma de orientação a objetos, permitindo uma transição mais suave e escrita de programas mistos.

Apesar disso eu estava meio relutante pois ouvi tanto elogios à linguagem, vindos de gurus Java conhecidos, quanto comentários sobre sua complexidade vindos de outros gurus. Mas resolvi dar uma chance à linguagem e formar minha própria opinião embasada em alguma experiência prática. Resultado: me apaixonei pela linguagem! É divertido programar em Scala! Todo mundo que gosta de programação deveria aprender Scala!

Mas por que tanta gente reclama que a linguagem é muito complexa? Eu acho que parte da culpa disso é dos próprios apaixonados por Scala. A linguagem é extremamente poderosa e por isso possui recursos avançados que poucos compreendem. Eu digo que é como o poder da força de Star Wars! Você tem que tomar cuidado para não cair para o lado negro! Alguns entusiastas de Scala se empolgam demais com os recursos mais avançados e fazem demos ou apresentações que se tornam incompreensíveis para os não iniciados! E isso acaba gerando a fama de complexidade do Scala! Mas se você tiver paciência para aprender a andar antes de correr pode dominar a força e virar um Jedi!

Para ajudar a desmistificar a linguagem pretendo escrever uma série de posts, focando nestes aspectos mais básicos, que todos deveriam conhecer para apreciar Scala.

Começamos preparando o ambiente para o desenvolvimento. O primeiro passo é fazer o download do Scala no site oficial e configurar algumas variáveis de ambiente, de maneira semelhante ao que fazemos para o Java, certo? Não necessariamente! Para aqueles que gostam de Maven, é possivel configurar o Scala como uma dependência de projeto. Vou abordar a integração de Maven com Scala em um outro post, então vamos fazer agora da maneira mais tradicional:

  1. Podemos baixar o Scala de http://www.scala-lang.org/downloads. A versão estável mais atual é a 2.9.2 lançada em Abril deste ano (2012). Basicamente precisamos ter o Java a partir da versão 5 instalado na máquina e vamos descompactar os arquivos do Scala em algum diretório desejado.
  2. Configuramos uma variável de ambiente SCALA_HOME para o diretório onde descompactamos os arquivos
  3. Adicionamos SCALA_HOME/bin na variável de ambiente PATH para poder executar as ferramentas via linha de comando

São praticamente os mesmos passos que seguimos para a instalação do Java. A partir daí já podemos começar a escrever código em Scala. Um recurso muito interessante para os iniciantes se familiarizarem com a sintaxe da linguagem e mesmo para os veteranos executarem testes de APIs é um interpretador chamado REPL. Basta digitar scala no terminal e o interpretador é iniciado.

No terminal, basta digitar instruções Scala que o interpretador vai executando linha a linha. Para sair do interpretador basta digitar :quit

Mas vai chegar um momento onde cansamos de brincar com a linguagem e decidimos fazer um desenvolvimento mais sério. Para isso queremos utilizar uma IDE, de preferência a mesma que já utilizamos para desenvolvimento Java. Para isso contamos com plugins:

Com isso temos um ambiente pronto para desenvolvimento em Scala! Nos próximos posts vou escrever sobre a integração Maven/Scala e a escrita de testes unitários para projetos Java utilizando Scala, que é um excelente começo para familiarização com a linguagem!

Comentários

Postagens mais visitadas deste blog

Saiba como programar para Arduino sem ter nenhum hardware disponível

O Arduino já é uma tecnologia muito difundida entre os amantes de tecnologia. É difícil encontrar um profissional da computação que não brincou um pouco com esta ferramenta de prototipagem ou, que gostaria de fazer isso. Porém, em alguns casos, o programador quer conhecer o arduino mas não dispõe de nenhum hardware, nem mesmo da placa. Como isso poderia ser resolvido? A primeira resposta seria aquela mais simples e direta: ir as compras. Isso pode ser feito em uma loja física ou pela internet. No meu caso, por exemplo, tive a felicidade de encontrar em um site (não me lembro qual) um kit arduino, com um conjunto de sensores e um DVD com 41 vídeo aulas. Mas digamos que o profissional não esteja passando por um bom momento financeiro, ou ainda, simplesmente não queira comprar o Arduino sem antes conhecê-lo um pouco melhor. Para a última situação também já existe uma resposta, e diga-se de passagem, uma excelente resposta. Trata-se do site 123D Circuits.io . Depois de criar seu u

Entendendo como funciona a programação de computadores: linguagens de programação, lógica, banco de dados

Nesse post, diferente dos últimos que foram mais enfáticos nas experiências com tecnologias, vou focar um pouco mais nos profissionais que estão começando, ou pretendem ingressar na área de desenvolvimento de software, falando sobre conceitos fundamentais relacionados a programação em geral . Mercado de trabalho para programação Conforme já sabemos, o mercado de desenvolvimento de software, especialmente no Brasil, continua em franca expansão, sendo que cada vez mais as empresas buscam desenvolver seus próprios sistemas usando as mais diferentes e novas tecnologias. Algumas matérias interessantes: As seis profissões mais valorizadas em 2010 no IDG Now! Muitas vagas e sensação de reaquecimento da economia Por isso, a área de desenvolvimento de software tem despertado interesse em muitos profissionais de outras áreas que desejam mudar de profissão, já que as oportunidades de trabalho tendem a ser maiores. Esse é um perfil presente em muitos dos clientes da Globalcode que acabou m

JSON fácil em Java com GSon !

Ola pessoal ! O formato JSON ( J ava S cript O bject N otation) vem se consagrando cada vez mais na comunicação de dados, principalmente nos dispositivos móveis devido a esse formato ser mais leve que o XML e também mais legível. Uma prova disso são as inúmeras bibliotecas que existem para manipular esse formato, e no caso do Android, o suporte ao JSON é nativo. Mas apesar de ter esse suporte nativo, algumas operações devem ser feitas manualmente e o código acaba ficando um pouco verboso e repetitivo, já que para cada objeto que se deseja transmitir é necessário fazer um método que lê as propriedades do JSON e faz as devidas atribuições no seu objeto Java. Vamos supor o seguinte objeto sendo transmitido em JSON: {   user: {     id: 123456,     name: "Neto Marin",     username: "netomarin",     email: "netomarin@globalcode.com.br"   } } Se você fosse tratar um Webservice que envia esse JSON para o seu aplicativo Android, além de criar a o