Notebooks reativos

Notebooks Pluto

.... WORK IN PROGRESS ...

TODO list:


A linguagem de programação Julia

Julia é uma linguagem de programação de alto nível, dinâmica e de elevado desempenho adequada para computação científica. Apresenta ótimas características para a construção de modelos matemáticos e de técnicas de simulação numérica, permitindo analisar e resolver problemas científicos e de engenharia, através do computador.

Julia foi lançada em 2012 mantendo-se como uma linguagem de programação gratuita, multi-plataforma e open source.

A escolha do Pluto.jl como ambiente de programação reativo para Julia, para a elaboração de notebooks de apoio a Máquinas Elétricas II, possibilita a implementação de boas práticas de Ciência Aberta. O Julia com o Pluto.jl permitem disponibilizar recursos educacionais abertos, através da realização de materiais de ensino-aprendizagem. Também no âmbito da investigação e desenvolvimento, estas ferramentas permitem aplicar os princípios FAIR:

Assim, os notebooks reactivos com Julia/Pluto podem fomentar a transparência, reprodutibilidade, reutilização e inovação em ciência/engenharia.

"Time to first plot"

Julia é uma linguagem compilada just-in-time (JIT). Isso significa que o compilador irá gerar código binário conforme necessário. Assim, quando abrir/executar o notebook pela primeira vez, verificará que tem de aguardar algum tempo pela compilação do código Julia, dependendo da complexidade do mesmo e da capacidade de processamento do seu computador. Por exemplo, a biblioteca Plots.jl para realização de gráficos tem uma dimensão considerável e exige tempo de compilação. Esta latência na compilação de um programa Julia é conhecida por "time to first plot"_, que teve melhorias significativas na versão 1.6 do Julia. Após a 1ª execução, apenas as alterações que realize (no código, nos dados, por interação) serão compiladas, pelo que verificará, a partir daí o elevado desempenho da linguagem Julia.

Assim, como sugestão, após abrir um dos notebooks de Máquinas Elétricas II no seu Julia/Pluto, pode fazer uma primeira leitura desse notebook na versão estática do mesmo, disponibilizada neste website, até a 1ª compilação/execução terminar, para então depois poder utilizá-lo.

No final de cada notebook é indicado o tempo da 1ª compilação, acompanhado das informações sobre a frequência de processamento do CPU e a capacidade de memória RAM do computador em que foi testado, como referência.

Leitura/informação complementar:

Sobre notebooks Pluto:

Sobre programação Julia: