0% acharam este documento útil (0 voto)
14 visualizações1 página

Notebooks vs IDEs: Abordagem em Ciência de Dados

Enviado por

Beatriz Braga
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
14 visualizações1 página

Notebooks vs IDEs: Abordagem em Ciência de Dados

Enviado por

Beatriz Braga
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Machine Translated by Google

2.1 Configurando um ambiente de desenvolvimento 31

ÿ Em particular, diferentes plataformas utilizam, ensinam e oferecem suporte aos notebooks


Jupyter. Da mesma forma, há toneladas de materiais e exemplos disponíveis online.
ÿ Muitas bibliotecas modernas de ciência de dados são projetadas para uso em notebooks.
vêm com visualizações e APIs integradas que tornam o uso do notebook conveniente.

Todos os benefícios dos notebooks estão relacionados à experiência do usuário. Eles podem tornar
cientistas de dados, e não computadores, mais eficazes e eficientes. Por outro lado, os notebooks
exigem uma infraestrutura própria, resultando em complexidade extra, o que pode levar à fragilidade.
Como os computadores não se importam com notebooks, podemos executar código sem eles quando
humanos não estão envolvidos, o que é o caso em implantações de produção.
Outra questão se refere à natureza linear e narrativa dos cadernos. Enquanto os humanos são
bons em ler e compreender histórias que progridem linearmente, como a que você está lendo agora,
os programas de computador tendem a ser não lineares por natureza. É considerada uma boa prática
de engenharia de software estruturar um programa como módulos independentes, mas interativos,
cada um com uma função lógica clara. Os módulos chamam uns aos outros arbitrariamente, formando
um grafo de chamadas em vez de uma narrativa linear.
Você também pode reutilizar e compartilhar esses módulos entre vários projetos, complicando
ainda mais o gráfico de dependências. Para gerenciar um grande projeto de software, um sistema de
controle de versão como o Git é essencial. Tecnicamente, é possível escrever código arbitrário em
notebooks, controlá-los por versão e talvez até mesmo criar notebooks combináveis, mas isso está
expandindo os limites do paradigma, exigindo camadas de ferramentas não padronizadas.
Enquanto os notebooks com suas saídas de mídia mista são ótimos para exploração e análise, os
IDEs e editores de código tradicionais são otimizados para programação estruturada.
Eles facilitam o gerenciamento e a criação até mesmo de grandes bases de código divididas em
vários arquivos. Alguns IDEs modernos, como PyCharm, VS Code ou JupyterLab, oferecem suporte
a ambas as modalidades em uma única interface, buscando combinar o melhor dos dois mundos.
Este livro defende uma abordagem pragmática: podemos usar notebooks para os casos de uso
em que eles se destacam e usar ferramentas tradicionais de engenharia de software em outros lugares.
A Figura 2.5 estende a Figura 2.3 anterior ao sobrepor as ferramentas sugeridas nos ciclos de
prototipagem e produção.
Imagine começar a trabalhar em um novo projeto de ciência de dados. Antes mesmo de começar
a criar o primeiro protótipo, ou seja, entrar no ciclo de prototipagem, você pode querer gastar

Protótipo
Implantar

Desenvolver Produção
IR

Explorar
Caderno Avaliar
Código
Avaliar
Analisar simples
Caderno Código
simples

Depurar

Figura 2.5 Ferramentas sugeridas para os ciclos de prototipagem e produção

Você também pode gostar