Use o código e tenha 10% de desconto!

Scala Como escalar sua produtividade

Paulo Siqueira

Prefácio

Uma leitura focada em iniciantes, este livro é um bom ponto de partida para o leitor que sabe pouco ou nada sobre a linguagem Scala e está curioso sobre como ela funciona. Um pouco de experiência com programação ajudará o leitor a seguir o conteúdo do livro, mas não é necessário nenhum conhecimento mais avançado.

Serão apresentadas as características e recursos principais da linguagem, bem como conceitos indispensáveis para seu uso efetivo, em especial conceitos sobre Programação Funcional. Os recursos apresentados são o ponto de partida para conceitos mais avançados da linguagem, portanto, neste livro focamos em construir o conhecimento mínimo necessário para se trabalhar com Scala. 

Além de conceitos, o livro também aborda elementos da API que todo programador Scala precisa conhecer, incluindo (mas não se limitando a) classes e hierarquia das classes fundamentais da linguagem, API de coleções e parseamento de arquivos XML. 

Blabla

Para quem já tem algum conhecimento em Scala, o livro também pode ser útil. O leitor talvez queira apenas pular até o capítulo 6 ou 7, onde começamos a abordar a API de coleções e elementos de Programação Funcional, seguido de recursos mais avançados da linguagem. 

Boa leitura! 

SOBRE O LIVRO

 

Se você já sabe programar e agora quer aprender um pouco sobre a linguagem Scala, este livro é para você. O objetivo do livro não é tornar o leitor em um especialista na linguagem, mas sim mostrar o caminho das pedras para quem está começando a estudála. Mostrar onde estão os elementos fundamentais para que o leitor possa continuar sua jornada no futuro, sabendo o que investigar quando tiver dificuldades. 

Ao final do livro, o leitor conseguirá entender e participar de projetos Scala, bem como terá adquirido conhecimentos em Programação Funcional, um paradigma indispensável para quem realmente quer aprender a linguagem, e também cada vez mais importante em aplicações que precisam ser altamente escaláveis. 

Este livro também vai ajudar o leitor que está considerando adicionar Scala em um projeto Java e não sabe por onde começar. Como mencionaremos no decorrer do livro, Java e Scala se integram muito bem, portanto esse também é um ponto de partida recomendado. 

Por fim, nem todo mundo gosta de ler código-fonte em um livro. Logo, para facilitar a vida de quem quiser acessar todos os exemplos do livro de uma forma mais simples, criamos um repositório no GitHub: https://github.com/jcranky/scalando. Eventuais correções necessárias nos códigos serão aplicadas lá também. 

 

Sumário

  • 1 Introdução a Scala
    • 1.1 O mínimo que você precisa saber sobre Scala
    • 1.2 Instalação
    • 1.3 Nosso primeiro programa
    • 1.4 Scaladoc
    • 1.5 REPL
    • 1.6 Inferência de tipos
    • 1.7 Um pouco de história
  • 2 Acessando fotos do Flickr
    • 2.1 Conhecendo nosso problema
    • 2.2 Modelos e funções
    • 2.3 Como seria em Java?
    • 2.4 Como seria no Java 8?
  • 3 Classes e objetos
    • 3.1 Nossa primeira classe
    • 3.2 val vs. var
    • 3.3 Métodos e funções
    • 3.4 Construtores
    • 3.5 Parâmetros default e nomeados
    • 3.6 objects
    • 3.7 Classes abstratas
  • 4 Case classes e pattern matching
    • 4.1 Case classes
    • 4.2 Case objects
    • 4.3 Pattern matching com case classes e object
    • 4.4 Método unapply e pattern matching com qualquer classe
    • 4.5 Método de fábrica apply
  • 5 Hierarquia das classes básicas da linguagem
    • 5.1 Option, Some e None
    • 5.2 Any-o que?
    • 5.3 Null, Nothing, Unit e ???
    • 5.4 Exceptions
    • 5.5 Value Classes
  • 6 Coleções
    • 6.1 Elemento básico: TraversableLike
    • 6.2 Sets
    • 6.3 Lists
    • 6.4 Tuplas
    • 6.5 Maps
    • 6.6 Arrays
    • 6.7 Coleções imutáveis versus coleções mutáveis
  • 7 Programação funcional
    • 7.1 O que é Programação Funcional?
    • 7.2 Recebendo funções com dois ou mais parâmetros
    • 7.3 Encontrando elementos: filter e find
    • 7.4 Transformando elementos: map
    • 7.5 Mapeando resultados com coleções aninhadas
    • 7.6 Agregando resultados: fold e reduce
  • 8 Tipagem avançada
    • 8.1 Tipos parametrizados
    • 8.2 Limites de tipos: Type Bounds
    • 8.3 Tipos invariantes, covariantes e contravariantes
  • 9 Um pouco de açúcar: for comprehensions
    • 9.1 Percorrendo múltiplas coleções de forma legível
    • 9.2 Mantendo a imutabilidade
    • 9.3 O segredo do for: Monads
  • 10 Classes abstratas e traits
    • 10.1 Classes abstratas
    • 10.2 Traits
    • 10.3 Classes seladas
    • 10.4 Herança múltipla e o problema do diamante
  • 11 Parseando XML
    • 11.1 O básico de XML em Scala
    • 11.2 Parseando a resposta XML do Flickr
  • 12 Implicits
    • 12.1 Adicionando funcionalidade a tipos existentes: conversões implícitas
    • 12.2 Conversões implícitas ambíguas
    • 12.3 Passando parâmetros sem passar nada: parâmetros implícitos
    • 12.4 Como o sum soma valores "somáveis"?
  • 13 Colocando tudo junto
    • 13.1 Bibliotecas e ferramentas
    • 13.2 Componentes da API
    • 13.3 Considerações finais
  • 14 O fim, e o começo

Dados do produto

Número de páginas:
195
ISBN:
978-85-5519-234-0
Data publicação:
12/2016

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter