Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Paulo Mendes

Java x .NET

Recommended Posts

A propósito, ia editar o post acima mas não tem esse recurso aqui depois de um tempo já postado. Em Em um artigo postado por um amigo no meio dessa página, temos o seguinte:

 

Recursos novos no C#

 

Java ->

Compilado para código nativo? Raramente. O Java é quase sempre interpretado.

 

C# ->

Compilado para código nativo? Sempre compilado para código nativo. A compilação pode ser feita na instalação ou na primeira execução do programa.

Aqui o autor estava falando do que salientei, que até pouco tempo atrás, mesmo com as melhorias do JIT, na maior parte das vezes Java interpretava o código. Porém, após as melhorias, o código passa a ser compilado em sua maioria.

 

Ficou mais claro agora?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parabéns Cebola... ;)

 

Ótimas colocações sobre o comportamento das plataformas, sobre tudo, suas melhorias.

 

ps.: Desculpe o uso de termos sem concordância com aquilo que de fato foi colocado por ti, durante a leitura e escrita muitas vezes quero explicar algo daquilo que foi mencionado, mas, neste caso, o contexto fugiu, talvez por uma falta de atenção, mas beleza. Suas considerações fazem algum sentido, mas fazer conclusões sobre o que eu gosto me pareceu um tanto precipitado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, se minhas conclusões sobre o que você gosta foram precipitadas, peço desculpas.

 

abraço.

 

Opa.. Concerteza esse é o assunto do momento...

Deixa la dar a minha contribuição... São duas plataformas muito famosas que vêm de duas grandes empresas... Não trabalho com .NET, mas a aderência dele no mercado só me dá a entender que é muito boa e por isso vale a pena dar uma olhada. Quanto a java( me refiro como plataforma e não linguagem ) é excelente. Agora dando suporte mais linguagens está cada vez melhor, agora ja se pode fazer umas misturas de Ruby, Java, Paython dentro da plataforma... Entretanto convenhamos que atualmente escolher uma entre as duas é uma roubada, o mais sensato é pegar as duas e mandar bala... Claro que não é tão fácil dominar as duas, mas concerteza n é impossivel...

 

É isso aí.. abraço!

 

Eu acho meio complicado esse negócio de querer aprender as duas ao mesmo tempo, acho melhor o estudante escolher uma pra focar e entrar de cabeça. Se ele estudar as duas ao mesmo tempo, ou uma ele vai dar mais atenção que a outra, ou as duas vão ficar mal estudadas, até porque Java e .NET não são brincadeiras de criança, tem MUITA coisa a ser vista e isso requer tempo. Na minha opinião é muito complicado isso, pode gerar uma confusão do caramba a longo prazo. A menos que alguém queria saber apenas o básico nas duas linguagens, recomendo escolher uma e focar.

 

Costumo dizer que o bom programador não escolhe linguagens, até porque (tirando Prolog, uma linguagem com conceitos totalmente diferentes) a maioria das linguagens de programação seguem sempre os mesmos conceitos. Logo, quem sabe Java passa pra .NET com mais facilidade e vice-versa. Por esse motivo acho bobagem querer aprender as duas com medo do mercado, porque na necessidade, o bom programador vai aprender a outra sem maiores problemas.

 

Veja o que você quer ou precisa, mantenha o foco e entre de cabeça, se não você fica maluco estudando as duas. Acho que quem estuda as duas ao mesmo tempo acaba não sabendo direito nem uma nem outra, pode virar um rolo desgraçado na cabeça e gerar estresse.

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem defender ninguém, alguns tópicos onde vejo vantagem em programar utilizando .NET ao invés de Java - analisando a ATUALIDADE:

 

- Visual Studio é uma IDE muito mais amigável do que Eclipse e NetBeans.

- .NET possui Propriedades.

- .NET possui Linq e Extension Methods.

- .NET possui Anonymous Delegates e Lambda.

- .NET possui tipos dinêmicos. Ao contrario do que foi dito acima, a partir do .NET 4.0 com a implementação de tipos dinâmicos pode-se haver compilação em tempo de execução, assim como executar scripts em Ruby, Python e outros utlizando os Namespaces do .NET.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Minha opinião de programador de quintal :D

 

Eu sempre preferi Microsoft para tudo, apesar de dizerem isso ou aquilo, a Microsoft desenvolve produtos bem fáceis de usar. Claro houve algumas problemas pelo caminho(win milleniun,I.E,etc)

 

Mas voltando ao assunto, eu prefiro plataforma.net, pois ela é mais documentada,mais intuitiva e muito mais organizada. e isso para um programador que veio de paradigma orientado a eventos e vai se lançar ao paradigma orientado a objetos já é uma grande facilidade..Eu mesmo comecei programando vb6, quando já havia POO, acho que foi um erro, bom não meu, mais sim do curso que fiz. Pois é mais fácil aprender algo novo sem ter algo velho, do que ter algo velho,ter que esquecer isso e aprender algo novo..kk simplesmente qdo a coisa nova vai entrar bate numa barreira e eh phoda transpor ela..

 

 

.net tem integração web,banco de dados e com o sistema mais utilizado do mundo. Por tanto fica mais fácil,rápido e produtivo programar para ela, logo imagino que as empresas preferem produtividade,facilidade,agilidade,etc a inter-operapilidde,a não ser que ela desenvolva produtos para celular em que realmente java tem uma enorme vantagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hehehe, tópico antigo mas assunto muito atual.

 

Bom eu já programei em Java e atualmente programo em C#.

 

Acredito que ambas as linguagens se equivalem em funcionalidades e até creio que isso já tenha ficado claro para todos.

 

Após minhas experiências com ambas as tecnologias porém, falo hoje com muita tranquilidade que no meu caso exclusivo,

Prefiro muito mais o C# do que o java.

Por que digo isso?

A única desvantagem do C# contra o java é quando utilizamos winForms, pois o java por ser multi-plataforma roda em qualquer S.O.

Já em se tratando de sistemas Web (hoje a maioria dos projetos) essa desvantagem desaparece.

O java por sua vez tem para a mim uma deficiência grande, a ausência de uma ferramenta equivalente ao Visual Studio.

Já usei o Eclipse e o Net Beans, o segundo deles até acredito ser uma ferramenta para crianças, devido a dificuldade de customização de código.

O Eclipse não chega nem aos pés da facilidade do Visual Studio.

 

Ai vem o famoso "cabeça de bagre" que é fanático por java, ou é anti-microsoft e vem dizer que esse negócio de facilidades é para fracos,

Que programador de verdade tem que saber fazer tudo do zero, que o Visual Studio é arrasta e cola, e aquele monte de babozeiras.

Tudo isso seria verdade, se não fosse o mercado de hoje em dia.

Pra quem conhece e trabalha em alguma consultoria, ou em fábrica de software sabe do que estou falando.

Hoje os prazos são curtíssimos, algo que era para ser feito em 1 ano, por exemplo, hoje é feito com 3 meses de prazo, agora vá explicar para seu cliente

que você irá demorar 1 ano para fazer um software por que ele será multi-plataforma, e que você é um programador de verdade e quer fazer tudo na unha.

Seu cliente irá dizer algo como isso: "1 ano? A não, deixa quieto, a consultoria da esquina me faz em 3 meses", que seja em Clipper, o que importa para o cliente é que atenda as necessidades dele, o mais barato possível e no menor tempo possível.

Triste, mas é a nossa realidade de hoje em dia.

 

Então por não acreditar em contos de fadas e por conhecer o mercado, eu digo que hoje .NET é bem mais viável do que java, pela ferramenta que tem.

Claro que a Oracle não irá ficar sentada, acredito que em breve teremos algo equivalente ao Visual Studio no java, mas até lá prefiro .NET

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sei que esse assunto de quem é melhor Java x .NET é quase como discutir sobre religião. Mas o problema sobre produtividade no desenvolvimento de software é uma questão de foco, ou melhor, o problema não é tecnológico e sim estratégico.

 

“Um pouco de números para tentar dar um pouco de prumo a essa discussão:

 

1 - 80% dos negócios do mundo rodam em cima de programas COBOL. Nem Java nem .NET vão decidir o futuro da humanidade, portanto.

 

2 - Nunca vi um sistema que não pudesse ser implementado em qualquer linguagem que seja. Portanto, a discussão Java x .NET não se decide na esfera técnica.

 

3 - Produtividade - não é criando grids para acesso direto a tabelas que se mede produtividade, mas sim no tempo total que leva para uma idéia sair da cabeça do usuário de negócios até se transformar em um sistema rodando no ambiente de produção, testado, aprovado e homologado. Numa "competição" Java x .NET, é certo que ambas as tecnologias chegariam empatadas "na margem de erro" caso se considerasse todo o ciclo de vida de um sistema.

 

4- Ainda em produtividade, só de 15% a 20% do tempo é gasto efetivamente em implementação. O grosso do esforço é gasto em levantamento de requisitos e testes.

 

Por falar em produtividade, só 30% do tempo do programador é gasto em desenvolvimento de fato, em média. O resto é perdido em debugging ou reescrevendo requisitos que foram mal-entendidos (e mal-explicados, por conseguinte). Pare e pense na sua rotina diária e veja se você discorda desses números.

 

Assim, 20% X 30% = 60% do tempo total de um projeto em desenvolvimento REAL. Supondo que uma das duas tecnologias fosse 50% MAIS PRODUTIVA do que a outra (e nenhuma delas o é), o impacto final seria de 3% sobre o tempo total do projeto. Quase indetectável.

 

Assim, o desafio proposto perde a validade em si. Até porque ninguém vai sair "convertido" de um evento desses. Agora, um desafio de ponta a ponta, num prazo de algumas semanas, por exemplo, esse sim teria valia. Mas já não seria mais um desafio Java x .NET, mas, talvez, um desafio MDA x AMD (tipo Together) x Agile (S. Ambler), por exemplo.

 

4 - Decisões estratégicas - Há uns 20 anos, mais ou menos , o Natural/ADABAS ganhou um grande mercado do COBOL, porque era muuuito mais produtivo e fácil de mexer. Hoje quem tem Natural/ADABAS quer morrer, porque a Software AG está cobrando os tubos (zilhões de dólares) pela renovação das licenças e a tecnologia é "imigrável". Paralelo com .NET, proprietário como Natural/ADABAS. Erro estratégico.

 

Outro exemplo: há 30 anos, C prometia ser o que Java promete hoje. Se alguém algum dia teve um sistema de negócios escrito em C, então deve ter uma boa história de migração urgente para contar. Paralelo com Java, "assembleísta" como C. Outro erro estratégico.

 

Então, amigos, tecnologicamente falando, Java e .NET se equivalem. Não consigo imaginar um sistema corporativo (que é o que interessa, afinal) que possa ser feito em um, mas não no outro. Ou que saia muito mais rápido em um do que no outro.

 

Portanto, o cerne da questão é estratégico, não tecnológico. E todos os xiitas são gentilmente deixados de lado nessas discussões. De minha parte, entre Java e .NET, fico com arquitetura de software, MDA e Governança de TI.

 

Na guerra entre as partes, prefiro vender a munição. E aproveitem, que está com desconto!!! :o)”

 

Fonte: http://www.macoratti.net/java_net.htm

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom pessoal. nao é a primeira vez que respondo um tópico sobre este assunto na internet, e garanto que nao sera o ultimo.

Mas por experiência própria, descobri que o importante não é aprender java ou aprencer c# ou seja qual linguagem for. o importante mesmo é aprender a orientação a objetos.

dominando este paradigma, é a base de todos os fundamentos de todas estas linguagems debatidas aqui, e assim, nao importa a linguagem a ser usada, pois isto muda apenas a sintaxe, mas o entendimento do negocio, do problema a ser resolvido, esta mesmo mais a fundo do que a linguagem a ser usada.

veja alguns exemplos de variaveis que podem interferir em qual linguagem usar:

 

Qual o preço para locar um host .NET em windows?

Qual o preço para locar um host .NET em linux?

qual o preço para locar um host para JAVA?

 

A aplicação será rodada em mobiles?

O Mobile roda .net?

 

Qual a natureza do software a ser criado?

- Aplicação desktop para windows?

- Aplicação desktop com integraçao ao windows seven?

- Aplicação desktopo para linux?

- Aplicação web?

- Aplicação web com integração ao servidor de domínios ActiveDesktop?

- Aplicação para mobiles?

- Jogo para um navegador web?

- Aplicação para facebook?

- Jogo para xbox com xna?

- Jogo para pc com xna?

- jogo para zune com xna?

- jogo com managed directx?

- aplicação com o kinect sdk for windows?

 

Pois então, tantas perguntas, tantas respostas, fortalecendo a ideia de que não existe qual linguagem aprender primeiro, mas sim em qual tipo de software você vai trabalhar primeiro. pois dependendo de plataforma e a qual grupo de sistemas voce desenvolvera que ira lhe cobrar um certo tipo de linguagem.

 

E outra experiencia que tive este ano ao desenvolver uma aplicaçao para facebook, com interligação dos usuarios com aplicativos para pc e desktop, me fez ter que criar frameworks em Java, webservices em c#, e movieclips com ActionScript 3. todos utilizado OO. e por domintar a orientação a objetos, nao tive dificulade nenhuma na codificação.

e dominando OO, não importa se voce encontrou uma solução para C# e voce quer transformala em VB.net, ou encontra uma solução em Java e quer aplicala em ActionScript 3, pois são raros as funções de um framework que nao sao implementado em outro. todos eles estao concorrendo e compartilhando experiencias um com o outro!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A "fragmentação" dos recursos java tornam a curva de aprendizagem da plataforma maior,isso é inegável, a Ide ajuda muito na produtividade, o que acaba atrapalhando é que você fica amarrado as soluções microsoft,o que não necessariamente pode ser considerado bom ou ruim.Mas também acho que ficar amarrado a essas soluções torna o desenvolvedor acomodado e medíocre,não todos claro,só aqueles que se deixam levar.É difícil ponderar entre desenvolvimento ágil e não ficar amarrado a códigos automatizados,mas isso também deixa os frameworks,a meu ver, na mesma posição,sendo eles em java ou .net

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.