1) Sem explicações.
 
2A) Caso use os tipos básicos estes não são classes, agora caso queira usar a classe Integer esta sim possue um ancestral comum
java.lang
Class Integer
java.lang.Object
  |
  +--java.lang.Number
        |
        +--java.lang.Integer
E é aconselhado a todos os programadores a herdar sempre a classe Object ou outra classe filha desta em suas classes propietárias.
2B) Enum nunca estudei ou mexi com isto em Java, não posso opinar. Caso de struct qual a rapidez em instanciar uma classe ou uma struct???
Creio que se tenha alguma rapidez em criar uma variavel de uma struct em relação a uma classe isto deve-se apenas a politicas dos compiladores

caso se queira poderia ser feito algum pulo no Javac para que este ao perceber que uma classe não tivesse nenhum metodo não procurasse por

constructors,etc (acho que isso nestes casos diminue a performance).
2C) Trabalho muito com C++, esta é minha linguagem digamos padrão,  e tenho experiencia suficiente para dizer que ponteiros, são excelentes
visto que o sistema que trabalho é uma ferramenta GIS e trabalha com muita informação em memoria. Porém eles abrem um gap para que a

quantidade de erros proliferem no código. C++ apesar de ser considerada uma linguagem Orientada a Objetos, eu não a considero como tal pois
percebi que sempre qdo a coisa aperta é natural para um programador C++ colocar uma variavel global de controle, fazer acesso direto a um atributo
de uma classe. Então se a linguagem não for totalmente orientada a objetos a chance de se trabalhar de forma errada aumenta. Vou citar algo que escutei
porem não tenho conhecimento para valida-lo "A linguagem Java ainda não é totalmente orientada a objetos por ter um ponto de entrada fixo (main) e tipos
primitivos, nisso ela se distancia um pouco do SmallTalk".
2E) E o caso de microcontroladores e arquiteturas de processadores com java embutido cuja a linguagem nativa da máquina é bytecode?
E se não fosse as modificações que a Micro$oft fez no Java e a Sun não aceitou!!! A Microsoft continuaria bajulando o Java. Acho que o grande motivo de tudo
é um egocentrismo da Microsoft. Tipo coisa de criança dona da bola se eu não for titular eu não brinco, e leva a bola embora.
 
 

-----Mensagem original-----
De: Alan Borsato [mailto:[EMAIL PROTECTED]]
Enviada em: quarta-feira, 3 de outubro de 2001 9:31
Para: [EMAIL PROTECTED]
Assunto: [java-list] Artigo Java x C#

Eu acho justo apresentar a resposta dele tambem...
 
 
Caro Alan,

Em breve publicarei um artigo no site da Microsoft contendo explicações
extensas a estas e outras dúvidas. Por enquanto, aceite esta breve resposta.

1)Portabilidade
Quis me concentrar apenas na linguagem, como explicado no início e coerente
com o próprio título.

2A)Ancestral comum
Repito: O Java não tem um acenstral comum de todos os tipos. Os tipos como
inteiro não são derivados de onject. No C# sim.

2B)Structs e enums
Ter enum e struct não faz a linguagem menos orientada a objetos. Pode fazer
os programas mais rápidos, contudo.

2C)Ponteiros
Mesmo que o anterior

2D)UML
!!! Não falei nada de UML.

2E)Compilação
!!! O java foi feito para ser interpretado e continua assim. Não neguei que
existam compiladores; releia o artigo. Uma discussão de "quantos porcento
das vezes o Java é compilado" é tão frutífera como discutir o sexo dos
anjos.

Mauro

Jamais citei UML.

Reply via email to