Java o passado e o futuro

Hoje em dia se tem falado muito do futuro do Java. Será que o Java está em declínio ? Será que vale a pena aprender Java ainda ? Ou seja, várias perguntas surgem na cabeça do desenvolvedor e principalmente naqueles que iniciaram agora na area de desenvolvimento de Software.

O Cesar Taurion escreveu no blog dele o artigo Java hoje e amanhã, assim como já tinha indicado um artigo Java é o novo Cobol, falando exatamente sobre o futuro do Java. Isso sem citar outros milhões de posts e fóruns que discutem exatamente isso. Para nós entendermos o que está acontecendo com o Java hoje, é importante olharmos o passado um pouco, afinal de contas, como dizia um professor de História da Ciência e da Técnica, na univeridade, quando eu perguntei porque um curso de história era importante em um cursos de ciência da computação, ele me respondeu o seguinte: “A historia nós faz analisar o que já aconteceu no passado”. Dai eu extraio uma frase, que sempre repito na minha vida, os inteligentes aprendem com os próprios erros, os sábios com erros dos outros.

Voltando a historia, em 1996 quando eu me formei do meu colégio Técnico em Processamento de Dados, eu fiz uma analise do Mercado na área de desenvolvimento de Software. O mercado era mais ou mesmo assim. As Universidade ensinam linguagem tipo C/C++, Pascal etc, mas os profissionais na grande maioria quando entravam no mercado de trabalho, trabalhavam como Clipper, Visual Basic e Delphi. Existiam realmente poucas oportunidade e sistemas que eram desenvolvidos na área comercial usando essa linguagens que as universidades ensinavam. Os alunos estudavam linguagem tipo C/C++ e Pascal, mas o mercado de trabalho queria Visual Basic e Delphi. E claro que tinham exceções, assim como toda a regra.

Durante meu anos de universidade eu tive um forte embasamento em linguagem C, até porque cursei o curso de Bacharel em Ciência da Computação. Quando comecei a estudar metodologia de Orientada a Objetos, comecei a estudar o C++ ( uma caminho a ser seguido, afinal já programava em C) e comecei a estudar Java também.

Foi nessa mesma época que comecei a trabalhar com Linux, mais ou menos em 1997. Achava que linux e Java era lindo. Até porque me dava muito trabalho migrar um programinha do C do Windows, para o C do linux. Achava Java realmente muito bom para isso. Para vocês terem um idéia, a primeira linguagem Visual que aprendi não foi nem Visual Basic, nem Delphi, e sim o Borland C++ Builder. Naquele época por ter um tendência a achar que, programa bom deveria funcionar pelo menos em Linux e Windows, o Visual C++ da Microsoft não era uma opção embora com o Borland C++ Builder as coisas também não era tão fáceis assim.

Agora Java era o máximo para mim, foi a partir disso que eu me especializei nessa linguagem. No último ano da Universidade quando já fazia estágio, no falecido Zaz, hoje conhecido como Terra, eu era o unico desenvolvedor Java deles (da região de Piracicaba), enquanto o desenvolvimento Web era ainda era muito pouco concebida e PHP e o ASP da microsoft eram as preferidas dos clientes. Mesmo assim, se você queria ganhar bem, recomendava-se aprender Visual Basic e Delphi e desenvolver aplicações desktop, mas realmente eu gostava mesmo de Web.

Finalizando meu estágio, eu quase decidi aprender ASP e PHP, porque achava que Java não tinha muito mercado, isso foi em 1999 e 2000. Até que decidi me mudar para São Paulo. O Ano era 2001 e Java começava a bombar.

De cara o meu primeiro grande projeto em 2001 foi para um companhia de telecomunicações chamava Vesper, onde o sistema era hospedado na IBM Tutóia, com toda infraestrutua IBM e seu WebSphere (naquela época WebSphere estava engatinhando). Foi esse o meu primeiro grande projeto Java e dai em diante eu comecei a ir para o lado da IBM e seus produtos.

Mas, afinal de contas, o que aconteceu daquela época para cá ?

Aconteceu muitas coisas, uma delas que é Java começou a ser ensinado nas escolas e universidades, e finalmente o aluno começou sair da Universidade para o Mercado de trabalho, usando a mesma linguagem que ele havia estudado lá . O Alunos não precisavam mais aprender outras linguagem de programação (ma maioria das vezes). O meio científico, que tinha como linguagem preferida o C/C++ começou a olhar o Java de uma forma melhor (sim eu participei de um projeto científico na USP financiado pela FAPESP em 1998, se você falava em desenvolver pesquisa em Java, você seria completamente ignorado, o meio científico e academico dizia que cientistas programavam em C/C++). As empresas que desenvolvem produtos, passaram a ter escolhas além do C/C++ para desenvolver produtos, e Java começou a aparecer não somente no mercado comercial, mas no mercado científico e acadêmico, mas como também empresas que desenvolvem produtos.

Mas o que são produtos ?

  • Por exemplo a IBM hoje tem a linha Rational, com vários produtos desenvolvidos em Java. Antes, muitas empresas não pensariam em outra linguagem a não ser o C/C++ para desenvolver produtos, no caso ferramentas que auxiliam o desenvolvimento de software.
  • A IBM tem produtos na linha WebSphere, como WebSpehre Application Server, Websphere Message Queue, WebSphere Broker, WebSphere ESB onde Java C/C++ trabalham de forma muito bem integradas dentro desses produtos.
  • A Oracle junto com o seu Banco de Dados, empacota várias aplicações escritas em Java, assim como a IBM junto com o seu DB2. Ou seja, existem hoje realmente produtos escritos em Java.

Citei apenas alguns para vocês terem ideias. Nesse quase 10 anos que venho trabalhando e estudados Java, Java se tornou a linguagem escolhida para muitos produtos, softwares, aplicações etc.

Mas agora as pessoas perguntam, será que Java é bom para tudo ?

Será que para eu desenvolver um Sistema rápido não seria melhor usar PHP, Python, Ruby, ou Groovy ?

Assim como no passado o mercado disse, não precisamos de uma linguagem tão complexa ou poderosas para desenvolver aplicações comerciais, embora eles tivesse o C/C++ muitas aplicações eram desenvolvido em Visual Basic e Delphi. Hoje o mercado faz a mesma coisas, será que precisamos desenvolver tudo em Java, será que para determinado projeto não seria melhor PHP, Ruby, Groovy e Python ?

Então o que acontece hoje não é que Java está perdendo seu espaço. Os desenvolvedores e os tomadores de decisões estão apenas perguntando, será que isso realmente precisa ser feito em Java, ou eu posso escolher outras linguagem mais simples !
Trabalho com Java a muito tempo, e até alguns anos atrás só havia estudados C/C++ além do Java. Hoje tenho estudado e ficado em alerta em PHP, Ruby, Python e Groovy. Porque ?

Quando preciso argumentar em um projeto, sobre as vantagens de cada linguagem, preciso ter um ótimo embasamento técnico para argumentar qual a melhor solução para aquele determinado cliente. Falar que linguagem X é bom, porque eu gosto não é o melhor argumento.

Outra coisa, estudar outras linguagem não me fez gostar menos do Java. Aprender outras linguagens me fez abrir a cabeça e entender que para cada solução eu posso ter um linguagem para resolver o meu problema.

É por isso que empresas como a Sun, está investindo pesado em para portar linguagem para a JVM (assim como a microsoft faz com o seu CLR), veja o caso do Ruby como o JRuby, Python com o Jython, e o Grovy. A Sun não está abandonando o Java, eles só querem ter um número maioria de linguagens na JVM, conseqüentemente Java poderá se interagir com várias delas.

A própria IBM no Projecto Zero, usa bastante em PHP e Groovy.

Na semana passada a Sun contratou 2 desenvolvedores chave do Python e Jython, mas um indicio que termos mais uma boa alternativa de linguagem dentro da JVM.

Kleber Rodrigo de Carvalho

Java está se tornando o novo Cobol

A InfoWord lançou um serie de reportagem nomeada como 2007’s Top 10 Underreported Tech Stories, algo como As Top 10 Historias de Tecnologias mal contadas de 2007.

Como o próprio título diz “Underreported”, significa algo que não foi reportado o suficiente. A primeira noticia que eu li foi sobre Companies may have found a way around H-1B visa limits, que fala sobre como as empresas talvez tenham encontrado um meio para contornar a solicitação de vistos para os Estados Unidos.

A segunda noticia é sobre Java está se tornando o novo Cobol.

Kleber Rodrigo de Carvalho

PHP Optimized For Windows Server 2008

I really pray for it.

Nowadays I don’t recommend CGI/FastCGI over Microsoft-IIS/6.0.

Why ?

http://wordpress.org/support/topic/146225
http://wordpress.org/support/topic/131976
http://trac.wordpress.org/ticket/5951
http://wordpress.org/support/topic/131976
http://wordpress.pastebin.ca/893007
http://wordpress.org/support/topic/150484

Kleber Rodrigo de Carvalho

CGI Error Parte 2

Infelizmente depois de algumas horas tentativas, ainda não consegui resolver o problema do erro de CGI.

Na verdade existe um bug no CGI/FastCGI do IIS.

Eu achei que era um problema do wordpress:

http://wordpress.org/support/topic/146225
http://wordpress.org/support/topic/131976

Mas perceba que esse problema somente aparece no Microsoft-IIS/6.0, meu ambiente de teste aqui é Windows/Apache com CGI/FastCGI, e não tem problema. O mesmo acontece no Linux/Apache. Realmente o problema está no IIS com FastCGI.

A empresa de host que contratei, possui alguns plano e eu assino o plano Aw, com Windows e Microsoft-IIS/6.0.

Se os problemas persistirem, e ter outro custo beneficio melhor, terei que mudar.

Kleber Rodrigo de Carvalho

CGI Error

Pessoal

Alguns links do blog aqui não estão funcioando, e aparece a mensagem CGI Error.

Isto está acontecendo devido a um bug do wordpress:

http://trac.wordpress.org/ticket/5951
http://wordpress.org/support/topic/131976
http://wordpress.pastebin.ca/893007
http://wordpress.org/support/topic/150484

Na verdade já existe um fix para este bug, mas eu tenho que atualizar minha versão do wordpress, que vai levar um certo tempo.

Estarei fazendo um mais rápido possivel, mas enquanto isso você não conseguiram acessar os artigos no histórico desse blog.

Peço desculpa, e assim que corrigir estarei fazendo um novo post com os resultados dessa correção.

Kleber Rodrigo de Carvalho

O Brasil na Produção e Exportação de Software

Acabei de ler um excelente artigo sobre O Brasil como um Mercado Emergente na Produção e Exportação de Software, escrito pelo professor José Augusto Fabri. Não esquecendo a fonte, eu cheguei até esse artigo pelo blog do Juliano Martins.

Recomendo fortemente a leitura dos comentários desse artigo também, eu mesmo postei alguns lá:

Excelente artigo, o Steve Bowden e o Juliano Matins enfatizam 2 pontos interessantes.

>Our conclusion was that the salaries and protection system (leis trabalhistas) are too constraining to make a move to Brazil worthwhile.

Infelizmente sem uma reforma tributária, não conseguiremos resolver isso. Chega de remendos na nossa tributação, precisamos realmente de uma reforma definitiva. Eu sei, que uma regra do empreendedor é não reclamar do governo e sim encontrar um solução para contorna-lo, mas realmente a reforma tributária está sendo vista como uma solução até para um iniciante em finanças como eu.

>A smaller, but still problem was the weak English spoken by most of the programmers.

Não basta falar um inglês bom, para ser um profissional respeitado, é preciso ter um inglês ótimo.

Quanto ao inglês eu já escrevi sobre isso no meu blog, no artigo A importância do Inglês.

Kleber Rodrigo de Carvalho

Tecnologias quentes da Plataforma Java

Quem aqui nunca fico perdido com as tecnologias que envolvem o plataforma Java.

Eu por exemplo já trabalho com algumas tecnologias no dia a dia e ainda preciso me manter atualizado, porque eu sei que meu projeto não é finito, na verdade não existe projeto infinito.

If you are a Java web developer and you want the highest degree of marketability, you nee to know..

Então com se manter atualizado com as tecnologias que te proporcionam estar dentro do mercado ? E quais são essas tecnologias ?

O mercado brasileiro é um pouco diferente, mas no artigo sobre How to Survive in a Turbulent Job Market, Steven Haines fez uma pesquisa sobre quais são as keywords que os recrutadores mais pedem no mercado Java. Não é uma pesquisa com grande teor científico, mas pode sim servir como um guideline para quem quer direcionar sua carreira para o mercado de trabalho, ou melhor para qual tipo de tecnologia o mercado está precisando.

Kleber Rodrigo de Carvalho

GreenPrint

Assistindo este vídeo na CNN, voltei a pensar na teoria que grandes ideais estão baseadas em coisas simples.

GreenPrint é um software baseado em uma ideia simples, mas resolve um problema que se encontra em vários lugares ” o desperdício de folhas impressas”, que são folhas que contém somente URLs, propagandas, bannners, anúncios etc. Estas paginas perdidas ocorrem muitas vezes ao dia, fazendo com que nós e empresas ao redor do mundo percamos dinheiro, tempo e arvores.

Gostou da solução, então não deixe de visitar o site printgreener.

Kleber Rodrigo de Carvalho

Notebooks furtados tinham informações confidenciais da Petrobras

A Halliburton é tida como a maior empresa de serviços em campos de petróleo do mundo. Ela transportava em um container um disco rígido e dois notebooks furtados com informações confidenciais da Petrobrás sobre pesquisas e dados das recentes megadescobertas de petróleo e gás em águas profundas. A presidência da Petrobrás e o presidente da República, Lula, foram informados sobre o caso no dia 1º de fevereiro. A Halliburton afirmou nesta quinta-feira, 12, a Terra Magazine.

Realmente isso não é bom. Uma empresa com a Petrobras de capital aberto, cujo o maior acionista é o governo brasileiro, ter informações privilegiadas roubadas, por uma companhia estrangeira, que deveria cuidar e preservar isso, mas não o fez o quanto deveria. Ainda mais agora que a Petrobrás está sendo acompanhada por investidores do mundo inteiro.

Sim… hoje a Petrobrás é uma empresa invejada ! Enquanto a crise do subrime, derrubou várias empresas de capital aberto nas bolsas mundiais, a Petrobrás que também sofreu com isso, já teve o valores recuperados das suas ações negociadas na Bovespa. O mais intrigante é que poucas pessoas dão o devido valor a uma matéria dessas. Isso precisa ser investigado.

Kleber Rodrigo de Carvalho