JavaScript pode ser usado para ciência de dados?

JavaScript pode ser usado para ciência de dados?

JavaScript é uma linguagem de programação popular. Um que cresceu em escopo na última década. Mas será que ele possui as ferramentas e funcionalidades para fazer Data Science?

Imagem em destaque

JavaScript é a espinha dorsal da Internet. Criado na década de 90 como uma forma de manipular o conteúdo dos navegadores web, cresceu tanto em popularidade quanto em funcionalidade. Tornando-se uma das linguagens de programação mais populares do mundo.

Com sua crescente popularidade, muitos se perguntam se seria uma boa opção para cientistas de dados e para análise de dados em geral. A resposta não é tão simples. Vamos dar uma olhada nos prós e contras do JavaScript como linguagem de ciência de dados.

O argumento contra o JavaScript

Nenhum cientista de dados em sã consciência recomendaria aos recém-chegados que aprendessem JavaScript primeiro. Python, R, Scala e Julia são frequentemente citados como AS linguagens de programação para ciência de dados. Mas por que isso acontece?

David Beazley, autor de JavaScript for Data Science, nos conta nas primeiras páginas do livro que ele planejou originalmente chamar seu trabalho de JavaScript vs. Data Science, como um reconhecimento à reputação do JavaScript.

JavaScript é famoso por suas muitas peculiaridades, algumas delas relacionadas à maneira como lida com números. Como exemplo comum, no IEEE 754, o padrão de ponto flutuante NaN (não um número) foi introduzido como uma representação de um valor que não pode ser apresentado dentro das limitações do tipo numérico.

Em termos simples, divida por zero e o JavaScript retornará um NaN. Não é a resposta mais informativa ou útil. Pior ainda, a linguagem ainda reconhece NaN como um número; portanto, se você verificar apenas o tipo, não pegará aquele malandro chato.

Honestamente, isso é um pequeno inconveniente, mas aponta para um problema muito mais amplo: o JavaScript é digitado dinamicamente e tem uma maneira bastante flexível de descobrir o que é um número ou uma string. Mais uma vez, nada que não possa ser evitado, mas que definitivamente requer alguma codificação defensiva.

Lidar com grandes números também é um problema. O JavaScript não apenas é impreciso ao trabalhar com grandes números, mas o fato de não ter suporte para multithreading ou processamento paralelo significa que você pode esquecer o big data. Nem JavaScript nem Node.js são adequados para tarefas computacionalmente intensivas e vinculadas à CPU.

A maioria dessas questões pode ser superada, mas o último prego no caixão é o custo de oportunidade. Como cientista de dados, por que você gastaria tanto tempo aprendendo JavaScript quando já possui uma infinidade de linguagens que fazem isso melhor e com menos esforço?

Cada hora investida em JavaScript é uma hora a menos investida em outras linguagens… mas isso pode não ser uma coisa ruim.

O caso do JavaScript

O principal argumento de Beazley em seu livro é que o JavaScript moderno abordou muitas dessas questões e que o interesse da comunidade JavaScript na ciência de dados cresceu exponencialmente nos últimos anos. Isso promoveu ferramentas e recursos que o tornam uma escolha competitiva.

Talvez o primeiro ponto a favor do JavaScript seja sua facilidade de uso e legibilidade. Caso em questão, se você estiver lendo isso em seu computador, basta pressionar F12 e você terá um console JavaScript pronto para uso imediato.

JavaScript é muito fácil de aprender e, devido à sua popularidade, existem literalmente milhares de recursos para ajudá-lo a aprender seus detalhes. Uma rápida olhada StackOverflow'As estatísticas revelam que a quantidade de informações em JavaScript é simplesmente impressionante.

Outro ponto a seu favor é que cada vez mais empresas estão usando tecnologias web com pilha baseada em Node para construir seus produtos. Se um cientista de dados vai trabalhar em estreita colaboração com os desenvolvedores de produtos, falar uma linguagem comum é definitivamente uma vantagem.

Melhor ainda, o facto de todos trabalharem com a mesma tecnologia significa que a integração com outros produtos e serviços é mais fácil, exigindo menos despesas gerais e preparação. Assim como é mais fácil comunicar-se com alguém quando todos falam a mesma língua.

TypeScript, um superconjunto de JavaScript desenvolvido pela Microsoft, resolve uma das principais críticas contra o JavaScript, o fato de ser fracamente digitado. Na verdade, com TypeScript, a linguagem é mais rígida do que a queridinha do Cientista de Dados, Python. Linguagens de tipo estaticamente tendem a promover melhores práticas e códigos com menos bugs e é por isso que houve uma explosão nas empresas e serviços de desenvolvimento de TypeScript.

E por falar em Microsoft, Napa.js é uma alternativa fantástica ao Node.js se multithreading for sua preocupação. Embora ainda esteja em seus estágios iniciais, e não seja a solução ideal. Isso mostra quanto interesse existe em promover o JavaScript como uma linguagem de programação para todos os fins, inclusive para ciência de dados. Mas isso não é tudo…

Novas ferramentas para ciência de dados

Um dos argumentos mais comuns contra JS é que faltam bibliotecas para ciência de dados de soluções mais robustas como R e Python. Concordamos absolutamente com esse argumento. Mesmo o mais fervoroso defensor do Javascript terá que admitir que qualquer aspirante a cientista de dados precisa de outra ferramenta em seu repertório.

O cenário da ciência de dados para JavaScript está crescendo exponencialmente. Há cinco anos, ninguém imaginaria que o TensorFlow teria uma biblioteca JavaScript funcional e, ainda assim, aqui estamos.

Dito isto, o ecossistema da ciência de dados em Javascript está crescendo. Considere por exemplo D3.jsuma biblioteca popular para visualização de dados que fornece um conjunto fantástico de ferramentas para construir painéis, relatórios e histórias de dados via navegador.

Outro bom exemplo é o TensorflowJS. Para quem não sabe, Fluxo tensor é uma das bibliotecas de aprendizado de máquina mais populares que existe. Com sua variante JS, você pode executar algoritmos de aprendizado de máquina diretamente em seu navegador e/ou em um servidor Node.js.

Mas porque você iria querer fazer aquilo? Sim, um ambiente de navegador não é o espaço de trabalho mais otimizado. Mas, por outro lado, é muito conveniente para protótipos rápidos, pequenos projetos e aplicativos que não requerem muita memória. Por que criar um ambiente virtual quando um navegador simples funciona perfeitamente?

O fato de estarmos adquirindo essas ferramentas para a linguagem que alimenta a internet e as aplicações web em geral está abrindo portas para novas possibilidades. Com a ciência de dados baseada em navegador, podemos explorar novas maneiras de processar e apresentar dados em um ambiente amigável.

Imagine ter um aplicativo web que funciona como uma apresentação para sua história de dados, tudo codificado como uma solução frontend com JavaScript, HTML e CSS. Qualquer pessoa com um dispositivo inteligente e conexão à Internet pode acessar os resultados em segundos.

Essa onda de JavaScript na Ciência de Dados aponta para o fato de que o campo está em expansão. Não se espera mais que os cientistas de dados sejam a pessoa sentada em um canto empoeirado analisando dados. São contadores de histórias, que têm de encontrar formas de apresentar os seus resultados e promover ambientes orientados por dados.

Outra ferramenta na caixa de ferramentas

Talvez não estejamos prontos para um mundo onde conhecer JavaScript seja suficiente, mas como conjunto de habilidades auxiliares, é um recurso perfeito para cientistas de dados. O que é importante aqui é que isto provavelmente não revolucionará o campo, mas o que fará é aumentar o seu âmbito e alcance. Um resultado positivo no final.

Fonte: BairesDev

Conteúdo Relacionado

O Rails 8 sempre foi um divisor de águas...
A GenAI está transformando a força de trabalho com...
Entenda o papel fundamental dos testes unitários na validação...
Aprenda como os testes de carga garantem que seu...
Aprofunde-se nas funções complementares dos testes positivos e negativos...
Vídeos deep fake ao vivo cada vez mais sofisticados...
Entenda a metodologia por trás dos testes de estresse...
Descubra a imprevisibilidade dos testes ad hoc e seu...
A nomeação de Nacho De Marco para o Fast...
Aprenda como os processos baseados em IA aprimoram o...
Introdução Quando se trata de desenvolvimento de software, a...
Milhares de sites são criados todos os dias. Não...
Os recursos de linguagem que serão incluídos na próxima...
JavaScript DataGrids se assemelham a planilhas do Excel e...
Você decidiu contratar um desenvolvedor JavaScript . Você quer...
A Microsoft anunciou recentemente a disponibilidade geral do interpretador...
A web está em constante evolução, e com ela,...
A Inteligência Artificial (IA) tem sido um tema cada...
Você já se sentiu frustrado com a complexidade de...
Powrót do blogu

Zostaw komentarz

Pamiętaj, że komentarze muszą zostać zatwierdzone przed ich opublikowaniem.