Tutorial de Scala Parte 1Scala e uma linguagem de programacao que adota o paradigma funcional, tendo como principal caracteristica a execucao de seus scripts atraves de uma maquina virtual Java (JVM). Scala e enquadrada na categoria das linguagens dinamicas, com forte integracao com as bibliotecas criadas para a plataforma Java.As OrigensScala foi criada por Martin Odersky, um professor do Swiss Federal Institute of Technology in Lausanne (EPFL). Odersky e sua equipe comecaram um projeto de pesquisa para melhorar os paradigmas de programacao existentes. O envolvimento dele com o mundo das linguagens de programacao remetem para o ano de 1995, quando em conjunto com Philip Wadler comecaram a pesquisar os fundamentos de uma maquina virtual. Em 1997, Odersky foi contratado pela Sun para liderar o time que iria escrever o codigo do compilador Java para a versao 1.1 da linguagem. A partir desse primeiro trabalho, ele liderou a equipe de desenvolvimento do javac ate a versao 1.4. Odesky e Wadler iniciaram em seguida o desenvolvimento de uma linguagem de programacao chamada Pizza, que tinha como principais caracteristicas a adocao de tipos genericos, funcoes de primeira classe e expressoes regulares com pattern matching. Esse linguagem tambem tinha uma caracteristica peculiar: seu codigo era compilado em bytecodes Java e rodava em cima de uma JVM. Pizza foi evoluindo dentro da Sun ate virar uma linguagem chamada Generics Java (GJ), uma extensao de Java com suporte a tipos genericos. Em seguida, GJ evoluiu para uma especificacao formal da plaforma (JSR-014) e em 2004 virou definitivamente Java Generics.Em paralelo a todo esse trabalho em cima de generics, Odesky comecou a criacao de uma nova linguagem de programacao em 2001. A linguagem era a Scala e foi utilizada como referencia para as suas aulas no EPFL. Em 2003, a linguagem teve o seu primeiro release disponivel para a comunidade de programadores. Em 2006, a versao 2.0 de Scala foi lancada e vem evoluindo rapidamente com a colaboracao de Lex Spoon, Burak Emir, Adriaan Moors, Philipp Haller, entre outros. Odesky continua como lider do projeto e principal commiter das alteracoes significativas na linguagem, atualmente em sua versao 2.7.5.Pre-requisitosOs pre-requisitos para instalacao de Scala sao relativamente simples. Voce precisa apenas ter o JDK 1.5 ou superior instalado e configurado em sua maquina. Se voce esta utilizando as versoes mais recentes do MacOS, o JDK ja esta em sua maquina. Caso o seu sistema operacional seja Linux, tente instalar os pacotes do JDK seguindo as instrucoes especificas de sua distribuicao. Para os usuarios do Windows, baixe o instalador diretamente do site da Sun (http://java.sun.com ) e siga as instrucoes de instalacao.O proximo passo e baixar a ultima versao do Scala no endereco http://www.scala-lang.org/downloads . Essa opcao nao e necessaria se voce decidir usar a linguagem a partir de uma IDE, como o Eclipse. Para maiores detalhes dessa opcao veja a secao Instalando Scala no Eclipse.Instalando ScalaA maneira mais simples e recomendavel para instalar Scala e utilizar a ferramenta lzPack, disponivel na pagina de downloads da linguagem. Esse utilitario esta disponivel em http://www.scala-lang.org/downloads , e a sua execucao e relativamente simples, independente