Java: o futuro Cobol?

Antes de mais gostaria de pedir desculpa de falar sobre Cobol aqui, poderá trazer más memórias de alguns que em tempos passaram meses em caves escuras a programar na dita linguagem.
No início da minha carreira profissional – que não foi assim à tant

o tempo, embora possa referir sempre que foi “no século passado” – uma das poucas certezas que tinha era que não queria ir programar Cobol para uma cave de um banco como um amigo meu tinha estado uns meses ali para os lados da Av. da República. Sabia que queria programar, mas como a maioria dos entusiastas por tecnologia, queria trabalhar com paradigmas recentes ou pelo menos actuais, como seja linguagens orientadas a objectos. Depois, entrei no mundo do Java.

Como tecnologia, o Java é o principal player a penetrar em áreas anteriormente ocupadas pelo cobol (nos bancos, seguradoras, etc.), aplicações java substituem sistemas legacy e implantam-se no negócio das empresas. Temos montes de pequenas aplicações, temos EAIs para integrar aquilo tudo, temos, na realidade, java por todo o lado e tão cedo não deixará de estar presente nestas instituições. É a linguagem mais usada e com programadores a nível mundial na actualidade e ainda vai demorar algum tempo a ser ultrapassada.

Dado isto, propõe-se como exercício ao leitor que imagine a linguagem e a vm java daqui a 5, 10 e 20 anos. Não falamos das mudanças da próxima versão 7 do java, falamos a longo prazo. Chegaremos a um ponto em que olharemos para trás e pensamos na linguagem java como actualmente pensamos em cobol, um sistema legacy?
Põe-se a questão de qual será o caminho a seguir pelo java e, a meu ver, o sucesso apenas será atingido se analisarmos o termo java enquanto plataforma e não focando na linguagem. As linguagens de programação evoluem de acordo com paradigmas. Agora assistimos a um ressurgir da programação funcional em força com o ruby, erlang, scala e outras (haskell, scheme, ocaml, …): paradigmas já antigos mas agora contextualizados para o poder computacional dos tempos modernos.
Se os paradigmas evoluem com o tempo, tem toda a lógica olhar para a tecnologia java como uma plataforma que venha a suportar multiplas linguagens. A concepção do .net veio provar um pouco essa vantagem e nestes últimos 2 anos assistiu-se ao aparecimento de inúmeras linguagens para a Java VM como seja o jruby, groovy, jython, scala etc.

No fundo, não acredito que cheguemos sequer daqui a 5 anos a usar a linguagens java de forma tão monolítica como actualmente. Teremos uma

escolha maior de linguagens, a vm suportará linguagens dinâmicas de forma mais eficiente – esse trabalho está actualmente em curso – e nós, programadores, teremos de ser muito mais language agnostic do que muitas vezes somos. Se podemos desenvolver em várias linguagens para depois compilar para o mesmo bytecode, vamos usar a que melhor se adapta às nossas necessidades e também aos nossos gostos.

Enfim, confusões tecno-filosóficas de quem anda a brincar com BPM e não tem o direito de programar nada excepto nos tempos livres. Agradecem-se opiniões sobre o tema!

3 thoughts on “Java: o futuro Cobol?”

  1. é verdade as coisas estão sempre a evoluir para pelo andas das coisas penso que o Java ainda tem alguns anos no topo.

    Como referes as linguages ruby, groovy e etc são meras linguagens o Java casa vez mais é uma plataforma e todas as aplicações e frameworks feitas em Java são inegualaveis e estou a falar de muitas coisas opensource o que nos dias de hoje é uma vantagem.

    Bom post

  2. Ruben,
    Quando dizes “e nós, programadores, teremos de ser muito mais language agnostic do que muitas vezes somos”, é uma verdade que eu conheço há muitos anos e que já deves ter começado a perceber do nosso trabalho diário. O importante não é a “language”, o importante é GTD (Get Things Done), embora o melhor é que possa ser numa “language” que nos dê gozo… Mas nem sempre é possivel…
    Um abraço,
    EPP

Leave a Reply to Eduardo Pardal Pimentel Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>