Astrosphera

Ancient astrological technics uncovered.

Diários de um (aprendiz de) programador

Quase um mês após o anúncio de que pretendo criar um software de astrologia, quais foram os avanços? O entendimento das expressões das linguagens mais comuns tem sido assimilado, e mais nada. Ainda não criei nem mesmo um embrião do que seria um programa de Astrologia.
Adquirir um novo conhecimento e aplicá-lo requer um processo demorado. Primeiro assimila-se as expressões mais comuns da área de conhecimento almejada, tenta-se rememorar os termos toda vez que eles são citados em leituras. Expressões como “instância”, “função”, “argumentos” “objetos” pouco a pouco se tornam familiares, da mesma forma que há sete anos atrás os termos “quadratura”, “sextil”, bem como a associação dos misteriosos glifos aos planetas que eles representam me causavam confusão inicial e eram memorizados com lentidão.
Apesar de não saber ainda como o fictício programa de Astrologia deve ser feito em termos práticos, já começo a ver a floresta antes de focalizar as árvores. A observação dos arquivos do programa de fonte aberta Morinus me permitiu planejar algumas ações. Tais passos podem ser feitos por qualquer pessoas que deseje o mesmo que eu. Espero poder algum dia escrever um livro para orientar a todos que tiverem o mesmo desejo que eu, a fim de tornar os passos abaixo mais fáceis:

A primeiro passo: “importar” as efemérides dadas pelo Astro.com.

Para quem não sabe, as efemérides são tabelas com as posições dos planetas em vários instantes. O processo de se criar um mapa envolve saber onde os planetas estavam no instante em que desejo criar a figura. Se nasci em 27 de março de 1982, onde estava a lua, o sol e os outros astros nessa data? Basta consultar as efemérides que teremos a resposta: a Lua estava em 02 de Touro e o Sol em 06 de Áries, etc.
Fica claro que um programa de Astrologia deve ter efemérides. Felizmente, a maioria dos programas não se preocupa em criá-las, porque existe um site que disponibiliza efemérides eletrônicas: trata-se do Astro.com. Com a disponibilidade dessas efemérides, podemos simplesmente usá-las em nosso programa. Para que isso ocorra, é necessário um processo chamado “importação”. Se o meu programa se chama “AstroX.exe”, o arquivo dele precisa importar as efemérides suíças do Astro.com (swiss ephemerids) .
O processo de importação das efemérides é complicado para um amador. É preciso antes estudar a linguagem para então dominar o processo de importação, sendo esse o preciso momento do aprendizado onde me encontro.

Segundo passo: usar o material das efemérides para construir as técnicas preditivas.

O pacote das efemérides suíças é poderoso. Ele dá ao programador todos os parâmetros utilizados em cálculos astronômicos: Longitude zodiacal, declinação, ascensão reta, nutação, dentre outros tantos que nós nunca usaremos. Até agora, não pensamos muito no que deve ser feito com toda essa informação. No segundo passo, temos de arregaçar menos as mangas e usar mais a cabeça.
Nesta etapa, precisamos voltar aos livros de astrologia para sabermos como poderemos desenhar os algoritmos que criarão as técnicas preditivas. Como o objetivo é criar um software de Astrologia Tradicional, algumas técnicas astrológicas serão criadas num ambiente de programação pela primeira vez, o que torna o desafio mais difícil ainda, já que não teremos um referencial.

Terceiro passo: criar uma interface gráfica para o programa que seja amigável para o usuário leigo.

“interface”, pra quem não sabe, é a “arte final” do programa, ou seja, somente aquilo que o usuário leigo visualiza quando baixa o programa e o instala em sua máquina. A interface possibilita a comunicação entre o usuário e o programa. Ícone do Mouse, botões, barras de rolagem, caixas de texto, são elementos da interface com os quais o usuário interage, podendo mexer neles, ajustá-los, escrevê-los, etc. Em outras palavras, a interface envolve tanto a aparência do programa quanto a interação com o usuário. Aquelas janelinhas bonitinhas, botõezinhos, grades, tabelas, tudo isso também compõe a interface.

A desvantagem da maioria das linguagens de programação é que a interface gráfica tem de ser criada a parte. É isso mesmo: depois de todo o trabalho duro realizado nos passos 1 e 2, temos de “embutir” quase todo o código produzido nesses passos em botõezinhos, tabelas, grades e janelas para que faça algum sentido para o usuário. Daí então, mais código tem de ser escrito… A única linguagem de programação que já vem com a interface embutida é o Visual Basic, que elimina o passo 3.

Talvez vocês estejam se perguntando qual a linguagem de programação que estou aprendendo. u escolhi fazer o programa de Astrologia usando a linguagem chamada Python. Isto porque o software Morinus é todo feito nele. Como o programa tem código aberto, fica fácil aprender como fazê-lo. Um programa de código aberto dá aos programadores a oportunidade de saber como ele foi criado, mas isso é assunto para outro post.

6 Comments»

  goticoaleatorio wrote @

Olá Rodolfo (e feliz ano novo!)Embora acredite que a linguagem Python esteja atendendo o que deseja agora e imagino, seja até mais simples você começar a aprender por ela, por que não migra para uma linguagem como Java ou .Net, para usar suas funções de maneira mais prática? Além de permitir que você "monte e desmonte" mais rapidamente seus programas, permite num eventual update ser mais simples e rápido, além do usuário poder adquirir e remover funções da forma que quiser.Tudo bem que dá para fazer isso com o C++ também, porém com Java ou .Net é mais fácil de aprender, pessoalmente.Forte abraço.

  Dr. R wrote @

gótico,obrigado pelas dicas. No momento estou me virando para entender algumas coisas elementares… Acho que no fim das contas eu vou mesmo é pro Visual Basic…

  Luan Ramos wrote @

Obrigado pela aulinha :DSeu Blog explica tudo muito bem, Parabéns!Se quiser fazer uma visita ao meu o endereço é:http://entendendoastrologia.blogspot.com/Obrigado!

  GalinacioPinto wrote @

Achei que fosse modificar o código de Morinus que é em Python e aberto.Para que reinventar a roda se está pronta.Só falta mudar aqui e alí, q tmb não é nada fácil.

  L. Marques wrote @

Rodolfo, parabéns pelo blog e por disponibilizar tanta informação!A pergunta que vou fazer é de alguém que não conhece softwares de astrologia, ok?Num programa comum, a gente insere data e hora de nascimento e obtém o mapa, com as posições dos planetas, etc. Existe um programa em que introduzimos algumas posições de planetas e ele calcula uma determinada data/hora de nascimento correspondente?Abs,Luiz

  Rodolfo Veronese wrote @

sim, existe um módulo dentro do janus (a partir da versão 4.1) que faz isso: vc coloca as posições dos planetas e ele tenta advinhar quando elas ocorrem, só que geralmente trava e eu desisti de mexer.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: