Cursos

Scala : Curso gratuito com guru da linguagem

Curso de Scala excelente, cobrindo diversos aspectos básicos da linguagem e possuindo uma série de exercícios bem bacanas de programação.

Background Image

Muito tem se falado sobre o poder das linguagens funcionais atualmente – o velho entrou (novamente) na moda. Fiz há alguns meses o curso “Functional Programming Principles in Scala” do Coursera, que é ministrado pelo próprio Martin Odersky – pai da linguagem e quase uma lenda viva da programação.

O curso é realmente excelente, cobrindo diversos aspectos básicos da linguagem e possuindo uma série de exercícios bem bacanas de programação.

Módulos:

  • Primeira Semana: : Getting Started + Functions & Evaluation
  • Segunda Semana : Higher Order Functions
  • Terceira Semana : Data and Abstraction
  • Quarta Semana : Types and Pattern Matching
  • Quinta Semana : Lists
  • Sexta Semana : Collections

O curso tem datas de aberturas frequentes e vale ficar de olho. O endereço é esse aqui.

Especialização

Para os mais empolgados é possível ir além pois o Coursera liberou uma especialização completa de programação funcional em Scala – indo além do curso acima.

Caso tenha interesse, você pode realizar o Functional Programming in Scala Specialization, que é composto por 5 cursos (o curso que recomendei acima é o primeiro da lista).

A especialização tem cerca de 56 horas de aulas e caso você opte por pagar, poderá então receber um certificado ao final.

O que é Scala?

Linguagem de programação de propósito geral criada para mais concisa do que Java e capaz de expressar conceitos de forma menos prolixa, a partir de experiências com a linguagem de programação funcional chamada Haskell.

Scala é uma linguagem de programação orientada a objetos e funcional, o que significa que ela suporta tanto a programação orientada a objetos quanto a programação funcional. Certamente, isso a torna uma ferramenta poderosa para muitos tipos de desenvolvimento de software, incluindo aplicações web, aplicativos de nuvem e aplicativos distribuídos.

Scala é uma linguagem popular?

É uma linguagem de programação relativamente popular, embora não seja tão utilizada quanto linguagens como Java ou C++.

No entanto, ela é utilizada em alguns contextos, especialmente em aplicações de grande escala, onde as suas capacidades de concisão e escalabilidade são particularmente úteis.

Ela é utilizada em empresas como Twitter, LinkedIn e Netflix, bem como em muitos projetos de código aberto. Ela também é uma das linguagens de programação mais populares para trabalhar com o framework de análise de dados Apache Spark.

Scala e o mundo Open Source

Vários projetos de código aberto utilizam Scala. Por exemplo:

  • Apache Spark: um framework de análise de dados distribuído, utilizado para processar grandes conjuntos de dados em tempo real.

  • Akka: um framework de sistemas distribuídos para construir aplicativos altamente escaláveis e tolerantes a falhas.

  • Play Framework: um framework para desenvolvimento de aplicativos web que visam simplicidade, performance e produtividade.
  • sbt: uma ferramenta de build para Scala e Java, sendo utilizada para automatizar tarefas de compilação, teste e implantação de aplicativos.

Por que aprender Scala?

Há várias razões pelas quais alguém poderia escolher aprender Scala:

  • Scala é uma linguagem de programação muito expressiva e concisa, o que pode tornar mais fácil para os programadores escrever código de alta qualidade.

  • Scala é uma linguagem de programação orientada a objetos e funcional. Isso pode torná-la uma ferramenta muito versátil para muitos tipos de desenvolvimento de software, pois fornece uma ampla variedade de opções de programação para os desenvolvedores

  • Muitas empresas de tecnologia de ponta utiliza Scala, especialmente em aplicações de grande escala. Certamente aprender Scala é uma ótima maneira de se preparar para uma carreira em uma empresa de tecnologia ou em projetos de código aberto.

  • Muito popular para trabalhar com o framework de análise de dados Apache Spark – amplamente utilizado para processar grandes conjuntos de dados em tempo real. Portanto, se você estiver interessado em análise de dados ou ciência de dados, aprender Scala pode ser uma ótima maneira de entrar neste campo.