Entrevista polêmica com James Gosling

James Gosling há algum tempo tem feito bastante barulho em dizer suas opiniões sem muita restrição. Em uma conversa com um jug, ele lança mais frases polêmicas em relação a Apache, Google, eventos, Oracle, JSF e muito mais. Há também a menção ao conhecido projeto piloto do sistema de saúde brasiliero, vencedor de vários projetos. A conversa passa também por Donald Knuth, John Bentley da conhecida série Programming Perls e o futuro do java e da tecnologia.

Vale a pena ver e tirar suas próprias conclusões.

Sobre o JSF, acho que quem tinha que sofrer de verdade mesmo com isso já sofreu com as antigas versões.
Em teoria, do 2 pra frente tudo tende a melhorar de verdade.
Não descarto uso de JSF em aplicações Web que não dependam muito de layout, SEO, COMET , etc.

JSF está ainda em evolução, o problema é que vendem JSF como se fosse a salvação, cabe um bom Arquiteto ver onde serve ele ou não, o que acontece é o cara saber 1 ou 2 frameworks, pegar e usar o mais fácil desde um sistema de locadora até um gigatesco portal na web.
Como estava conversando com o pessoal no Twitter, JSF não é o melhor nem o pior, isso depende do projeto e quem deveria escolher o framework no caso um arquiteto este deveria saber mais a fundo antes de colocar qualquer coisa em desenvolvimento.
O Wicket é um ótimo framework, só que infelizmente no Brasil não é bem difundido.

[quote=vhmolinar]Sobre o JSF, acho que quem tinha que sofrer de verdade mesmo com isso já sofreu com as antigas versões.
Em teoria, do 2 pra frente tudo tende a melhorar de verdade.
Não descarto uso de JSF em aplicações Web que não dependam muito de layout, SEO, COMET , etc.[/quote]

O problema do JSF que eu mais presenciei é o povo que usa sem entender/escolher e sim porque é uma spec. Aí nessa nóia de spec o cara usa puro. E cá entre nós, JSF 1.x puro não dá. Não tem nem como criar um combo a partir de uma lista de entidades. Por isso sempre usei com facelets e no mínimo alguém que tivesse um t:saveState ou a4j:keepAlive, além é claro de um componente de selectItems que permitisse listar entidades. Agora se o cara vai usar JSF 1 mas não está disposto a “sujar” com outras coisas então não usa que vai passar raiva.

Já a versão 2 melhorou pra caramba, mas muito também graças ao JEE6 com EL mais flexível.

Estou hoje em dia mexendo com um projeto em Grails aqui do JUGMS e tenho gostado muito, mas a abstração que o JSF permite a gente trabalhar em alguns casos faz falta. Mas é obvio que eu consigo fazer de uma forma tão boa/fácil quanto em JSF com Grails, mas fica mais visível o fato de estarmos trabalhando com Web. É diferente, nem melhor nem pior.

No final das contas eu vejo a muito das discussões rolam em cima de gostar ou não do JSF abstrair boa parte da Web (mas deixar muitos furos, principalmente na versão 1). Para mim é indiferente. Mas quem se incomoda com isso não vai nunca gostar de JSF. Eu uso JSF e gosto e uso Grails e gosto também.

É impressão ou o velho hippie confundiu JSF com JSP? “Fizemos JSF como um clone de ASF”…?? Ele queria dizer JSP e ASP! Drugs are bad, Jimmy!

Não, ele quis dizer que JSF é um clone de ASP.net

Por que ele não fazia este tipo de crítica antes de sair da Sun/Oracle? (pelo menos eu não me lembro disto)

Pelo mesmo motivo que o Monty mete o pau no mySQL… agora eles não estão mais dentro das empresas , venderam e ainda achavam que dariao PITACO…

Sinceramente, no caso do Gosling to achando ser uma questão muito mais de birra do que de qualquer outra coisa. É comum este tipo de postura quando se sai da zona de conforto, não é mesmo? (mas quem sou eu pra fazer qualquer teoria a respeito da vida deste cara? só um pitaqueiro metido a besta :smiley: )
Bom, mas mesmo sendo um pitaqueiro, continuo achando a postura dele no mínimo idiota. Este tipo de postura que está tendo AGORA, ele devia ter tido na época anterior à aparição da Oracle.

(aliás, as reclamações que ele faz da Oracle são típicas de funcionário mimado)

Mas voltando ao tópico, acho as críticas que ele fez ao JSF válidas. Eu me lembro do meu primeiro contato com JSF. Simplesmente AMEI. No entanto, ao conhecer Grails, vi o quão chato era de se trabalhar.
Realmente, o primeiro JSF, apesar de ter sido um sucesso no quesito adoção, foi um fracasso no resto.

  • A promessa de se escrever aplicações desktop ou mobile com JSF não vingou
  • A criação de componentes com ele não é tão linda quanto disseram no início (muito pelo contrário, é uma merda)
  • Criação de interfaces usando arrastar e soltar NUNCA pegou (lembram do Web Developer da Sun? alguém aqui já usou as ferramentas visuais do Netbeans?)
  • Os arquivos XML de configuração, conforme a aplicação ia crescendo, iam se tornando infernais.

Na segunda versão, a impressão que eu tive é que os caras cairam na real. O foco é apenas na parte web e, de fato, o framework melhorou bastante. Tanto que voltei a gostar dele.

Acho que poderíamos expandir um pouco a discussão também, em relação a component based e action based frameworks… Acho que isso pode justificar um pouco do problema que vejo no JSF.
Hoje em dia não vejo aplicabilidade para frameworks component based, não vejo aquela vantagem vendida em relação a abastração da Web, facilidade de desenvolvimento para os desenvolvedores, essa abstração só traz desvantagens…
Sempre que um novo recurso surge, comets, cache, etc… o component based dificulta nossa vida, pois temos que fazer vários desvios para poder aplicar, fazendo com que ele atrapalhe mais do que ajude.
Quando montamos o design de uma aplicação, tentamos deixar a construção do nosso domínio o mais parecido com o modelo real certo ?? O tal DDD ? Isso é feito para evitarmos manutenção, pois quanto mais próximo da realidade, a probabilidade de mudanças, serão somente quando a "realidade"mudar…
Agora pq não pensamos assim com frameworks ??? Afinal a web é request/response, não adianta abstrairmos de uma maneira diferente tentando esconder essa natureza.
Eu uso Wicket todo dia… acho uma MERDA ( sorry Bregaida rs… )
Tive todos os problemas possíveis e imagináveis com o fw, desde performance até TODOs dentro do código do Wicket onde teria que ter uma implementação :shock: :shock:
Não existem componentes no mercado, tivemos que fazer até um DatePicker, nem algo tão simples como esse componente não conseguirmos utilizar um pronto.
O gerenciamento de recursos dele (imagens, js, etc…) ele simplesmente consegue driblar meu browser para não fazer cache, ele vai exatamente ao contrário de tudo que tentamos fazer pra melhoria de performance em aplicações web…
Bom, torço pro java, mas JSF, EJB, sinceramente prefiro às alternativas :slight_smile:

Até agora assisti até os 33 minutos (não chegou nessa parte do JSF), e ele foi muito equilibrado nos comments (tirando uma ou outra brincadeira).
Recomendo que vejam o vídeo antes de descerem a lenha. Tem muitas questões legais (no sentido de “cool”, não no sentido jurídico), como por exemplo “o que vc acha de hardwares baseados em Java?” (e a resposta dele é uma aula), fala sobre a dificuldade que seria fazer um possível fork do Java, perguntam se a Sun tinha intenção de processar a Google, dentre outras perguntas legais.

Sobre o motivo dele falar isso agora que saiu da Sun/Oracle, é o óbvio: ninguém pode tecer opiniões pessoais sobre assuntos que interessam diretamente à empresa. Agora que ele não tem mais vínculo, pode falar o que pensa.

E ao contrário dos que acima disseram que ele tá agindo igual o fundador da MySQL, ele não tá dizendo que o Java tá uma bosta, que a Oracle vai destruir, nem nada.

Novamente, sugiro assistirem.

30m22s: "Of course when we described this to the folks at Oracle, you know, their reactions was: ‘You’re fuckin’ idiots!’."
Kkkkkkkkk
Esse James Gosling é um fanfarrão! kkkkk

IMHO,

JSF complica demais, você tem que aprender uma pseudo linguagem para escrever HTML e até mesmo JavaScript affe, parece que o pessoal não ve que no final tudo não passa de uma transformação para texto PURO, é realmente não vejo nenhuma vantagem em utiliza-lo.

Eu tentei gostar do JSF, mas sempre tive problemas com frameworks baseados em componentes, isto é, os que geram html e javascript automaticamente, eles quando precisam ser customizados começa a complicar mais do que ajudar…exemplo jsf e asp.net webforms.

O engraçado que o asp.net começou com um framework baseado em componentes, o WebForms, mas o mercado esta direcionando cada vez mais para o ASP.MVC (lembra muito o vraptor 3) o java por outro lado começou com os frameworks baseados em ação e agora pelo menos o framework padrão tende a ir para baseado em componentes no caso o JSF, parece que um busca o que o outro não tem :stuck_out_tongue:

Eu já prefiro os frameworks baseados em componentes: mais produtivos, flexíveis e com um código mais intuitivo pra dar manutenção, além de enxuto e claro.

Claro, que é minha opinião e conheço muita gente que prefere action base pelos mesmos motivos exatamente. :lol: :lol:

Hoje usamos o JSF 1.2, com o problema que o colega citou: como a empresa ainda não definiu os componentes padrões que deveremos usar, tem hora que ficamos presos nos componentes default, que são limitados.

exatamente cada um tem seu gosto, bom que temos as opções para escolher :slight_smile:

Não, ele quis dizer que JSF é um clone de ASP.net[/quote]

Sinto muito, mas ele não quis dizer isso, não! Ele estava criticando scriptlets: “(…) Microsoft had this thing called ASF (???) which is angle brackets and percent signs (…)”. Isso é scriptlet. O que JSF tem a ver com scriptlets? Nada.

Ele confundiu JSF com JSP.

Dizer que JSF é um lixo é o mesmo que dizer que Struts 1.0 tinha vários problemas. Só está atrasado uns 6 anos.

Eu acho o JSF um lixo… pra ser sincero não sei como isso está sendo tão utilizado nas empresas!
Ele gera códigos escondidos do programador, códigos html que voce não sabe de onde vem. Voce tá fazendo tudo certo, ai passa a dar erro e voce não sabe o porque… depois tem que ficar procurando debaixo do tapete pra saber o que o JSF ta fazendo! :evil:
Onde eu trabalho, o ÚNICO framework que está sendo definido como padrão é o Hibernate, por que framework bom e útil de verdade na camada view nós lá ainda não conhecemos rsrs