xirix Escreveu:grooman Escreveu:So gostaria de dizer que C++ é uma bosta comparado com Java.
C++ foi uma tentativa, na minha opinião e de muito boa gente, falhada de converter a linguagem C para uma Orientada ao Objectos.
Java sim, é a linguagem OO por excelência, muito embora exista o Smaltalk que ainda é mais purista em alguns dos conceitos de OOL, mas é muito pouco usada.
Desculpem, mas não resisti...

Lololololol
Só posso rir à gargalhada.
C++ é a linguagem OO por excelência. Aliás, JAVA não chega a ser 100% OO (depois vou fazer a pesquisa de quais as features OO que o JAVA não tem). A única vantagem que o JAVA tem, e por consequência o .NET tb, por trabalharem em cima de virtual machines, é o garbage colector que faz a gestão de memória. O que te liberta desta função, logonão existem memory leaks. No entanto esta "vantagem" tem como inconveniente a performance que perdes.
Acho que antes de fazeres essas afirmações devias basear-te melhor no que falas.
Desde drivers, programas de alta-performance e até jogos são feitos em C/C++. Mostra-me um programa que funcione em real-time que seja feito em JAVA.
Realmente.... este pessoal conhece um pentelho do mundo e já se julga dono da verdade....
UPDATE: vê nesta
url a comparação do JAVA com C++. É uma comparação bem básica mas vês logo que o JAVA não é 100% OO. A página está uma beca desactualizada pq a última versão de JAVA já suporta generics.
Java só não é 100% OO, como Smaltalk, porquê têm algumas variáveis primitivas, como int, bool, etc, ou seja, estas não são Objectos. Mas para se redimir deste facto, Java possui várias formas de conversão destes tipos primitivos para Objectos, como é o caso do método java.lang.Integer que encapsula o int num Objecto compativel, o Integer.
Tirando isso, Java é só objectos, logo 100% OO.
Além disso, Java foi criado de raiz, pensado para ser uma OOL, com todos os conceitos dai inerentes, como encapsulamento, herança, etc.
C++, pelo contrário, foi uma (tentativa) adaptação do C para OOL, rompendo pelo caminho com algumas dos conceitos que tornam belo o paradigma de programação orientada a objectos, como por exemplo o facto de C++ possuir herança multipla ao invés de simples.
A minha opinião baseia-se entao na conservação dos conceitos que devem estar por trás de uma verdadeira OOL, o que C++ nao se encaixa.
Claro que C++ terá maior performance, dá-te acesso ao hardware, como C, onde a possibilidade de cometeres erros a programar aumenta exponencialmente. Não digo que nao seja necessário, apenas torna a programação muito menos natural e fluida como em Java.
Por isso, dito novamente por uma pessoa que nao percebe pentelho, Java é bem melhor que C++ como OOL.
Ah, e mais engraçado, é que na minha Universidade, na discipina de OOL, da-mos Java, e nao C++, tendo nós já dado C a dar com pau... porque será...