Mas isso é possível, a princípio se voce chamar um intermediário, que nesse caso será o meu amigo C++... ou talvez o "primo-pobre" C, talvez cause menos problema com ambos os lados...
Então o programa Fortran será embalado pelo C/C++, fazendo o encapsulamento, podendo virar uma DLL. Daqui ele conversa com o Java, graças ao JNI, que é a possibilidade do Java ler código nativo.
Lembrando que o Java é uma linguagem interpretada e portável entre máquinas distintas, enquanto que o lado C /C++/ Fortran são compilados, não necessariamente funcionais em qualquer lugar.
Então você pergunta: "porque não faça o que você quer em um local só ?!?" porque quero aproveitar o melhor de cada um:
- O Fortran é o cara para calcular (você pode dizer o mesmo do C++, mas quando você tem uma biblioteca pronta a sua disposição, ou simplesmente um código que levou anos para uma galera implementar, não é você que vai desenroscar)
- O Java é o cara da apresentação: interface gráfica, web, XML... há bastante coisa pronta, e principalmente: a torcida é a das maiores.
Agora o problema é implementar. o java chamará funções do fortran, vai passar estruturas de dados variadas, e hoje em dia tem que haver um tratamento de exceção, coisa que até hoje não tem no fortran (horror, horror), ou seja, quando trava, é rosca, sem aviso prévio.
Felizmente existem tutoriais, que abordam um pedaço de cada coisa. Um exemplo é o http://www.csharp.com/javacfort.html
Manso, fala sério. Converte essas rotinas de Fortran em C++ logo. Vai ficar embromando com essa merda desse Fortran até quando? Isso MORREU.
ResponderExcluirEngenheiro é foda.
[]s,
Manel.