📅 Ebook GRATUITO 🚀 Como preparar o seu site para receber muitos acessos? 💰

Kinghost | Blog

Conceitos de Programação Funcional com Scala

Publicado em 05/10/2016

Atualizado em 26/04/2023

Quando falamos em programação em geral, vários paradigmas costumam aparecer. Ultimamente a programação funcional tem sido mencionada bastante em conferências e artigos. O fato é que hoje poucos desenvolvedores conhecem de fato esse paradigma. O mercado é focado na abordagem imperativa (orientada a objetos), entretanto, vários conceitos utilizados em API’s e bibliotecas que são escritas OO, vem da programação funcional. Programação funcional é um paradigma onde o código é composto de várias expressões (pode se pensar em funções que recebem um valor e sempre retornam algum valor) e não declarações, evitando ao máximo a mudança de estado de objetos e variáveis mutáveis. Então, ao utilizar Scala, você deve programar “orientado a expressões”.

No Scala, alguns blocos de controle como if retornam valores, por exemplo:

fidelis

Como pode ver, if no scala é uma expressão. Similar ao if utilizado em linguagens como Java, que utiliza o operador “? :” para retornar valor. Um conceito chave é perceber que não é necessário utilizar a palavra “return”. Uma expressão sempre vai retornar um valor. Enquanto em Java é pratica comum utilizar return para qualquer método. Em Scala, a ultima instrução da função será a instrução que retornara o valor. Abaixo um exemplo.

Java

fidelis2

Aqui definimos a função para mapear um código de erro a uma mensagem. Em Scala match é equivalente ao “switch” do Java. Caso não encontre, ele vai cair no “case _” que seria equivalente ao “default”.

Scala

fidelis3

Percebemos que ao invés de utilizar “var” foi usado “val”. Isso faz com que o “result” se torne imutável. E por segundo, ao utilizar match (que é uma expressão equivalente ao switch case) por padrão irá retornar o valor que cair no case. Logo, reduzimos o tamanho e complexidade do código e aumentamos a imutabilidade do programa.

Imutabilidade é um dos fundamentos da programação funcional e uma boa prática para orientação a objeto utilizando JVM. Como regra geral, criar classes imutáveis reduz o número de possíveis bugs em runtime.

A vantagem disso é que facilita para o programador avaliar o resultado de expressões e expressões concorrentes. Scala não é uma linguagem totalmente funcional, ela incorpora elementos de OO como classes, objetos, polimorfismo. A linguagem já está na versão 2.11.8 e roda em cima da JVM que por si só traz grandes otimizações para o código.

Caso tenha se interessado, recomendo muito o livro “Scala in Depth”, e um curso disponibilizado gratuitamente pelo portal Coursera.

O que você achou deste conteúdo?

O que você achou deste conteúdo?

Bruno

Bruno Fidelis

Estudante de ciência da computação. Atualmente trabalha como desenvolvedor web na KingHost. Gosta de estudar novas tecnologias e criar soluções inteligentes a partir delas.

Bruno

Bruno Fidelis

Estudante de ciência da computação. Atualmente trabalha como desenvolvedor web na KingHost. Gosta de estudar novas tecnologias e criar soluções inteligentes a partir delas.

Compartilhe esse conteúdo com alguém que possa gostar também

Conteúdos relacionados

Se você trabalha diariamente na internet, com certeza em algum momento se preocupou com a segurança das suas informações. Afinal, diversos dados pessoais e bancários são acessados todos os dias. Nesse contexto, cada dia mais existe a necessidade de reforçar a segurança dos seus dados e se proteger de possíveis golpes no mundo online. Por...
Você já ouviu falar de chatbot? Provavelmente a resposta é sim. Isso porque, essa tecnologia tem ganhado cada vez mais espaço na comunicação digital. Afinal, com a evolução tecnológica e as inúmeras ferramentas que prometem facilitar nossa rotina, os chatbots garantem destaque em diversos setores, desde atendimento ao cliente até vendas e marketing. Neste artigo,...
Você certamente já passou pela frustração de abrir um site que demora uma eternidade para carregar. Então, sabe como isso é irritante, não é mesmo? Com isso, sabe que a velocidade do site desempenha um papel fundamental na experiência dos usuários e no sucesso do seu negócio online.  Neste artigo, você vai conhecer as melhores...
Aprender a programar nunca foi tão fácil! Visto que, hoje em dia, existem diversos recursos gratuitos na web que podem te ajudar nessa jornada.  Então, se você é um completo novato no assunto, não se preocupe, esses recursos são perfeitos para você.  Mas não pense que eles são exclusivos para iniciantes, pois mesmo quem já...

Assine a nossa newsletter e receba conteúdos para apoiar o crescimento do seu negócio

Sem Título(obrigatório)

📅 Aulão GRATUITO 🚀 Como VENDER MAIS na internet 💰

Mensagens para você