Desvantagem grande Java em relação a .net

Eu acho que o Java perde a força quando se divide em n frameworks para o mesmo fim.
.net pode ser menos evoluído, mas seu crescimento torna-se mais consiso.
Por exemplo, se não houvesse webwork,struts,spring,mentawai,jsf e hibernate,jpa,dentre outros.
O desenvolvimento aproveitando o melhor desses, seria muito mais inteerssante e a comunidade ficaria muito mais centrada em desenvolver um produto macro e robusto com o melhor de todos os ângulos.
A parte da flexibilidade de escolha é interessante, mas se temos 20 pessoas fortes na comunidade e temos 20 projetos diferentes,com 20 visões com “pequenas diferenças” , por que não focar 20 em 1 único objetivo?
Que vocês acham disso?

Discordo. Exemplos dentro do Linux que contrariam seu argumento. Existem N dstros com N gerenciadores de janelas com N gerenciadores de pacote etc, e não é por isso que os produtos são piores que o do Windows. Culpar a variadade pela qualldade não é justo. Já pensou que é pela variedade que se tem o avanço? Se fosses unir vários pontos de vista em poucos tornaria o desenvolvimento engessado, pois nem sempre a filosofia de desenvolvimento vai ser compatível e o pior, nem sempre será adepta a algumas mudanças tão cedo etc.

Poderíamos pedir uma maior agregação cultural-tecnológica mas não uma união total.

Até!

A minha opinião é totalmente inversa a sua. Quanto mais, melhor. Não existe framework perfeito, e, é melhor usar algo mais limpo e enxuto as vezes, que faça só uma determinada tarefa.

[quote=antoniopopete]Eu acho que o Java perde a força quando se divide em n frameworks para o mesmo fim.
.net pode ser menos evoluído, mas seu crescimento torna-se mais consiso.
Por exemplo, se não houvesse webwork,struts,spring,mentawai,jsf e hibernate,jpa,dentre outros.
O desenvolvimento aproveitando o melhor desses, seria muito mais inteerssante e a comunidade ficaria muito mais centrada em desenvolver um produto macro e robusto com o melhor de todos os ângulos.
A parte da flexibilidade de escolha é interessante, mas se temos 20 pessoas fortes na comunidade e temos 20 projetos diferentes,com 20 visões com “pequenas diferenças” , por que não focar 20 em 1 único objetivo?
Que vocês acham disso?[/quote]

Eu acho que é exatamente ao contrario. O Java é tão poderoso e livre que cada um é livre de fazer o que quiser. Já com .NET a microsoft já estabeleceu os padrões a usar e acabou a conversa. Se vc não quiser usar esse vai ter problemas porque os objetos padrão não foram criados para ser extensiveis. Aliás porque a microsoft muda as regras dos jogo a cada versão.
A microsoft sufoca o programador e deita por terra qualquer investimento quando muda as regras. Eu já passei por isso e é um saco.
Com java ha preocupação em fazer coisas compativeis e concisas. A sun não tem a ultima palavra e por isso temos o eclipse , o hibernate o grande jasperreports e muitas outras ferramentas que juntas permitem fazer qq coisa que se faça em .NET e até mais, sem custo e com proteção do investimento de tempo estudando o assunto.

Quando a desenvolver um produto unico conjunto : isso é simplesmente uma utopia.

Eu acho que o Linux evolui de forma “unificada”.
Existem diversos gerenciadores de pacote,gerenciadores de janela.
Não disse que java é PIOR que o .net, só disse que a arquitetura .net se desenvolve de uma forma mais centrada do que o Java que cresce meio que desordenado embora o JCP defina as especificações.
Eu sei que o .net é uma iniciativa apenas de uma empresa, mas imagine se Oracle,IBM e companhia focassem seus esforços em produtos da mesma linhagem.
Exemplo, frameworks MVC:

1 linha de orientado a Actions e outra de orientado a componentes.
E o tempo diria qual o melhor, eu acho legal que se tenha a opção, mas eu particulamente acho esse um grande defeito do profissional de informática, “querer sempre criar novas soluções”, por isso existem n frameworks caseiros, que só fazem realizar a mesma coisa que n frameworks já existente, alguns com pequenas e infimas vantangens.
Não contribuindo de forma significativa para o desenvolvimento da “construção do saber”.
Falo em termo de desenvolver,evoluir, pois a ciência é construída através de cada experimento, seja ele com resultado positivo ou negativo.
Essa é minha visão, não que seja melhor ou pior que .net, mas que se fosse um crescimento mais unificado, talvez fosse melhor.

Acho que vocês não entederam o sentido do tópico.
Falei em termo de desenvolver a tecnologia, nem disse que seria tudo unificado e amarrado, apenas disse que ganhariamos mais com isso

Não falei em mudar sempre, pelo contrário quis dizer em evoluir,sem deixar de se preocupar com compatibilidade futuras.

Boa parte dos frameworks Java está sendo portada para .NET, como o Spring, o Hibernate, o Log4J e o BouncyCastle. A própria Microsoft afirmou que um framework MVC estará disponível em breve em http://www.asp.net.

Acho que me expressei mal, não quis questionar a qualidade do produto Java em relação ao produto .NET.
O que quis levantar é que a utopia citada em: [quote=sergiotaborda ]Quando a desenvolver um produto unico conjunto : isso é simplesmente uma utopia. [/quote] dificilmente será alcançada devido a esse crescimento desunificado.
O que os projetos open source estão fazendo migrando para .NET?Tentando fornecer ao .NET ferramentas estáveis e seguras, já aceitas pela comunidade e que darão melhor suporte ao desenvolver de realizar suas atividades, mas como e pq?Porque ciência se constrói a partir de conhecimentos já testados, experiências positivas e negativas.
Por que não o Struts para .NET?Porque se tornou obsoleto, por que o Hibernate?Porque deu certo no Java.
Então o .NET com isso,talvez só se preocupe em evoluir mais o que já foi testado pela turma do Java.
Nesse aspecto ele ganha, pois a comunidade Java está dividida cada um focando em sua própria solução.
Entendo que a comunidade é muito grande, por isso pode se dar esse luxo.
Foi apenas uma colocação, não quis levantar nenhum flame java x .net.
Acho que Java é melhor, mas só falei de como as coisas evoluem no Java,poderia ser de uma forma mais centrada e organizada.
Mas existem suas vantagens,e isso pode acontecer pois a comunidade é grande e repleta de gente capacitada.

Deixa eu dar minha opinião.

Eu concordo que ter vários frameworks, muito deles que fazem quase a mesma coisa é uma desvantagem para quem está começando, pois a pessoa olha aquela quantidade de frameworks e se assusta, não sabendo nem por onde começar.

Porém o que vejo é que muitas pessoas acabam estudando os frameworks sem ao menos estudarem os conceitos (os chamados programadores de frameworks). No fórum é possível ver várias perguntas de pessoas que trabalham com um determinado framework (por exemplo MVC) sem entender como funciona o padrão MVC.

A partir do momento que você estuda o padrão, estudar/entender o framework que implementa esse padrão é uma tarefa mais simples. (Quantas pessoas aqui tem conhecimento de diversos frameworks MVC? Essas pessoas são mágicas? claro que não.)

Seria muito legal a comunidade e empresas unirem forças e trabalharem em apenas alguns frameworks, porém isso é utopia. Aqui mesmo no GUJ, o Urubatan, já desenvolveu um framework muito legal (spring-annotations), deu idéia para o time de desenvolvimento do Spring e eles deram risada, porém depois de um tempo lançaram um projeto semelhante sem dar créditos para o Urubatan, que teve a idéia inicial. Cade a união da comunidade nesse caso?

Eu acho que é fundamental deixar em aberto para qualquer um desenvolver e publicar o que quiser na internet. Seja uma idéia nova ou uma cópia melhorada de algo já existente. São nesses novos frameworks que surgem a cada dia, que idéias novas também surgem. Algumas acabam virando especificação (vide JPA), outras se tornam padrão de mercado (época do Struts 1), e outras ajudam para evoluir a linguagem (exemplo do Spring).

Eu gosto muito de poder escolher qual é o melhor framework para determinada situação, determinado requisito. Eu prefiro essa escolha do que ficar amarrado a um framework que resolve todos os problemas.

Por fim, eu não acho isso uma desvantagem do Java em relação ao .NET, pelo contrário, eu acho que é um ponto positivo :slight_smile:

Poderia dizer por que essa frase não é contraditória?

Antonio, deixa eu dar outra opinião minha aqui.

Eu não sou conhecedor da tecnologia .NET. Eu tive pouco contato com C# e ASP.NET em 2004/2005, porém o que eu notei na época e que percebo sempre em comentários da galera .NET, é que não importa quantos frameworks .NET terá, se a ferramenta Visual Studio não suportar esses frameworks, provavelmente a grande maioria esmagadora dos desenvolvedores .NET nunca vão utiliza-los.

Caraka cara, que sacanagem, hein?
Não sabia que a idéia de anotações do Spring atual, 2.5, tinha surgido do Urubatan. Eles nem sequer o citam. Que coisa feia, tinha que ser assim?
Por isso a Microsoft “ganha” argumentos no momento de vender seus produtos, ai os iniciantes ficam pensando que .Net tem tudo e Java é atrapalhado. Sendo que já citaram situações, como o novo framework MVC do .NET que está para sair.
Bom, o importante é que na diversidade se encontra idéias para gerar novos e melhores frameworks. Melhor do que aparecer 4, 5 anos depois padronizado (vide Microsoft MVC).
Eu mesmo, aprendi do jeito correto, conhecendo o padrão MVC (Servlets e JSP) ai entendi o resto (entendi Struts, JSF, Spring MVC). Ainda sou um iniciante nestas artes, mas já consigo pegar e destrinchar somente pelos fontes disponíveis de exemplos espalhados aos montes na net.

Abraços

O fato de Java ter varios framework parece ruim quando se é iniciante, que você fica muito perdido de como começar, como proceder.[
Mas quando você se torna mais experiente fica muito interessante.

Acho que o negocio é continuar como ta caminhando, se cair na graça do mercado a Sun cria uma especificação e os fabricantes implementam.

Assim se você, por exemplo, souber JPA não vai ter dificuldade de ir do hibernate para toplink.

É isso ai. Agora disse tudo. O .NET é tudo o que o Visual Studio for. Ninguem se imagina programando .NET no notpad. Enquanto que um programador Java pefere até usar o notpad ( claro que estou exagerando, mas o ponto é que ninguem usa .NET no notpad).

Tlv por isso .NET parece unificado porque ele é engessado pelo Visual Studio. O Java não é engessado por coisa nenhuma.

Se bem que tem aqueles programas monstruosos criados pelo Visual Editor do NetBeans :stuck_out_tongue: - como o NetBeans é da Sun, eles até empurraram o javax.swing.GroupLayout goela abaixo, sem passar por JCP nem coisa nenhuma.

[quote=sergiotaborda]
É isso ai. Agora disse tudo. O .NET é tudo o que o Visual Studio for. Ninguem se imagina programando .NET no notpad. Enquanto que um programador Java pefere até usar o notpad ( claro que estou exagerando, mas o ponto é que ninguem usa .NET no notpad).

Tlv por isso .NET parece unificado porque ele é engessado pelo Visual Studio. O Java não é engessado por coisa nenhuma. [/quote]

Poderia citar referencias, por favor? Especialmente em relacao aos pontos

  • .NET é tudo o que o Visual Studio for
  • Programador Java prefere notepad
  • .NET é engessado pelo Visual Studio
  • Java nao é engesssado

Ao meu entender, voce pegou algum power point na net e tirou tais conclusoes.

Rafael

hhmm… onde? A quais “padroes” da MS que voce esta amarrado?

De novo: onde? mostre alguma coisa que comprove o seu argumento. Essa é uma afirmação tao absurda que chega a ser incrivel ler algo do tipo. Quais “objetos padrao” nao sao extensiveis? (explique bem). E quais “regras do jogo” foram mudadas em cada nova versao da plataforma .NET? Voce tem menos problemas de migragracao (BEM menos) do .NET 1.0 para o 3.5 que migrando do Java 1.3 para o 5.0.

Se voce teve problemas no projeto, provavelmente foi culpa dos desenvolvedores e arquitetos - que, alias, costumam ser os problemas em qualquer plataforma.

Atualize-se mais primeiro.

Rafael

Os “padrões” Microsoft são o que a empresa deseja considerar como um “padrão” de mercado. Sendo que o “mercado” a ser considerado é o Norte Americano.

No mundo Microsoft é ela quem dita as ferramentas e padrões (ou tenta), já no mundo Java é o mercado quem faz isso, tanto que o mundo Microsoft está copiando ferramentas que foram aceitas no mundo Java pelo mercado, como já disseram aqui no tópico.

Não que a Microsoft não crie padrões úteis, muitos deles foram aproveitados e até aprimorados no mundo Java.

A verdade é que quando digo mundo Java estou me referindo a todas as tecnologias com padrões abertos, que juntas conseguem evoluir e revolucionar nossa área, vide o caso de alguns padrões de outras tecnologias aproveitados pelo java e até incorporados a novas versões.

Voces falam como se a Sun ou o “Glorioso” JCP criassem mega “padroes”. E dizer “ferramentas com padroes” abertos nao esclaresse coisa alguma - da a entender que voce diz “hey, vejam Hibernate é um padrao, struts eh um padrao” e afins. Que padrao aberto aberto um framework qualquer tem? Isso nao tem nada a ver com a plataforma sendo utilizada.

Java tem mais frameworks web que .net? Com certeza. E cada framework tenta fazer a mesma coisa de maneira diferente, muitas vezes pq um nao gosta do projeto do outro. Nao obstante, boa parte dessa firula comecou, a anos atras, pela total falta de capacidade da Sun entregar algo que prestasse.

Nao que webforms seja algo que preste.

Rafael