Com o lançamento do KDE Applications 15.04, o segundo release no novo modelo de lançamentos de softwares desenvolvidos no KDE – agora o desktop, conjunto de aplicações, e frameworks tem cada um seu próprio ciclo de release -, o software para programação científica Cantor chegou com várias novidades. Esse lançamento me deixa particularmente feliz pois trabalhei bastante em algumas delas. =)
Vamos ver o que o Cantor tem de novo?
Cantor portado para Qt5/KF5
Trabalho que comecei no LaKademy do ano passado e fui desenvolvendo desde aquela data. Devo ter feito commits partindo de uns 5 países diferentes durante esse tempo.
A transição para essa nova tecnologia foi realizada com sucesso e até o momento não notamos nenhuma funcionalidade perdida ou bug crítico introduzido. Todos os backends e plugins foram portados, e alguns bugs que surgiram durante o port foram corrigidos.
Evidente que isso não garante que o software esteja livre de erros, portanto pedimos aos utilizadores que reportem quaisquer problemas no nosso gerenciador de bugs. De qualquer forma, o software está bastante estável.
Usuários do Cantor da versão Qt4 terão suas configurações migradas para o novo formato utilizado na versão Qt5/KF5 automagicamente após a primeira inicialização.
Backend para Python 3
Durante o Season of KDE 2014 orientei o colaborador Minh Ngo no projeto de desenvolvimento do backend para Python 3, fazendo com que o Cantor atingisse a marca de 10 backends diferentes!
O backend de Minh utiliza comunicação via D-Bus para ligar o Cantor ao Python 3, uma arquitetura diferente da utilizada no Python 2 mas que já foi utilizada em outros backends, como no R.
O bacana é que agora o Cantor pode agradar tanto os pythonistas que usam Python 2 quanto os que já utilizam Python 3. Esperamos receber o feedback de vocês!
Ícone!
Cantor foi lançado originalmente em 2009, no agora velhinho KDE SC 4.4. Desde aquela época ele nunca teve um ícone próprio.
O lançamento da versão Qt5/KF5, que marca uma mudança substancial no desenvolvimento da aplicação, é um bom momento para também lançar um ícone próprio para o software, dando uma cara para ele.
E o resultado ficou excelente! Mostra bem a ideia do Cantor: um quadro negro para você ficar desenvolvendo seus cálculos enquanto coça a cabeça e pensa “e agora, daqui vai para onde?”. =)
Obrigado a Andreas Kainz e Uri Herrera, membros do VDG que desenvolveram o ícone!
Outras alterações e bugs corrigidos
Boa parte dos bugs introduzidos durante o processo de porting pro Qt5/KF5 foram corrigidos antes do release.
Há também algumas alterações menores que merecem ser citadas, como a mudança da categoria KNewStuff de “Python2” para “Python 2” e a adição da categoria “Python 3”; remoção do carregamento automático do módulo pylab; agora é possível executar comandos do Python com comentários; entre outras.
Para o log completo dos commits incluídos nesta versão, veja esta página.
Futuro
Para o futuro talvez o plano de maior prioridade seja remover a KDELibs4Support do Cantor. O Lucas já fez parte desse trabalho, e esperamos finalizá-lo para o próximo release.
Eu pretendo dar uma olhada na comunicação via D-Bus e verificar se ela seria uma boa saída para o backend do Scilab. Outra tarefa também programada é a reorganização dos assistentes para geração de gráficos nos backends do Python. E um objetivo de longo prazo é acompanhar a criação do projeto Jupyter, que será o futuro do IPython notebooks – tornar o Cantor compatível com o Jupyter pode ser uma boa forma de aumentar o número de potenciais usuários do software, além de fomentar a colaboração entre diferentes comunidades com interesse em programação científica.
Também irei aproveitar o lançamento dessa versão e escrever sobre duas formas de utilizar o Cantor – estilo terminal como o Matlab; e estilo notebooks, como o IPython. Aguardem!
Se você gostaria de auxiliar no desenvolvimento do Cantor, entre em contato para conversarmos sobre resoluções de bugs, desenvolvimento de novas funcionalidades, e mais. Ou contribua com a vakinha do KDE Brasil para realização do LaKademy 2015. Minha participação no evento será bastante focada no desenvolvimento do software, principalmente nos objetivos que listei acima.