Sobre IDEs, APIs e etc

Sabe, tenho observado certos temas recorrentes nas conversas dos anti-Java com os pró-Java, aqui e em diversos outros sites. O que me impressiona não é a possibilidade de existirem alternativas melhores, mas sim a de quererem substituir o Java por NADA, “uma linguagem, mais o notepad, e mais uma meia dúzia de APIs”. As argumentações são similares:

“Em 1997 não existiam IDEs decentes para Java e isso não impediu o Java de crescer, logo IDEs não são necessárias”

Sim, e nenhuma empresa da década de 60 precisava de internet. E daí? Os tempos mudam e a necessidades também. Os seres humanos existem desde antes da invenção do telefone, e nem por isso o telefone é menos importante.

Esse, de todas os “fatos”, é o mais indecente. Não sei se é por estupidez honesta ou cegueira causada pela profissão de fé de Rubyista, mas É uma baita falha de lógica. Ou talvez eles vivem num mundo estático, vai saber… “se há 20 anos era assim então deve ser amanhã também”

“O Ruby é tão bom, mas tão bom, que nem é necessário IDEs”

Claro, como se IDE fosse apenas Wizards para projetos, com templates de código aqui e ali. Acho que esse pessoal nunca ouviu falar de refactoring, só isso já me faz querer uma IDE para qualquer coisa. Fora a integração com debugger, profiler, interfaces para testar webservices, inpecionar tráfego na rede e outras ferramentas essenciais.

“Quando eu falo de Ruby falo apenas da linguagem, porque as pessoas juntam Eclipse + Java EE + Hibernate tudo numa coisa só e chamam isso de Java?”

Eu pergunto a cada usuário desse fórum para que pense por si mesmo. No seu dia-a-dia quais são as suas necessidades? Vocês desenvolvem sistemas do zero, sem APIs e sem documentação? Vocês trabalham com o notepad?

Java introduziu a idéia de plataforma para as massas, uma que traz uma class library mais completa, afinal de contas ninguém escreve todas as libs do zero, um mecanismo de documentação embutido com o javadoc.

Mais tarde outras coisas foram adicionadas, como a separação de Javas, SE, EE e ME. Podem chamar isso de marketing, mas ter um conjunto de APIs e tecnologias voltadas para determinados tipos de problema facilita e muito.

Me pergunto, que organização essas novas religiões têm?

O tipo de pessoa que diz isso é o mesmo que diz que Linux é só um kernel, como se um kernel de SO sem aplicações para rodar fosse útil para alguma coisa, ou que C++ é uma linguagem apenas, como se uma linguagem sozinha sem libs e nem mais nada fosse útil.

Essa divisão não existe no nosso trabalho. O que precisamos é de uma plataforma para trabalhar, a Microsoft tem o Windows mais o .Net, nós temos o Java

Essas pessoas de outras linguagens que criticam o Java deveriam parar para estudar o sucesso dele. Eles poderiam aprender coisas valiosíssimas para usar em suas respectivas plataformas. A Microsoft aprendeu, tanto que lançou o .Net.

Quase esqueci a pior de todas:

“O preço do ciclo de CPU é menor do que de hora de programador”

Em 1986 uma linguagem que tivesse 60% da velocidade do C era considerada lenta. Vamos imaginar que essa linguagem hoje ainda tenha 60% da velocidade do C.

Vocês concordam que o 60% de 20 anos atrás é muito menos que os 60% de hoje? Mas isso ainda seria considerado lento!! O tempo passou e hoje esperamos mais dos aplicativos que usamos, que eles desempenhem mais tarefas! Vejam só o Office! Sempre arranjam o que colocar a mais naquilo! Vejam seus desktops!

Performance é importante, e foi uma coisa acertada que colocassem isso como prioridade para o Java. Hoje temos uma plataforma competitiva por causa disso.

Enfim, só queria uns pingos nos Is. Esse pessoal começa com ataques pessoais e começa a misturar tudo, com simplismos e lógica falsa apenas para confundir. Aqui está uma idéia completa, agora todo é livre para concordar ou não.

Hmm… boa estratégia. Assim você cria um tópico do zero e não responde todas as milhares de indagações que ficaram sem resposta nos posts onde escreve abobrinhas…

Aliás, thiago, seja ainda mais esperto. Toda vez que for responder alguém crie um tópico novo! Daí o ‘eleitor’ que você busca não vai ter memória e você vai sempre parecer certo, mesmo que deixe furos e fale coisas completamente erradas (vide tópico sobre RoR e até aquela coisa ridícula sobre o nome do pobre do peleteiro).

Na boa, se você precisa deste tipo de estratégia para “defender” Java num forum de Java cheio de programadores Java com mais de cinco anos de plataforma é porque tem algum problema aí. Ou nestes programadores (“meu zahl, o mundo está louco e eu sou o único são!”) ou do outro lado do problema.

Uma coisa que me desconcerta além dos comentários do thiagosc é vocês prosseguirem respondendo. Não entendo como vocês ainda não ignoraram ele. É grosseria, descortês, brucutu, anti-democrático, mas, minha nossa senhora da periquita, convenhamos…

E a gente vai se divertir como ? falando sobre hibernate ? nhaaaa :mrgreen:

ele tá durando até demais com essa segunda estrelhinha, aposto que ele tem um alter-ego que gosta muito dele.

Essa é a raiz de todo problema, voc^e ainda v^e a coisa como time de futebol. Nos somos fRamegos e eles vascainos.

Eu não sou java, nem .NET muito menos Ruby. Eu sou o Jose Peleteiro (mesmo que voc^e não acredite), e uso varias delas. A que eu achar melhor dentre as que eu puder usar, eu vou usa-la.

Ignorar todo o resto, achando que Java é a solução para todos os males e não precisa melhorar é um baita de uma ignorância.

Ruby é bom pra kct, e o dia que voc^e tiver capacidade para aprender, voc^e vai entender a merda que fica falando por ai.

Mas enquanto isso, vai se divertindo com o RAD da IBM. (Serio, eu ainda não acredito que voc^e, nem voc^e, teve a capacidade de citar essa IDE como uma IDE boa).

Microsoft tem o .NET
Nós temos o Java?

Se eu tivesse o java ele ja seria open source faz tempo :wink:

Olá

Agora é sério porque você tocou em algo que preciso

Qual IDE faz isto? Há plugin do wireshark para alguma? E o que são interfaces para testar WS?

[]s
Luca

Essencial?
Você usa o proffiler, interface para testar webservice e para inspecionar tráfego na rede o tempo todo? Considera isso essencial? Neste último ano eu nunca precisei dessa coisas.
Eu utilizo eclipse por que ele tem um sistema de projetos flexível, um compilador “instantâneo” e um bom editor de código. Tudo mais é secundário…
Cada um tem que usar o que é mais produtivo para ele. Se você precisa de um monte de wizzards e integrações malucas para ser produtivo, pode continuar usando o RAD. Mas nem todos precisam\gostam\querem isso e trabalham muito bem, obrigado.

Fez essa pergunta para ‘esnobar’ ou por que vc realmente quer saber se tem uma divisão? Com ruby tem a core API e tem o Rails. Você pode muito bem usar Ruby sem rails ora!

Quantas pessoas usam mais do que 10% dos recursos do office?

Olha, eu tenho a impressão que o Java é mais escalável do que é performático. Não é um grande exemplo de performace em alguns casos. Ele tem muitas facilidades e coisas prontas que te ajudam a dar mais performace sim. Mas quem sabe não façam um compilador JIT que nem o do Java para as outros linguagens interpretadas…
E quando começarem a rodar DSLs direto na JVM? Elas não poderão se aproveitar de todas as otimizações do java?

Eu concordo que esse negócio de “ah, olha que legal, eu dou um ou dois comandos e o rails gera uma aplicação para mim, olhem que produtivo” é bobagem. Nem todas as aplicações são uma junção de CRUDs que podem ser gerados.
Mas alguns coisas podem ser imitadas do Ruby\Rails (hehe, eu mesmo estou fazendo isso :P) e trazer muitos ganhos.

Será que estou escrevendo grego? Será que ninguém leu o que eu escrevi? Sim esse comentário foi direcionado a você que usa o pseudônimo de José Peleteiro e a alguns outros.

Aonde, ó Cristo que estás no céu, eu citei termos de “time de futebol”?

Será que pensar como plataforma é pensar como time de futebol? Ter um conjunto de ferramentas completo? Ver o todo ao invés de dividir uma coisa que no nosso trabalho não há divisão?

Eu só não quero ter que trabalhar no notepad e tampouco no ‘vi’.

E sim, eu acho o RAD uma IDE boa, principalmente se você trabalhar com o WebSphere. Eu que não acredito que estão criticando o RAD, sendo que o mesmo é Eclipse plus plus, ou seja, Eclipse + um monte de plugins. É a mesma “porcaria” de Eclipse que você usa, só que a diferença é que é mais completo.

O interessante é que nenhum dos da “turminha” deu uma resposta convincente, por que será? Apenas colocam comentários com ataques pessoais.

Hum, leia o meu post então :slight_smile:

Aliás, uma curiosodade Thiago, vc e esse cara são as mesmas pessoas?
http://www.vivaolinux.com.br/~thiagosc

Qual IDE faz isto? Há plugin do wireshark para alguma? E o que são interfaces para testar WS?
[/quote]

É uma ferramenta de dentro do RAD onde lista os webservices publicados por um servidor, você só entra com os dados e vê a resposta com vários graus de detalhe. Existe algo similar para EJB, só que é outro recurso com outro nome e eu nunca precisei usá-lo.

Esse foi apenas um exemplo por causa da praticidade, pois basta alguns segundos para criar o webservice, é adicionado no EAR que vai no servidor, e de lá já testa. Rápido.

Thiagosc, você já reparou o tanto que você fica sentido quando alguém fala bem de Ruby, Rails, Python, qualquer-coisa-não-java?

Posso te dar um conselho? Se você tem tanta certeza que Java é infinitavemente superior à essas-outras-linguagenszinhas: ignore-as.

Você faz um grande bem pra si e para nós (que já enchemos o saco de ouvir pseudo-argumentos).

BTW: Já mandei em um outro tópico uma lista com cerca de 10 IDE’s pra Ruby (e a maioria com debugger, etc) e você continua batendo na mesma tecla.

O interessante é que nenhum dos da “turminha” deu uma resposta convincente, por que será? Apenas colocam comentários com ataques pessoais.
[/quote]

Isso por que voce se esconde atras de um pseudonimo, e um proxy pra nao descobrirem da onde voce é.

Se voce tiver coragem mostra sua cara, e vamos te responder como qualquer outra pessoa neste forum.

quanto ao jose, nao é pseudonimo que ele usa :wink:

ele nao é tao idiota e covarde quanto voce :mrgreen:

Eu gostaria de esclarecer que não utilizo o Notepad para programar. Eu utilizo o VIm, que possui muitos add-ons para programadores. Ah, sabendo utilizar mais um punhadinho de ferramentas você consegue fazer refactoring tranquilamente em uma shell linux.
Conclusão: meu Bash é uma ótima IDE. Leve, funcional e faz muita coisa. Só exige um pouco de conhecimento, visto que não tem ‘janelinhas’.
Se alguem programava assim 20 anos atrás, eu não sei, mas importa?

Meu ambiente de desenvolvimento é surpreendentemente bem integrado: posso debugar com script/breakpointer ou script/console, executar teste basta um rake, documentação através do RI ou do Gem Server, tráfego de rede então, tem um milhão de ferramentas que posso estar usando: tcpdump, netstat…
Não estou dizendo que todos devem utilizar essa solução, mas acho ela bastante completa e não a considero ultrapassada porque ela não me deixa na mão. Concordo que uma tela preta com um prompt piscando possa parecer meio assustador à primeira vista… Mas dizer que é velha e ultrapassada porque não é bonitinha?! Sejamos pragmáticos: faz tudo que eu preciso? faz bem? faz rápido? Então tá valendo, não?

Tem um livro bom para você ler, do Richard Stevens: Advanced Programming in the UNIX Environment. O livro é meio velhinho, mas não acho que o seu conceito está ultrapassado.

PS: E é uma delícia você não precisar colocar a mão no mouse para programar a cada 2 minutos.

[quote=microfilo]Essencial?
Você usa o proffiler, interface para testar webservice e para inspecionar tráfego na rede o tempo todo? Considera isso essencial? Neste último ano eu nunca precisei dessa coisas.
Eu utilizo eclipse por que ele tem um sistema de projetos flexível, um compilador “instantâneo” e um bom editor de código. Tudo mais é secundário…
Cada um tem que usar o que é mais produtivo para ele. Se você precisa de um monte de wizzards e integrações malucas para ser produtivo, pode continuar usando o RAD. Mas nem todos precisam\gostam\querem isso e trabalham muito bem, obrigado.
[/quote]

Eu uso o profiler e o testador de webservice e mais um bocado de coisas. No entanto nunca precisei usar a ferramenta de análise de tráfego. Aqueles foram apenas exemplos, que talvez outros plugins para o Eclipse façam de formar similar, afinal de contas o RAD é o Eclipse.

Não existem “integrações malucas” nessas ferramentas, mas algumas coisas realmente auxiliam o desenvolvimento. Imagina o menu de refactoring do Eclipse, não é útil? Pois é, existem diversas funcionalidades tão úteis quanto.

O ponto que estou contestando é: “Nós não precisamos de IDE”. E isso é um absurdo para qualquer ambiente profissional.

[quote=microfilo]
Fez essa pergunta para ‘esnobar’ ou por que vc realmente quer saber se tem uma divisão? Com ruby tem a core API e tem o Rails. Você pode muito bem usar Ruby sem rails ora![/quote]

Não, vejamos a região toda do texto. Eu me referia a completude do Java. Ele possui uma class library bem grande, uma documentação decente nos javadocs, essas divisões que nada mais são do que uma organização “marketeira” do Java, mas que ajuda de qualquer forma, e diversas outras ferramentas como IDEs, frameworks, etc.

Não é interessante pensar em termos de linguagem apenas, mas sim de linguagem + outras coisas que é igual a plataforma. Entendeste?

Pois é, o que o Ruby tem? Rails? só? Ah, e a linguagem em si? É como dizer que o Java tem Struts (ou ponha o seu framework favorito aqui). Existe um conjunto de APIs e ferramentas específicas para se usar para a web como no Java EE? É possível sequer comparar ambos?

[quote=microfilo]
Quantas pessoas usam mais do que 10% dos recursos do office?[/quote]

Você está falando sério? Tá, mude de Office para Windows Vista. Agora continue pensando a respeito.

Não leve ao pé da letra, não estou me referindo única e exclusivamente ao Office. Imagine isso globalmente, na sua mente imagine softwares de 10 anos atrás e veja-os hoje. Por que sempre é preciso hardwares mais rápidos? Por que o Gnome e o KDE são pesados? Por que que apesar de termos tanto avanço ainda “falta máquina”?

Oras, se fosse pelo “padrão da indústria” da década de 80 nossos o hardware atual não deveria dar conta de tudo e com folga?

[quote=microfilo]
Olha, eu tenho a impressão que o Java é mais escalável do que é performático. Não é um grande exemplo de performace em alguns casos. Ele tem muitas facilidades e coisas prontas que te ajudam a dar mais performace sim. Mas quem sabe não façam um compilador JIT que nem o do Java para as outros linguagens interpretadas…
E quando começarem a rodar DSLs direto na JVM? Elas não poderão se aproveitar de todas as otimizações do java?[/quote]

Em alguns casos tudo é discutível, mas o Java melhorou muito a performance desde que foi lançado e se não fosse isso estaria morto com toda a concorrência que existe. Eu presumo que você concorda.

[quote=microfilo]
Eu concordo que esse negócio de “ah, olha que legal, eu dou um ou dois comandos e o rails gera uma aplicação para mim, olhem que produtivo” é bobagem. Nem todas as aplicações são uma junção de CRUDs que podem ser gerados.
Mas alguns coisas podem ser imitadas do Ruby\Rails (hehe, eu mesmo estou fazendo isso :P) e trazer muitos ganhos.[/quote]

Sim, eu concordo, muitas coisas podem ser imitadas. O objetivo do comentário original era contestar quem desmerece os recursos do Java sem dar uma alternativa decente. Mas sim, algumas coisas podem e devem ser copiadas.

Esses reacionários da linha de comando são os piores.

vamos la tiago … responda aos topicos, onde a gente questiona voce …

Linux é apenas um kernel. GNU/Linux é o agregado do kernel Linux com uma série de ferramentes GNU. Óbvio que acabamos por utilizar apenas o termo Linux no dia a dia, mas você está num forúm, conversando com profissionais da área, então utilize corretamente os termos.

Ah… quem disse isso foi a wikipedia, não é invenção da minha cabeça. Se achar que está errado você pode ir lá editar e corrigir, ok?