Ir para conteúdo

Arquivado

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

Paulo Mendes

Java x .NET

Recommended Posts

Concordo com o Bruno, mas há um revés em relação ao VB6 e o Delphi (5, 6, 7).

 

O que me faz pensar isso é o seguinte, dentre os muuuito exemplos que podemos citar, aqueles que mexem com Firebird. Com certeza já ouviram falar do IBExpert, certa vez fui na Palestra do Hogler e ele abriu o código fonte de seu sistema para vermos, e para espanto da maioria, o sistema foi feito no Delphi 5, agora, vejam o Sistema, e pensem em um sistema de tal porte que foi feito em VB6...se conhecerem cite um exemplo, sabendo que o IBExpert é dos softwares mais conhecidos no mundo Firebird.

 

Paulo Mendes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal,

 

Acho que ficou faltando uma informação importante na discusão.

 

É sobre o Visual Studio que não tem necessariamente ser comprado ou usado pirata. Existe uma versão Free do programa, da mesma forma que tem SQL Server Free.

 

Para quem não conhece ainda e esta lendo o tópico e vendo tanta gente falando bem do Visual Studio o link da versão Express é http://www.microsoft.com/express/interest/

 

Eu uso duas versões do Visual Studio, a Professional e a Express e posso garantir que o desenvolvimento na Express é tranquilo. As limitações ficam por parte de (as que eu observei e senti falta em algum momento):

- Não tem Diagrama de Classe (me parece que na 2008 tem, faz muita falta mais pode viver sem);

- Não gera arquivos de instalação (Dependendo do tipo do aplicativo não importa);

- Uma quantidade menor de componentes pré instalados;

 

 

Quanto a linguagem Java e a tecnologia .Net acredito que o momento esta favorável para o .Net, mais o java tem seu valor e não é pequeno.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite a todos.

 

Tudo o que foi falado aqui a respeito do Java e do .NET tem tudo a ver com as tendências de mercado, isso já estamos careca de saber, entretanto vejo que aqui foram expostas nas opiniões de alguns as tendências preferenciais para um determinada linguagem (.NET) do que a outra (JAVA), não por questões de funcionalidade da linguagem, mais sim pela simplicidade de sua programação. Ora isso depende de um fator, senão vejamos:

 

Programadores Juniors: São aqueles que sabem manuseiar a interface gráfica (Framework) e sabem apenas complementar a lógica de suas aplicações. Neste caso aqui o .NET leva vantagem

 

Programadores Seniors: São aqueles que além de saberem manusear as interfaces gráficas, sabem também montar as suas interfaces gráficas via código, inclusive há aqueles que fazem o seu próprio Framework. É aqui que o JAVA e C# leva vantagem.

 

Não quero dizer com isto que programadores em .NET não saibam pragramar os Frameworks, pois há programadores Seniors na área de .NET também, é claro que o uso da complexidade ou da simplicidade de um linguagem vai depender de outros fatores tais como:

 

1º) A complexidade do projeto que voce está desenvolvendo, e o tipo de banco de dados que o mesmo vai utilizar, e isto geralmente é determinado pelo tamanho da Empresa e pelos recursos que esta está disposta a gastar para investir.

 

2º) O tempo que voce dispõe para desenvolver o projeto, é ai que a linguagem que te oferece o ambiente de aplicação rápida (RAD = Rapid Application Developement) ou qualquer outra que te facilite na montagem da Interface Gráfica com o seu código pré definido, vai levar vantagem disparado.

 

3º) Sistema Operacional que esta Empresa usa. A maioria usa Windows, entretanto empresas de grande porte já utilizam Linux com servidores e Windows nas máquinas clientes, há outras que só utilizam Linux em qualquer situação.

 

Quanto ao terceiro e último quesito, creio eu que o JAVA leva certa vantagem por causa da sua portabilidade. Eu não sei se .NET roda no Linux, acho que não.

 

Outra coisa que esquecemos de falar, é sobre o PHP, pois há pessoas que acham o PHP melhor que .NET, isto após colher algumas opiniões de amigos meus que trabalharam com o .NET e abandonaram, agora só trabalham com o PHP.

 

Na minha opinião, o Sublyer está correto, acho que cada um deverá aprender um pouco das duas linguagens, isto porque vai depender desse ou daquele fator já acima mencionado que ora são as exigências da Empresa pela qual voce se candita a trabalhar, ou se candidata a ser contratado por ela para desenvolver um software apenas, e sempre leve em consideração quanto a funcionalidade da linguagem para uma determinada situação, e não tão somente a simplicidade de sua programação, e levando a sério, acho que não se deve ficar limitado somente nestas duas plataformas (JAVA e .NET), até porque o DELPHI até aqui já foi mencionado.

 

Pasmem !!! Com essa história que vou contar. Trabalhei com um amigo aqui que era phd em Delphi, JAVA e VB.NET, além é claro de ser Web Designer, e se candidatou a uma vaga de Analista Senior numa das filiais da fábricas de tintas Suvinil aqui Rio, e não foi aprovado, sabe por que ? Não tinha conhecimento em COBOL. Pois é, ele chora até hoje porque não aprendeu o COBOL, que lhe fez perder a chance de receber miseravelmente R$ 7,400,00 Reais por mes, acreditem.

 

AH. Discordo com discordância do nosso amigo Quintelab, quando diz.

 

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.

Quintelab, acho que foi ao contrário. Apesar do VB (Visual Basic) ter sido lançado um pouco antes do Delphi, muito antes de lançarem o novo Visual Studio em 1997, o Delphi já era parcialmente orientado a objetos desde a sua primeira versão lançada em 1995, utilizando-se da linguagem Turbo Pascal, que mais tarde nas versões posteriores do Delphi passou a denominar Free Pascal e depois o Object Pascal. Quando lançaram o Visual Studio 6, este incorporava o VB6, o Fox Pro 6 (quem lembra deste) e C++, trazia apenas o VB6 orientado a eventos, o Fox Pro utiliza-va se de um combinado de Clipper com Basic e somente o C++ que estava começando a ser orientado a objetos. Quanto a funcionalidade, até mesmo voce reconhece que o Delphi dá banho, voce sabe porque ? Enquanto a suíte Visual Studio juntamente com o VB ficou lactente por alguns anos, o Delphi prosseguia sempre aprimorando novas versões, eis o porque a gama de componentes que o Delphi dispõe em relação ao VB6, o Delphi ganha de lavada, nas versões 6 e 7 do Delphi, foram incorporadas as bibliotecas CLX do Kylix, para ambientes multiplataformas, enquanto a Microsoft paralelamente brigava para tirar o Linux do mercado, e até hoje briga para tirar o Java de mercado. Na versão 8 do Delphi foi incorporado o conceito .NET, porém não foi um cópia da Microsoft, e sim porque a plataforma .NET se baseia em um dos principios utilizados na tecnologia Java (compiladores JIT).

Além disso, quem copiou de quem o conceito de orientação a objetos ? Outra coisa a saber é que apesar da Borland ter mantido o .NET nas suas suítes Borland Enterprise Studio 2005 e 2006, a Code Gear, firma esta que comprou metade do direitos autorais do Delphi, dá mais importância ao PHP do que .NET, desmembrando o Delphi a partir da versão 2007 em Delphi for Win32 para aplicações desktops e Delphi for PHP para aplicações em Web.

 

É só dar uma olhadinha nestas páginas:

 

Sobre o Delphi:

http://pt.wikipedia.org/wiki/Delphi_%28lin...C3%A7%C3%A3o%29

 

Sobre o Java:

http://pt.wikipedia.org/wiki/Linguagem_Java

 

Sobre o Visual Studio.

http://pt.wikipedia.org/wiki/Microsoft_Visual_Studio

 

Sobre o .NET

http://pt.wikipedia.org/wiki/.NET

 

Não quero deixar aqui registrado a minha tendência pelo Delphi ou qualquer outra linguagem de programação, apenas quero chamar a atenção que em TI devemos procurar aprimorar cada vez mais os nossos conhecimentos, e nos adaptar a linguagem que mais se adeque os ambientes onde nossas aplicações irão rodar, seja em Delphi, JAVA, e etc. Tanto até que larguei um pouco o Delphi e estou me aprimorando em JAVA, e também confesso que estou tentado a me aplimorar também em .NET, pois vá que eu precise da mesma.

 

Um abraço a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tenho como aceitar isso, pois trabalho numa empresa onde a grande maioria desenvolve utilizando o Delphi e todos eles admitem que o Delphi vem copiando a questão de componentes e interface de trabalho do Visual Studio.

Não digo em relação a programação orientada a objetos, que isso não acredito que originou-se no Delphi. Agora comparar o Delphi ao VB6, nem vou entrar em detalhes, quando comparei é do Visual Studio 2005 pra cá.

Mas meu principal foco citando o ambiente de desenvolvimento foi pra mostrar que o .net leva esse vantagem facilitando ao desenvolvedor de qualquer nível desenhar suas telas, não perdendo tempo nesse tipo de desenvolvimento e permitindo se concetrar na lógica.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia a todos.

 

Bruno Quintela, eu respeito a sua opinião, entretanto não se trata de aceitar ou não, a questão é que isto é fato.

 

Antes porém eu gostaria de fazer uma pequena correção. Eu não disse que o paradigma de Orientação Objetos começou com o Delphi, e sim que o Delphi quando começou já era parcialmente Orientado a Objetos. Na verdade, o conceito de Orientação a Objetos nasceu em 1967, isto mesmo, 1967 com o projetista Alan Kay, numa linguagem que hoje em dia a maioria nunca ouviu falar, chamada de SmallTalk, no laboratório de pesquisadores da Xerox, a partir de uma linguagem chamada Simula. Neste época eu tinha nove anos e nem sonhava mexer com computadores.

 

Quanto a plataforma .NET, fazendo uma pesquisa mais apurada sobre o que realmente é fato, descobri que ninguém copiou nada de ninguém, isto mesmo, leia o documentário abaixo, que se encontra nesta página:

 

http://pt.wikipedia.org/wiki/Anders_Hejlsberg

 

Anders Hejlsberg (dezembro de 1960) é um engenheiro de software dinamarquês que ganhou prestígio pelo desenvolvimento do Delphi e Turbo Pascal na Borland e a plataforma .NET após ter migrado para a Microsoft.

 

Biografia

 

Anders Heijsberg nasceu em Copenhagen, Dinamarca. Se graduou na Universidade Técnica da Dinamarca. Em 1980, Hejlsberg escreveu compiladores para a empresa Nascon Microcomputer, onde desenvolveu o compilador de Pascal, Blue Label Pascal. Quando trabalhou na Borland de 1989 até 1996, desenvolveu o Turbo Pascal e Delphi. Virou engenheiro chefe da Borland.

 

Em 1996, deixou a Borland e foi para a Microsoft. Sua primeira criação foi a J++. Ganhou muito reconhecimento pelo desenvolvimento da linguagem C# em 2000. Pode-se dizer que foi o principal desenvolvedor da plataforma .NET.

 

Lançou o livro The C# Programming Language (A linguagem de programação C#) que já está na segunda edição e foi publicado em 9 de julho de 2006.

Voce pode reparar que o mesmo projetista do Software Anders Hejlsberg, que desenvolveu a plataforma .NET, também desenvolveu o Delphi. E se formos pesquisar mais, talvez descobriremos que a Borland e a Microsoft estejam trabalhando em parceria, ou o mais provável que a Microsoft tenha comprado a Borland, isto é, o que eu suponho

 

Um abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A Microsoft não comprou a Borland, nem sei se há algum interesse neste sentido e, judicialmente falando, acho que não seria um negócio aprovado facilmente por serem duas grandes concorrentes no que diz respeito ao desenvolvimento de software e oferta de soluções, pode até haver algum tipo de colaboração entre as partes.

 

Até o Delphi 7, a interface era uma, a partir do Delphi 8, quando a Borland começou a integrar o Delphi com a plataforma .NET, a interface do Delphi foi aproximando-se do que era a interface do Visual Studio, isto por uma questão de padronização, afinal, aqueles objetos, não eram objetos de uma biblioteca especifica da Borland ou de uma API do Windows, mas sim de um Framework da própria Microsoft, por conta disto os componentes visuais eram os mesmos, desta forma, houve, até certo ponto, uma padronização nas IDEs.

 

Não tenho como comparar o RAD Studio 2007 com o Visual Studio 2008 pq não conheço nenhuma das 2 ferramentas, mas acredito que possuam mais semelhanças do que diferenças.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Justamente Prog era nesse ponto que estava tentando chegar, e apesar de fugir um pouco no assunto principal, eu toquei neste assunto para mostrar para mim o que é uma das vantagens do desenvolvimento na plataforma .net, que é a IDE do Visual Studio.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem eu fico com o .Net, pelo artigo do Portalda Programacao, acho que e possivel ver isto bem, embora ele tenha se limitado ao c#, mas todas as linguagens do .net tem os mesmos recursos.

 

E alguem falou agora não me lembro bem, que optou pelo c#, por ouvir falar que ele teria melhor performance, isso e uma lenda urbana, por que o c# não e uma linguagem mas proxima do computador como o c ou c++, como todas as outras ela passa pelo MSIL, que o que efetivamente vai ser compilado e sempre e igual em qualquer linguagem.

 

Agora a opção pelo c# e comercial, e mas facil um programador de c,c++ java ou de outras linguagens baseadas em ECMAScript migrarem para ele, acho que veio dai a sua grande popularidade, enquanto o vb.net fica mas restrito aos programadores que estão iniciando e tem nela a primeira linguagem.

 

Sobre o vb copiar OO do Delphi, não e verdade, mesmo por que OO e um conceito de programação, e se não me engano a primeira linguagem que usou este conceito foi a comunidade do Smal Talk

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Pessoas.

 

Puxa vida, quando postei esse tópico não achei que ele iria tão lonje quanto foi. Entretanto quando postei só possuia experiência em programação com VB. Estou um tempo afastado das atividades do fórum, mas entendam como uma ida às montanhas para um aprimoramento. E esse aprimoramento é em JSP ! ! !

 

Realmente, a curva de aprendizado do Java é enorme, entretanto, depois de um sistema bem estuturado fica muito legal e intuitivo de se programar. Não posso dizer quanto o VB.NET é escalável perto do Java, mas posso dizer que aquele medo que tinha de aprender Java se dissipou no limbo, agora não tenho tantos problemas assim.

 

Sinceramente não li todo o tópico ainda, mas pretendo fazê-lo, e creio que o objetivo principal foi atingido, não encontrei em nenhum outro lugar tanta informação (em português) a respeito dessas duas ferramentas de contraste no mercado.

 

Parabéns aos membros da equipe hehe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muita boa noite.

 

Não sei se estou a fazer errado, porém creio que como este tópico está em destaque, posso postar aqui.

 

Meu cara amigo. Nunca fiz um curso de programação, porém sou totalmente flexível: aprendi com muitos livros, apostilas, e a boa e velha Web.

 

Lembro que quando era iniciante, não sabia nem mecher com nada, apenas o HTML/XML, decidi aprender JavaScript. Quase morri para aprender, desisti e voltei a tentar, porém com PHP, e eu consegui.

 

Porém ainda não sabia usar nada orientado a objetos, se não as coisas básicos como os operadores e os comandos (If, For, While e etc...). Todo mundo falava de Java, porém não encontrava nenhum conteudo muito bom. E ai conheci a .NET que também era assustador *.*, porém comprei um livro de Java e vi que aquilo não era um bicho de 7 cabeças. Muito menos a .NET.

 

Eu amo Java e C#/ASP.NET, porém como estou dando atenção agora para Java, ainda não sei muito sobre .NET, apenas sei usar AJAX com o ASP.NET, e só, sei alguns comandos básicos e tal.

 

Mas não deixarei isso na duvida. Acho que em questão de flexibilidade, é Java. Oh, mas por que se .NET tem 3 linguagens de programação?

Muito simples, e é por isso mesmo. Por que .NET não é uma linguagem de programação, e sim uma plataforma delas!

 

Creio que também em questão de poder, Java é sem comparação. Porém não podemos esquecer de uma coisa: Java é um pouco mais dificil e demora muito mais tempo para se programar. Com .NET não, apenas o Visual Studio aqui e um outro ali e pronto.

 

Também acho que .NET seja muito boa, pois é pequena, rápida, eficiente e um pouco mais fácil do que Java.

 

Comentando então isso, creio que fica 3 há 2 para o Java.

 

Esta é apenas a minha opinião.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito se diz sobre escabilidade e perfomance.

Não sei quanto a empresa que vocês trabalham, mas infelizmente estes quisitos não contam onde estou.

Após algum tempo no projeto criando classes reutilizáveis etc. Me cobram "dinamismo" etc. , ou seja, me chamam de lerdo e de nada adianta eu argumentar que estou criando classes reutilizáveis e que no futuro teremos algo sem erros e iremos ganhar produtividade.

Só querem o resultado no menor tempo possível.

Sou obrigado a programar de forma não modular, digitando aquela "tripa de código" para entregar o trabalho rapidamente.

Ganhamos para fazer e infelizmente o triplo para refazer aquilo que não fizemos corretamente.

Como minha necessidade é produtividade, fico com o Visual Studio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito se diz sobre escabilidade e perfomance.

Não sei quanto a empresa que vocês trabalham, mas infelizmente estes quisitos não contam onde estou.

Após algum tempo no projeto criando classes reutilizáveis etc. Me cobram "dinamismo" etc. , ou seja, me chamam de lerdo e de nada adianta eu argumentar que estou criando classes reutilizáveis e que no futuro teremos algo sem erros e iremos ganhar produtividade.

Só querem o resultado no menor tempo possível.

Sou obrigado a programar de forma não modular, digitando aquela "tripa de código" para entregar o trabalho rapidamente.

Ganhamos para fazer e infelizmente o triplo para refazer aquilo que não fizemos corretamente.

Como minha necessidade é produtividade, fico com o Visual Studio.

 

Netdark3000, nas últimas empresas que trabalhei tinham o mesmo problema, tudo para ante-ontem, estresse total, prazos inimaginaveis, tudo nas pressas.., nenhuma delas pensava no longo prazo, uma pena

Compartilhar este post


Link para o post
Compartilhar em outros sites

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#

quintelab, a escolha de uma linguagem a ser utilizada em .NET não afeta o desempenho, uma vez que todas as linguagens .NET são compiladas para a linguagem intermediária comum (CIL - antes chamada de MSIL). Existem sim algumas diferenças no código CIL gerado dependendo da linguagem, mas o .NET não roda interpretando essa linguagem, ele a compila para linguagem de máquina. Essa compilação eu não sei dizer se gera diferenças baseado nas poucas diferenças do CIL, mas eu acredito que não pois abrindo um código CIL compilado de VB.NET e C#, 99% é igual e 1% muito parecido. Logo, a diferença prática de C# para VB.NET não passa de sintaxe.

 

Eu trabalho com as duas por muito tempo, e embora hoje eu esteja mais com C#, eu opino que VB.NET é uma linguagem de longe muito mais legível que C#, além de o VS ter um suporte melhor para ela no que tange a code snipets. C# é sim muito mais aceita no mercado, boa parte disso graças a essa lenda de que C# seria mais rápido ou que com ele dá pra se fazer mais coisas que VB.NET, mas isso são lendas.

 

As duas linguagens tem seus pontos fortes, mas no final elas são 99% iguais, isto é, o que se faz com uma, se faz com a outra. Eu vi uma coisa só, que não me lembro direto ao certo, que o C# faria e o VB.NET "não" (na verdade daria pra fazer, só que um pouco mais trabalhoso), mas acho que se tratava de semáforos de threads, mas era um negocinho bobo. Mas foi só isso que vi, no mais, para a maioria das aplicações comerciais, as duas são idênticas em potencial, com a vantagem de VB.NET ser mais legível e por causa disso, gostosa de se programar. Em se tratando de baixo nível acho bobagem discutir isso pois nesse caso eu nem usaria .NET, mas voltaria ao meu bom e velho C++.

 

----------------------------

 

Agora voltando ao tópico, Java vs .NET, acho legal discutir, mas hoje o mercado meio que já se definiu para as duas. A primeira (Java) destinou-se muito mais ao mercado mobile, Java ganhou muita força em mobile e acho muito difícil a Microsoft reverter isso, por causa de ser multiplataforma também em dispositivos móveis (Tirando o iPhone OS, aplica-se em Android, Symbiam, etc. e em dispositivos não smarts). Já para aplicações Web, eu acho complicado para o Java, pois na questão open-source já temos PHP que vem muito forte e claro, .NET vem crescendo muito a cada dia. Aqui no estado de São Paulo a plataforma .NET já é predominante em meio a preferência dos profissionais e "profissionais". Dificilmente você vê um site .jsp (o único que lembro agora é o do Banco do Brasil), é muito mais fácil ver .aspx e .php. Já em desktop depende do sistema, em Linux Java tem total controle por motivos óbvios, mas como Linux é uma plataforma pouco utilizada em desktops, é descartável a comparação. Logo, sobra o Windows e aí é .NET mesmo. Porém, aplicativos desktop vem perdendo força para a Web.

 

Na questão de desempenho, há pouco tempo atrás Java ainda era interpretado, mas agora segue na mesma linha que o .NET, sendo compilado (sim, ao contrário do que muitos pensam, .NET é compilado da linguagem intermediária para linguagem de máquina no momento da execução, de acordo com a necessidade, ou compila completamente antes de rodar, depende das configurações. E Java agora também é assim). Engraçado que ninguém fala que o Java copiou o .NET (neste aspecto), mas gostam de falar o contrário. Por esse motivo .NET era muito mais rápido que Java, mas agora elas possuem um desempenho muito parecido. Embora eu ainda vejo o .NET mais performático, as duas tiraram a diferença significante para as linguagens pré-compiladas e desempenho agora já não é mais desculpa.

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Java sempre foi bytecode e a Microsoft copiou... não é que "gostam de dizer", é o que tem que ser! :P

 

Se a Sun copiou alguma coisa na linguagem Java foi das linguagens que a originaram... diga-se Smalltalk e C++.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Java sempre foi bytecode e a Microsoft copiou... não é que "gostam de dizer", é o que tem que ser! :P

 

Se a Sun copiou alguma coisa na linguagem Java foi das linguagens que a originaram... diga-se Smalltalk e C++.

 

Você não entendeu. Java sempre foi bytecode, mas antes o bytecode era interpretado. Agora, o bytecode é compilado para linguagem de máquina, assim como no .NET.

 

O produto final de Java (em sua nova versão desde essa melhoria) e .NET não é o bytecode ou CIL como muitos pensam, mas sim a linguagem nativa na máquina onde se está rodando. O Bytecode ou CIL são compilados dinamicamente no momento da execução (é aqui onde perdem um pouco para linguagens 100% pré-compiladas como C++) quando necessário (ou compila tudo antes) para linguagem de máquina. Java e .NET não interpretam Bytecodes, eles o compilam. Python por exemplo, interpreta o Bytecode. Aí que está a grande diferença. Da mesma forma era o Java antes dessa melhoria.

 

As pessoas fazem muita confusão com Bytecode, CIL e etc, desnecessariamente. Nenhum processador no mundo executa um bytecode. Eles são interpretados ou compilados para linguagem de máquina. Aí está a diferença que muitos não entendem.

 

Logo:

 

Antes: Java -> compila para bytecode -> JVM interpretava e traduzia para linguagem de máquina.

 

Agora: Java -> compila para bytecode -> JVM compila para linguagem de máquina dinamicamente (ou compila tudo, conforme for).

 

abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claro que nenhum processador lê bytecode (alias... pocessador não lê nada... mas vamos deixar isso pra outra discussão) por isso que os programas em Java precisam da JVM e os programas .NET precisam do Framework, que funciona também como um "interpretador" da linguagem. Ou será que da pra rodar .NET sem o runtime? Se der, essa é nova pra mim!

 

Não sei exatamente sobre qual "melhoria" esta se referindo, mas o Java possui tal característica a bastante tempo, isto baseado no que você esta explicando. O HotSpot (JIT) esta presente na especificação desde 2000.

 

É disso que esta falando? Que recentemente este dispositivo recebeu melhorias, é isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claro que nenhum processador lê bytecode (alias... pocessador não lê nada... mas vamos deixar isso pra outra discussão) por isso que os programas em Java precisam da JVM e os programas .NET precisam do Framework, que funciona também como um "interpretador" da linguagem. Ou será que da pra rodar .NET sem o runtime? Se der, essa é nova pra mim!Não sei exatamente sobre qual "melhoria" esta se referindo, mas o Java possui tal característica a bastante tempo, isto baseado no que você esta explicando. O HotSpot (JIT) esta presente na especificação desde 2000.É disso que esta falando? Que recentemente este dispositivo recebeu melhorias, é isso?

 

Rapaz, na boa, dê onde você tirou que eu escrevi que processador alguma coisa? Se você ler bem ali (algo que não parece que está fazendo), vai ver que eu escrevi a palavra executa, portanto, sua busca por pelo em ovo não colou.

 

Conheço há vários anos como funcionam comunidades cheias de combustível para brigas como essa. Vou fingir que não estou entendendo porque está agindo assim (embora já tenha percebido que acabo de encontrar um amante de Java e software livre), mas tudo bem, eu não sou de criar confusões, então nem precisa começar com essa postura "mimimi" que comigo não cola, já sou calejado dessas coisas. Seja mais amigável por favor. Vamos lá:

 

Primeiro, já que falou isso, sobre rodar sem a JVM, sim, percebi que essa é nova pra você, Java não necessariamente precisa do JVM pra rodar, dá pra compilar completamente e ter um executável de código nativo.

 

http://www.javaworld.com/javaworld/javaqa/1999-04/03-noruntime.html

 

Segundo, não estou falando do HotSpots, que é uma melhoria do JIT, estou falando do JIT em si, que faz parte da especificação desde a versão 1.1, e que sofreu melhorias (hotspots) e que virou o modo padrão de compilação somente na versão 1.3. Existiram ao longo dos anos uma série de melhorias no JIT do JVM, e muitas delas foram influenciadas pelo modo de funcionamento do .NET Framework. É disso que estou falando.

 

As primeiras implementações do Java apenas interpretavam o bytecode. Em seguida, introduziram o JIT que realizava compilação de bytecode para linguagem nativa. Neste momento já se tinha informação de como o .NET funcionaria. Desde então, o JIT passou a melhorar significantemente e copiou o .NET em vários aspectos.

 

A propósito, este site aqui tem uma série de testes de desempenho entre várias linguagens em diferentes algoritmos. Se você sugere que a Microsoft realmente tenha copiado o Java, como explica a linguagem da Sun (agora Oracle) perder na maioria dos testes por uma diferença gritante?

 

http://dada.perl.it/shootout/

 

A Microsoft é boa mesmo de cópia, não acha!? Copia e melhora significantemente. Estes testes não são tão recentes, hoje acredito que essa diferença tenha caído exatamente pelo motivo que estou falando.

 

Aqui tem um bom histórico de como tudo aconteceu: http://en.wikipedia.org/wiki/Java_performance

 

abraço e fica na paz.

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.