Pular para o conteúdo principal

Guia para iniciantes em Scala

Aprenda o básico de Scala, incluindo sintaxe, como configurar o ambiente e os principais tipos de dados.
· 6 min leer

Explore com IA

Introdução

logo do scala

Scala foi criada por Martin Odersky, professor na École Polytechnique Fédérale de Lausanne (EPFL), na Suíça, e cientista da computação alemão. Martin começou a trabalhar na linguagem em 2001 e o primeiro lançamento ocorreu em 2004.

Scala significa Scalable Language. É uma linguagem de propósito geral, orientada a objetos, que tem diversos pontos em comum com Java. Também oferece suporte a programação funcional. Muitas das decisões de design do Scala visam resolver limitações da linguagem Java.

Alguns recursos que o Scala oferece:

  • O código-fonte de Scala pode ser compilado para bytecode Java e, portanto, executado na Java Virtual Machine (JVM).

  • Interoperabilidade com Java: bibliotecas escritas em qualquer uma das linguagens podem ser utilizadas em bases de código Scala ou Java.

  • Assim como Java, Scala também usa sintaxe com chaves.

  • Incorpora vários recursos de linguagens funcionais como Scheme, Standard ML e Haskell, incluindo currying, inferência de tipos, imutabilidade, avaliação preguiçosa (lazy) e pattern matching.

  • Suporte a aplicativos Web usando JavaScript.

  • Diferente de Java, Scala suporta sobrecarga de operadores, parâmetros opcionais, parâmetros nomeados e strings brutas.

Um fato interessante sobre Scala é que ele é amplamente usado por empresas como Apple, Twitter, Walmart e Google, graças à sua escalabilidade e à capacidade de uso em operações de backend.

Configurando Scala no Jupyter Notebook

O Jupyter Notebook é uma das ferramentas mais usadas em computação, especialmente em ciência de dados. Ele também oferece suporte a desenvolvimento em Scala com a ajuda do spylon-kernel.

Observação: Se você é novo no Jupyter Notebook, vale a pena conferir este guia completo.

Configurar o ambiente Scala no Jupyter Notebook é simples. Vamos fazer isso rapidamente em poucos passos.

  • Primeiro, instale o spylon-kernel.

    pip install spylon-kernel (Python 2)
    pip3 install spylon-kernel (Python 3)

  • Depois, crie a especificação do kernel para poder selecionar o scala-kernel no Jupyter Notebook.

    python -m spylon_kernel install (Python 2)
    python3 -m spylon_kernel install (Python 3)

  • Em seguida, uma etapa importante: instale pyspark e findspark, já que o spylon-kernel também instala alguns componentes do spark.

    pip install pyspark findspark (Python 2)
    pip3 install pyspark findspark (Python 3)

  • Por fim, inicie o Jupyter Notebook, escolha o kernel spylon-kernel e pronto!

exemplo de jupyter notebook

  • Vamos rodar um pequeno trecho de código para testar se o kernel Scala foi configurado corretamente.
val x = 2
val y = 3
x*y
x: Int = 2
y: Int = 3
res1: Int = 6

Perfeito! Como você pode ver na saída acima, a configuração do ambiente Scala no Jupyter Notebook foi concluída com sucesso.

Sintaxe básica

Vamos começar imprimindo Hello, World! em Scala.

print("Hello, World!")
Hello, World!

Bem simples: um comando print seguido do texto como argumento.

Agora, alguns detalhes de sintaxe em Scala:

  • Scala diferencia maiúsculas de minúsculas (case-sensitive). Ou seja, os identificadores DataCamp e dataCamp têm significados diferentes.

  • Em Scala, os nomes de classes devem começar com letra maiúscula. Se o nome tiver várias palavras, a primeira letra de cada uma deve ser maiúscula. Exemplo: class MyScalaDataCampTutorial.

  • Os nomes de métodos seguem uma convenção diferente de nomes de classes, principalmente para distingui-los. Os métodos devem começar com letra minúscula (Fonte). Se houver várias palavras, cada palavra interna começa com maiúscula. Exemplo: def firstDatacampScalaTutorial()

  • Em Scala, o nome do arquivo do programa deve corresponder exatamente ao nome do objeto. Ao salvar, use o nome do objeto e acrescente .scala. Por exemplo, se o objeto se chama ScalaTutorial, o arquivo deve ser ScalaTutorial.scala.

    Observação: se o nome do arquivo e do objeto não forem iguais, o programa nem compila.

  • Por fim, como na maioria das linguagens, a execução de um programa em Scala começa pelo método main(), que é parte essencial de qualquer programa em Scala.

A figura abaixo mostra as palavras reservadas do Scala, que não podem ser usadas como constantes, variáveis ou quaisquer outros identificadores.

palavras reservadas em scala
(Fonte)

Tipos de dados

Os tipos de dados em Scala são quase idênticos aos de várias outras linguagens como C, C++, Java, Python etc., com tamanhos e precisão semelhantes.

Por fim, confira alguns tipos de dados existentes em Scala:

  • Int: Um valor assinado de 32 bits (aceita valores positivos e negativos) com faixa de $2^{-31}$ a $2^{31} - 1$

  • Byte: Um valor assinado de 8 bits com faixa de $2^{-7}$ a $2^{7} - 1$

  • Short: Um valor assinado de 16 bits com faixa de $2^{-15}$ a $2^{15} - 1$

  • Long: Um valor assinado de 64 bits com faixa de $2^{-63}$ a $2^{63} - 1$

  • Float: Tanto 32 bits (ponto flutuante de precisão simples) quanto 64 bits (ponto flutuante de dupla precisão)

  • Char: Um caractere Unicode sem sinal de 16 bits (aceita apenas valores positivos).

Outros tipos de dados incluem String, Boolean e Null.

Conclusão

Parabéns por concluir este tutorial.

É um ótimo ponto de partida para quem quer aprender Scala.

Para continuar aprendendo, confira os tutoriais de Scala da DataCamp:

Noções básicas de funções e métodos em Scala

IF ELSE em Scala

Operadores em Scala

Listas em Scala

Há uma infinidade de tópicos sobre Scala ainda por explorar — como if/else, laços for, vários operadores etc. — que serão abordados em tutoriais futuros. Fique de olho!

Referências:

Se tiver dúvidas sobre este tutorial, deixe sua pergunta nos comentários abaixo.

Temas

Relacionado

Tutorial

RStudio Tutorial

Tutorial

Tutorial de estruturas de dados Python