Partilhe nas Redes Sociais

Scala: Ascensão das linguagens funcionais na indústria financeira

João Cavalheiro, engineering manager na e.Near

Publicado em 10 Maio 2017 | 2347 Visualizações

O princípio fundamental do negócio de empresas de trading é aumentar a liquidez dos mercados, funcionam essencialmente intermediários, e precisam de publicar ordens de compra e venda sobre diferentes tipos de acções, em diferentes moedas. Cada ordem expressa o desejo de comprar ou vender um determinado título a um determinado preço, e existe uma competição constante na velocidade com que essas transações são processadas e colocadas no mercado.

Tecnologicamente esta é uma atividade intensa, não apenas pelos recursos computacionais necessários, mas também por todo o volume de dados que têm de ser analisados e processados em velocidades próximas de tempo real. Toda esta tecnologia traz consigo um risco enorme, o de ser colocado em produção um sistema que possa vir a tomar más decisões e consequentemente destruir uma empresa de trading. Torna-se, por isso, fundamental para as empresas apostar na construção de um software de fácil leitura, compreensão e teste.

O que está a mudar?

Historicamente, as linguagens funcionais sempre foram mais usadas no meio académico do que em contexto empresarial e comercial de software, uma tendência que está a mudar. Ao contrário das linguagens imperativas, as aplicações passaram a ser desenvolvidas com base em expressões matemáticas e no processamento de valores, retirando do programador a responsabilidade de gestão de memória, alocação específica de variáveis, declaração de objectos e outro tipo de construções frequentemente usadas em linguagens orientadas a objectos. Devido a esta abordagem é possível escrever código com menos probabilidade de erros, pois cada componente é completamente isolado. Além disso, a utilização de recursividade e funções de primeira-classe permite que todo o ciclo de testes seja mais curto e eficiente.

A alta expressividade das linguagens funcionais permite que as funções e algoritmos financeiros expressos no código-fonte sejam revistos por não-programadores, reduzindo a probabilidade de erros. É também possível reagir de forma mais rápida a alterações comportamentais nos mercados financeiros, reduzindo o tempo necessário entre um protótipo e um sistema de produção.

A linguagem Scala

A linguagem Scala foi desenvolvida em 2004 com o objetivo de endereçar muitas das críticas apontadas ao Java desde essa altura. O Scala é executado na mesma plataforma (JVM) e promove uma total interoperabilidade com todo o ecossistema Java, sendo possível desenvolver com orientação a objetos ou de uma forma totalmente funcional, e até incluir código Java dentro de aplicações Scala.

Na maioria dos sistemas de gestão de transacções financeiras, o Java é ainda a linguagem mais comum. Nestes sistemas altamentes complexos, uma mudança tecnológica total tem custos proibitivos. Scala é, entre todas as linguagens funcionais, a que permite uma melhor mudança de paradigma, facilitando uma transição de forma faseada. Está a ser já extensivamente usado em grandes instituições financeiras como a J.P Morgan, Morgan Stanley e Bank of America, bem como pela Verizon, gigante das telecomunicações. Segundo a plataforma Stack Overflow, tornou-se em 2016 na 4.ª linguagem preferida entre os programadores, e aparece em segundo lugar na lista de tecnologias mais bem pagas nos Estados Unidos.

O facto de o Scala se estar a tornar uma linguagem altamente popular está a ter cada vez mais impacto no mercado. É sem dúvida um excelente momento para apostar em linguagens funcionais, não apenas para as empresas que querem estar tecnologicamente dotadas, mas também para os engenheiros que querem acompanhar as tendências e explorar um novo mundo no desenvolvimento de software.

 


Publicado em:

Opinião

Partilhe nas Redes Sociais

Artigos Relacionados