Construa sua carreira com Currying em Scala

Publicados: 2020-07-06

Índice

Introdução ao Scala

Scala, uma linguagem de programação, foi desenvolvida por Martin Odersky e seu grupo de pesquisa em 2003. O desenvolvimento de Scala foi uma revolução no mundo do big data. É uma linguagem extremamente robusta e merecida que iria mudar o mundo para as próximas gerações. É baseado em compilador, o que o torna extremamente rápido e eficiente.

A parte significativa da margem de manobra do Scala é a Java Virtual Machine (JVM) . O código Scala foi primeiro acumulado por um compilador Scala e o código de byte para o equivalente é criado, que será então movido para a Java Virtual Machine para produzir o rendimento. Nessa linha, Scala se tornou o caminho do progresso para lidar com a gigantesca medida do big-data.

Por que Scala é tão apreciado na comunidade de programação?

Scala tem mais do que apenas alguns motivos para ser preferido por vários programadores. Vamos discutir alguns deles aqui.

É uma linguagem multiparadigma

Scala é competente o suficiente para sustentar dois paradigmas de programação, ou seja, Programação Funcional (PF) e Programação Orientada a Objetos (POO).

Sintaxe sucinta

O compilador em Scala, também conhecido como Scala, é extremamente capaz e pode executar mais do que o esperado. Para citar algumas coisas, ele pode gerar hasCode(), equals(), toString() e muito mais.

Fácil de aprender

Como o Scala suporta programação orientada a objetos, é relativamente fácil de aprender para os programadores quando comparado ao Java. Com uma comunidade online em rápido crescimento, os fóruns Scala estão se tornando cada vez mais recorrentes. Uma parte importante disso é porque ele possui bibliotecas excelentes junto com uma sintaxe elegante. Enquanto os programadores manobram através da programação funcional e aprendem, eles ainda podem usar suas habilidades de programação orientada a objetos pré-existentes e construir coisas em Scala.

Aprenda: Python é uma linguagem orientada a objetos?

Novas oportunidades de carreira

Devido à sua enorme escalabilidade, o Scala é cada vez mais procurado na indústria. Com marcas de primeira linha como Twitter, Quora, LinkedIn, etc. migrando para Scala, é óbvio que eles estariam procurando codificadores qualificados em Scala. É apenas uma questão de tempo até que Scala se torne a necessidade do momento para outras grandes empresas em outros setores.

Digitado estaticamente

O compilador Scala usa sua inferência de tipo ao máximo de sua capacidade e, portanto, embora pareça dinâmico, Scala é metodicamente tipado estaticamente. Isso permite a inferência de tipos para variáveis ​​e funções em Scala.

Agora que entendemos o que é Scala, vamos avançar e entender o curry em Scala .

Curry em Scala

Currying recebeu o nome de um matemático americano Haskell Curry, conhecido por seu trabalho em lógica combinatória.

Currying em Scala pode ser definido como a estratégia por trás da interpretação da avaliação de uma função que leva vários argumentos para avaliar um grupo de funções, cada uma com uma função solitária.

Matematicamente, podemos escrevê-lo da seguinte forma:

f1 = f(a)

f2 = f1(b)

resultado = f2(c)

E, o pseudo código para isso será como –

resultado = f(a)(b)(c)

Sintaxe de Curry

A sintaxe usada para executar curry em Scala é mencionada a seguir:

def multiplica(a:Int)(b:Int) = a*b

Também pode ser escrito da seguinte forma:

def multiplica(a:Int) = (b:Int) => a*b

Leia: Salário de desenvolvedor Java na Índia: para calouros e experientes

Como chamar uma função Currying

Para chamar as funções de currying em Scala, temos que atribuir valores às variáveis ​​' a' e ' b' mencionadas nas equações acima.

O que são funções parcialmente aplicadas?

Fonte

Quando uma função é invocada, isso é feito para aplicar a função a um conjunto de argumentos. No caso de você passar todos os argumentos previstos, você acaba aplicando a função totalmente. Quando você envia apenas alguns argumentos, você recebe de volta uma função parcialmente aplicada. Isso lhe dá a acomodação de restringir alguns argumentos e preencher o resto mais tarde.

Exemplo de uma função parcialmente aplicada –

Etapa 1: definir uma função com vários parâmetros

escala> def mais(a:int)(b:int) = a + b

mais: (a: int)(b: int)int

Etapa 2: forneça apenas o valor para a variável ' escala> def X = X(2)(_)

X: int => int

A saída aqui cria uma nova função 'X' do tipo int => int.

Aqui, X pode ser escrito da seguinte forma

def X(b:int) = 2 + b

O que a equação acima retrata é que quando X é semeado com o valor int inicial de 2, ele fica esperando por outro valor int ao qual possa adicionar.

Como resumo, as funções parcialmente aplicadas fornecem as seguintes capacidades

  • Você compõe uma função geral.
  • Você cria uma função específica a partir da função geral.
  • Você terá acesso a ambas as funções, apesar de tudo.
  • Você mantém seu código seco, pois não precisa copiar e colar o código para criar uma nova função.

Leia sobre: ​​As 27 principais perguntas e respostas da entrevista Scala para iniciantes

Comparando Funções de Curry e Parcialmente Aplicadas (PAFs)

Currying e PAFs estão intimamente relacionados. Currying e funções parcialmente aplicadas podem parecer equivalentes – ambas transformam suas funções em funções com menos argumentos. No entanto, há uma distinção entre eles.

  • Currying em Scala cria consistentemente funções unárias ou 1-árias aninhadas. A função então alterada ainda é, em grande medida, semelhante à primeira.
  • A aplicação parcial cria funções de um número subjetivo de argumentos. A função alterada não é exatamente a mesma que a primeira – ela precisa de menos argumentos quando comparada à primeira.
  • Curry em Scala não é uma aplicação parcial, mas pode muito bem ser executado utilizando a aplicação parcial. Você não pode aplicar curry a uma função se ela não receber a quantidade fixa de parâmetros. Não funcionará com sucesso de outra forma.

Estruturas Scala

Aqui estão alguns frameworks Scala proeminentes que você pode conferir para ter uma boa compreensão do Scala –

Estrutura do jogo

Levantar Web

Estrutura do lançador

Este é o momento da história em que literalmente todas as portas foram abertas para a geração atual aprender e perseguir o que deseja. Existem institutos variados, mentores, serviços, etc. para permitir a aprendizagem e fornecer validação na forma de diplomas e certificados.

Além do mais, é que agora pode ser feito a partir do conforto do seu quarto. u pGrad , ser um dos principais players deste segmento da indústria revolucionou o sistema de ensino, um curso por vez. De MBA a Direito, Seguros a Ciência de Dados, o upGrad conseguiu quebrar todos os grilhões da educação contemporânea e provocar uma onda de revolução no setor educacional.

Empacotando

Para conferir o amplo espectro de nossos cursos ou para entender como fazemos o que fazemos, sinta-se à vontade para solicitar um retorno de chamada ou confira nosso site .

Se você estiver interessado em saber mais sobre o Programa Big Data, confira nosso programa PG Diploma in Software Development Specialization in Big Data, projetado para profissionais que trabalham e fornece mais de 7 estudos de caso e projetos, abrange 14 linguagens e ferramentas de programação, em workshops, mais de 400 horas de aprendizado rigoroso e assistência para colocação de emprego com as principais empresas.

Aprenda cursos de desenvolvimento de software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.

Domine a tecnologia do futuro - Big Data

Programa Avançado de Certificação em Big Data do ITT Bangalore