Java x .NET - .NET - Fórum iMasters
Talvez alguém já tenha indagado a respeito das duas tecnologias mais usadas atualmente, mas estou disposto a começar a debater tal assunto e averiguarmos juntos quais são as vantajens de uma e as desvantajens da outra.
Faço isso pois muita gente se perguta - Será que devo realmente fazer o curso de Java primeiro ou de .NET? Qual é mais aceita no mercado?
Vamos discutir saudavelmente, isso é sempre bom e quem ganha com isso é a comunidade.
Essa questão é bem complexa Paulo.
Um termômetro interessante pode ser os classificados para trabalhos na área de TI.
Isso também varia de região para região, as vezes de cidades para cidades ou até continentes.
Java sempre teve uma comunidade muito forte, isto, nos tempos atuais, é muito importante. Você encontra de tudo para Java na internet, tem muita coisa pronta... N frameworks, N aplicativos, N periódicos, N eventos durante o ano... Java é amplamente mais utilizado, mas tem um "grande problema", da mesma forma que ele pode ser "amado", é odiado por muitos. *rs*
.NET vai no mesmo caminho, já possui muitas comunidades relacionadas e muito material pode ser acessado na própria internet.
Java tem uma frase muito famosa... "escreva uma vez, rode em qualquer lugar". Bem... isto tem um pouco de verdade, mas não é bem assim, até pode ser, mas vai depender muito de cada projeto.
.NET surgiu como uma "cópia" de uma tecnologia que já vinha dando certo (o Java), mas claro, com certas vantagens. A primeira delas é uma interface completa para o desenvolvimento assim como um Framework, o Visual Studio e o .NET Framework. Uma outra grande vantagem é a possibilidade de escolher a sintaxe da linguagem que deseja utilizar, as mais utilizadas são as conhecidas C# e VB, ou seja, de certa forma, torna-se uma plataforma mais flexível para o usuário e, muitas vezes, para um grupo envolvido num determinado projeto isto pode significar produtividade.
Bem... por enquanto é isso o que tenho a dizer, conforme novos comentários forem aparecendo, vou postando mais.
A questão do Java ser (pelo menos em essência) mult-iplataforma pode dar à ele certa vantagem, entretanto a flexibilidade encontrada com o .NET é notável. Entretanto é discutível a flexibilidade do .NET nas diversas linguagens que ele possui. Um exemplo disso é o VB.NET, não é experiência própria, mas falo isso pelo convívio com a comunidade, muitos dizem ter coisas difícies de se fazer no VB.NET que é fácil em C#, o inverso pode também ser verdadeiro, e isso pode ocasionar alguns efeitos colaterais na hora de se publicar a aplicação.
Já não encontramos isso com o Java.
Também é plausível levarmos em conta o mercado atual, entretanto creio que os números sejam de certa forma equivalentes. Se existem 3 vagas para programadores Java, existem 5 programadores para ela, assim como existe 1 vaga de programador .NET para 2 programadores. Talvez possa ser algo a se pensar na hora de escolher uma certificação.
Talvez fosse possível conseguir mais opiniões postando numa das áreas relacionadas... vou tentar mover.
Não tenho permissão para tal, vou ver com algum outro moderador.
Tópico movido: Movido de Outros >> Plataforma .Net
Um exemplo disso é o VB.NET, não é experiência própria, mas falo isso pelo convívio com a comunidade, muitos dizem ter coisas difícies de se fazer no VB.NET que é fácil em C#, o inverso pode também ser verdadeiro, e isso pode ocasionar alguns efeitos colaterais na hora de se publicar a aplicação.
Paulo eu que desenvolvi em ambas as linguagens da Plataforma acho que o VB.Net é de longe muito mais fácil, não me recordo de ter encontrado algo que achei mais simples no C# do que no VB. Mas eu mesmo optei no final em ficar com o C# por ser uma linguagem mais baixa, ou seja, mais voltada a linguagem do computador em si, esperando assim uma melhor perfomance e por acreditar que o mercado hoje esta mais amplo para quem domina o C#, mas com toda sinceridade não vi vantagem de desempenho ao publicar uma aplicação, nem mesmo tive problemas ou diferenças no momento de publicar por estar usando VB ou C#
Isso varia muito de região, aqui em Mato Grosso mesmo não conheço muitos profissionais de desenvolvimento Java e .Net, neste momento estou precisando de um de .Net para o meu setor. E conheço empresas que contratam profissionais para trabalhar com Java, com o requisito minimo de ter conhecimento em lógica, por não encontrar profissionais.
Bem, e se dissermos com respeito a documentação na Web...Lógico, não vamos tirar o mérito do Java estar há muito tempo no mundo da informática e possuir um vasto conteúdo a ser explorado na web. Mas quando dizemos que é fácil
resolver algo em VB.NET e C# podemos incluir a facilidade com que encontramos materiais disponíveis para o aprendizado.
Seria isso talvez um grande trunfo do Java, pois onde quer que você possa ir, é possível encontra conteúdo para Java, C# está chegando lá, mas VB.NET, já tenho minhas dúvidas (lógico, tirando o site do Macoratti e o iMasters que dá apoio grande, no meio internacional acho difícil material bom sobre VB.NET).
Olá Paulo Mendes, eu sinceramente lhe recomendo aprender as duas, ja que as duas linguagens serão as linguagens mais utilizadas no futuro.
Tendo conhecimento nas duas linguagens, você pode optar melhor em seus projetos (Gerando assim mais conhecimento e por consequência mais $$$$).
Agora em relação ao Java dizer "escreva uma vez, rode em qualquer lugar" é um conceito que foi introduzido por causa da JVM ser implementada em vários sistemas operacionais, mas claro que essa interoperabilidade vai depender da implementação da JVM, ja que Java não é uma linguagem, Java é uma especificação.
Obs.: Praticamente tudo em Java é uma especificação, olhe em www.jcp.org .
Flwww, um grande abraço.
Fala sublyer.
Então, o intuito desse tópico é gerar informação a partir de uma discussão hehe....com certeza aprender as duas é a melhor maneira para se ganhar dinheiro mas sabemos que as curvas de aprendizado de quem sai de um VB6 ou até mesmo Delphi 7 pode ser um tanto grandes. Pois é claro, a maneira de se pensar é outra. Eu com certeza aprenderei as duas....mas sabemos que, pra quem trabalha e estuda, aprender duas plataformas distintas pode requerer um certo tempo, e é esse tempo que estamos falando(pois tempo é $$$). - E isso não leva em conta uma ser mais fácil de aprender ou não, mas sim o âmbito na qual ela pode trabalhar e gerar retorno.
Não queremos aqui martirizar uma linguagem e enaltecer uma outra, mas é dar parâmetros com aqueles que são expert em Java e Seniors em .NET para que tenhamos um conteúdo abrangente e palpável.
E quanto a informação sobre a JVM, realmente...em essência era para rodar tudo do mesmo jeito, uma vez que o software rodaria independente do SO (se é que vocês me entendem), mas com certeza dependerá de como a JVM foi implementada nos diversos SO existentes...muito boa colocação.
Galera vou pendurar o tópico. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
Paulo realmente eu nunca me prendi a nenhum site que eu indicasse como tendo muita coisa. Mas nunca precisei de algo que eu não encontrasse na web referente a .net, admito que aprendi a programar em .net utilizando sistemas de busca web. Nunca fiz nenhum curso de lógica ou programação específica a alguma linguagem, acho que tem muito conteúdo disponivel e isso não seria nenhuma vantagem ou desvantagem para alguma das linguagens.
Valew Bruno pela pinagem...hehe, acho que só temos a ganhar com o acúmulo de informação, nem tanto técnica, mas sim conceitual.
Bem, quanto a sua indagação fui em um dos serviços do google que mede o número de resultados obtidos entre duas key words, seguem os números...e isso parece muito interessante:
C# 5,440,000,000 (view) VS VB.NET 21,200,000 (view)
Java 484,000,000 (view) VS .NET Framework 42,000,000 (view)
somando os resultados de C# e VB.NET temos 5,461,200,000 VS 484,000,000 do java. Isso é muito interessante pois alguns podem pensar...ah, pelo fato do Java estar a mais tempo na ativa o pessoal tenha mais conteúdo a respeito dele na web, e impressionantemente não é bem assim - Lógico, não vamos levar isso ao pé da letra, é uma ferramenta boa mas não muito cientificamente correta.
Então o que faz do Java ser um atrativo, sendo que sua curva de aprendizado é bem maior em relação ao .NET??
Vamos debater :lol:
Existem 3 respostas para os números encontrados.
A ferramenta utilizada para capturar essas keywords não funciona corretamente. Quando pesquisado por "C#" no Google o resultado é de 89.900.000, o resultado mencionado no valor de 5.480.000.000 é para a busca do termo "C".
Se todos os termos relacionados com Java forem pesquisados vai dar um número ainda maior, como, por exemplo: Java, J2SE (atualmente JavaSE), J2EE (atualmente JavaEE), J2ME (atualmente JavaME), JDBC, Struts, JMS, JavaFX, ZK, JBoss, JDK, JRE, JVM, JSP, EJB, ... da pra fazer uma sopa! E olha que nem cheguei na metade. *rs*
Os resultados cumulativos não correspondem a um número estimativo, afinal, numa mesma página eu posso escrever sobre VB.NET e C#. A mesma regra é válida para maioria dos termos relacionados com Java.
Agora tenho um comentário sobre a curva de aprendizado... :D
Se o cara não tem a idéia da coisa... chamo de idéia o conceito principal de ambas as plataformas, tanto do Java quanto do .NET, que é a orientação a objetos, a curva de aprendizado é igual... Mas a principal diferença esta na metodologia de ensino/aprendizado, que diferem bastante.
Quando um determinado personagem esta aprendendo a programar em .NET, que basicamente consiste em aprender um Framework e a mexer numa IDE chamada Visual Studio, a curva de aprendizado é bem diferente dos que estão aprendendo Java, isto pq quem estuda Java não aprende a trabalhar com nenhum Framework e, muitas vezes, não tem um Eclipse para "ajudar".
Se você quiser pode fazer um curso de, por exemplo, Struts com NetBeans, sendo que você não vai saber programar em Java efetivamente, ficará restrito.
Tenho 2 perguntas... (se não conhecer programadores .NET e Java, as perguntas não se aplicam)
Você consegue contar nos dedos os programadores .NET que desenvolvem sem o Visual Studio?
Você consegue contar nos dedos os programadores Java que desenvolvem sem o Eclipse ou NetBeans?
Nesta questão não estou comparando as tecnologias, é apenas uma questão de ponto de vista.
Fala Prog.
Pois é, hehe, com respeito a ferramenta você está absolutamente certo, não há como ter um parâmetro estatístico através delas.
Quanto às perguntas posso falar com certeza. Eu realmente não conheço programador .NET ou Java que não use as IDEs citadas por você (menos o Macoratti que em seus exemplos de C# usa o SharpDeveloper que é uma cópia mais limpa do Visual Studio). Mas trabalhando efetivamente não conheço alguém que saia de uma dessas IDEs.
Então podemos perceber que para alguém partindo do zero absoluto a curva poderá ser a mesma...o zero absuluto é referente a Orientação à Objetos.
Agora uma questão. Não estou querendo gerar discução, e sim conteúdo palpável hehe.
Eu me dou como exemplo. Programo em VB6 e Delphi 7. Falar que VB6 é orientado à objetos pode ser uma grande besteira para alguns, mas há como realizar um ambiente até que parecido com OO. O Delphi 7 também pode se dizer que é orientado há objetos, mas ambos em essência não possuem sangue de orientação há objetos, o que é bem diferente de java ou .net, em que tudo é orientado à objetos. Mas até para tais programadores que saem dessas plataformas, o .NET e principalmente o Java pode ser um desafio e tanto na curva de aprendizagem.
Lógico, os tempos mudaram, mas também é perceptível que aprender Java usando o NetBeans pode ser estranho, pois o trabalho sujo que faz é o NetBeans (claro, em partes).
Porque os porfissionais em geral sentem mais dificuldades em Java???
Paulo referente a esta última pergunta eu acredito que seja pelo ambiente que a Microsoft já dominou. Antes mesmo de me considerar um programador em .net eu até tentei aprender o Java, eu queria fazer um componente na época, mas pesquisando me deparei com um monte de coisa que eu teria que instalar para conseguir programar, já a Microsoft disponibilizou um único pacote que basta você clicar no Next umas duas vezes, e querendo ou não para um cara que esta aprendendo uma linguagem isso é levado em consideração.
Eu acredito que a grande força da plataforma é devido também a grande força de sua detentora, ou seja, Microsoft. Disponibilizando um ambiente agradável e fácil de desenvolvimento. Como o Prog disse são raros os desenvolvedores que não utilizam o Visual Studio, mas por que não utilizá-lo?? Eu nunca antes tinha me deparado com um ferramento de desenvolvimento web com tantos recursos. Acredito que a primeira vantagem da plataforma seria essa, o Ambiente.
Abraços... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
No .NET o Visual Studio é sim uma vantagem, assim como o seu próprio Framework.
Assim como a IDE do Delphi é uma vantagem, ou você conhece alguém que programa em Delphi sem a IDE? (esse é mais raro ainda) ;)
Você fala sobre programadores Delphi e VB terem dificuldades em aprender Java e facilidade em aprender VS, mas eles desenvolvem orientado a objetos usando o VS? Além disto, mencionei no meu primeiro post que é possível desenvolver em .NET usando diversas sintaxes de linguagens, até a sintaxe do Java tem em .NET (J#), ou seja, pra qualquer ser que já conheça alguma linguagem de programação, programar usando VS é muito mais fácil por haver de imediato uma familiaridade, mas isto não quer dizer que o desenvolvedor em questão esteja utilizando os recursos do .NET. Esta é uma "grande" vantagem da plataforma, mas também pode ser um grande inimigo.
Lembrando também que tais "sintaxes" precisam ser instaladas separadamente e, muitas vezes, eles não estarão disponíveis, a não ser que esteja utilizando um ambiente controlado, como, por exemplo, um ambiente corporativo.
Em suma compreendo que o lance da Microsoft foi o que ela já tinha feito (mesmo que mal feito) com o html...mudá-lo para um modo humano de ver as coisas(front page argh!)...e depois outros softwares seguiram esse conceito mastrosamente.
Então sendo o VS um dos trunfos no .NET, quer dizer que se obtvermos uma IDE voltada para o Java e suas diversas tecnologias de um modo mais amigável de ver, o Java poderia então ser bem mais aceito na comunidade dos programadores. E isso pode nos levar à uma outra questão. Será que todos que trabalham efetivamente com Java, também trabalham efetivamente com .NET sem problemas? Ou podemos considerar dois universos paralelos???
Lóógico, não esqueçamos do J#, mas quando falarmos de Java vamos falar de suas diversas formas de trabalho, como o Prog citou.
Java, J2SE (atualmente JavaSE), J2EE (atualmente JavaEE), J2ME (atualmente JavaME), JDBC, Struts, JMS, JavaFX, ZK, JBoss, JDK, JRE, JVM, JSP, EJB
E para acalorar a discussão colquemos em evidência uma matéira, que apesar de tendenciosa, é um relevante para discussão
Matéria, Java é Cada Vez mais Ameaçado...
Mais uma vez, não quero aqui defender uma coisa ou outra, mas dar parâmetros para gerarmos conteúdo...aliás, diga-se de passagem que encontrei essa matéria em um tópico na sessão de Java do Fórum.
Saudações Folks.
Existem ótimas IDEs para Java... a maioria delas proprietárias. NetBeans e Eclipse são as mais populares, por serem de uso gratuito, ambas são muito boas, mas não se comparam ao VS.
Eu estudei Java, nunca trabalhei em grandes projetos mas sei quais caminhos devo tomar para chegar numa determinada solução, mesmo assim continuo não trabalhando com Java, mais por opção mesmo.
Eu estudei .NET, mas me decepcionei muito (como tudo da Microsoft me decepciona já faz um bom tempo, por isso não uso), principalmente nas primeiras atualizações do Framework, onde simplesmente minhas aplicações pararam de funcionar por que alteraram os Namespaces, exemplo: antes chamava-se DBConnect, e passou a chamar-se DataBaseConnect (isto é apenas um exemplo). Desde a primeira versão nunca mais quis sequer olhar novamente pra qualquer código escrito em alguma tecnologia da Microsoft. Talvez, algum dia, volte a estudar, porém voltado ao Projeto Mono (Software Livre), basicamente C#.
Já programei em diversas linguagens e usei N IDEs de desenvolvimento e, na minha opinião, as ferramentas da Borland sempre deram um banho nas ferramentas da Microsoft, e isto persiste até os dias de hoje, tanto que a Microsoft contratou um dos principais desenvolvedores do Delphi pra ver se dava um jeito. *rs*
O último projeto Cliente/Servidor, para Desktop, que eu trabalhei foi no ano passado, um cliente em Delphi para circulação de exemplares de uma biblioteca, com base de dados em PostgreSQL. Antes deste projeto, não lembro quanto tempo fazia que eu não desenvolvia para Desktop.
Atualmente meus esforços e projetos concentram-se apenas em PHP com base de dados em PostgreSQL ou MySQL, isto tem atendido minha demanda.
O que posso dizer é... tem tecnologia pra todo gosto. :)
Olá galera, eu acredito que o desenvolvimento Java é mais complicado, por alguns fatores que envolvem seu passado, ou todos nós esquecemos que o pessoal que desenvolve, em sua maioria está acostumado com o mundo UNIX, aonde existem N comandos e perspectivas diferentes que ajudam muito no desensenvolvimento.
porém estes comandos são um tanto dificil para quem inicia no desenvolvimento, podemos comparar isso com o windows server e uma distribuição linux, agora quem ja é familiarizado com o ambiente UNIX, tem por consequência um aprendizado muito mais rápido.
Em relação a IDE`s vai muito do caso, eu particularmente acho o VS muito prático para o desenvolvimento mediano de aplicações, aonde não existe uma complicação muito grande nas regras de negócio e seus clientes.
Costumo dizer aos meus amigos de trabalho que amo Java de paixão, mas odeio o view, pois ainda não se compara com o VS, mas acredito que isso irá melhorar muito ainda.
Hoje penso em desenvolver grandes aplicações utilizando Java, pelo motivo de necessidade de estar em um ambiente, distribuido e de grande escabilidade e perfomance, mas o view da aplicação não será JSP mais, irei utilizar Adobe Flex, pois facilita demais o desenvolvimento.
Agora acredito que temos que por na ponta do lápis o que realmente precisamos, se for .NET pois bem, se for Java também.
Então poderíamos afirmar que a complexidade em uma plataforma Java pode ser compensada com o que gastamos na hora de publicar???
Os pontos abordados são fundamentais, e relamente não podemos esquecer a Borland, a qual com certeza foi a única a dar um sacode do VB6...sem o Delphi acho que melhoras no VB6 iriam demorar bem mais do que demorou...hehe.
Só não concordo que o Delphi de um banho no VS, tanto que o Delphi hoje é uma cópia do VS, se pegar as os últimos agora são todos idênticos ao VS. E até o .net estão adicionando como linguagem de desenvolvimento, apesar de não ter ido pra frente.