:twisted:
Rafael e pessoal deste DL:
Primeiramente nem sei como cheguei neste site, neste post… Acho que eu estava procurando algo consistente sobre
Java x .NET e me deparei com este “sei lá o que”…
Infelizmente o autor do artigo sobre .NET é muito fraquinho… Pq vc não lê artigos de verdade sobre .NET (msdn.microsoft.com), ou é demais para vc?
De qq forma seus comentários se igualam ao artigo… É uma porcaria sem fundamentos de quem não tem base nenhuma de .NET…
Daonde vc tirou as respostas de algum índice do .NET for Dummies?
Afirmacao 1: C#:C++ Forte herança do C++
Isso eh motivo real para alguem adotar C#? ter influencias do C++? logico que, por estar mais familiarizado com a sintaxe, o processo de transicao de uma para a outra eh menos traumatico. Mas ate ai, Java tambem herda muito do C++.
Isto não é motivo pra nada nem mesmo para adoção de Java
Afirmacao 2: Completamente baseado em objetos.
Java eh mais orientado a objetos ainda do que C#. Nao ha discussao sobre isso, e a sintaxa do Java eh muito mais limpa tambem. Em C#, voce precisa explicitamente dizer que um metodo pode sobrer override ( atraves da palavra-chave “virtual” ) e deve explicitamente informar que voce quer fazer override ( usando a palavra-chave “override” ).
Isso soh complica as coisas.
Bom, quem complicou foi você. Semanticamente falando C# é mais forte que Java! O uso de virtual/override/new tem um papel fundamental na construção de uma hierárquia de classes. O Java gera classes base frágeis, que se forem alteradas podem desestruturar a hierarquia das classes que derivam delas!
Afirmacao 3: Acesso à floresta de classes do Framework.NET.
E… ? o C# eh apenas uma linguagem, logo ele teria que ter acesso a algum tipo de framework. Ja o Java eh tudo uma coisa soh. A tecnologia Java.
O problema do Java é que ele é intrinsico a ele mesmo… O poder do acesso das bibliotecas do .NET Framework são estendidos para qualquer outra linguagem da plataforma, isto inclue COBOL.NET, Perl, Eiffel e outras. Álias as classes de XML do Java nem se comparam a System.Xml, isto só pra começar… nem vou falar de Code Access Security, Remoting e Windows Forms
Afirmacao 4: Desenvolvimento orientado a componente.
Se voce leu o artigo, esta na cara que esta afirmacao eh soh para encher linguica. Heranca, reutilizacao de codigo… isso tudo eh proveniente da Orientacao a Objetos. Nao precisa ficar inventando nomes soh para ocupar espaco.
Orientação à Componentes é uma coisa que o C# é e o Java não é. Propriedades e eventos são First-Class citizen da linguagem (não existe get, set), versionamento de classes, metadados customizados (Atributos), entre outras… Não vou perder meu tempo te explicando um novo paradigma então comece por aqui (http://www.gotdotnet.com/team/csharp/conferences/OOPSLA%202002%20CSharp.ppt) e com o tempo vai procurando coisas novas
Afirmacao 5: Comentários em XML
E o Java tem o JavaDoc, formato utilizado como padrao de documentacao para varios tipos de documentos tecnicos, nao somente Java. A Micro$oft ta com uma mania de enviar XML em tudo quanto eh canto…
Javadoc padrãO ? Imagino que não seja mais “padrão” do que XML da W3C
Afirmacao 6: Linguagem baseada em padrões internacionais.
O Java tem o pessoal do JCP ( Java Community Process ), que garante a padronizacao e qualidade. .NET tem o apoio da MS. Soh. Java tem apoio de umas empresinhas, como Oracle, IBM, Nokia, a propria Sun, BEA ( so para citar uns pouquissimos nomes ).
O padrão do Java é JCP, ora quem é a dona disto tudo é a Sun… O .NET CLI (Common Language Infrastructure) são padronizadas pelo ECMA e está sendo aceito pela ISO…
Afirmacao 7: Interatividade com XML Web Services.
Java suporta Web Services a mais tempo que o .NET
COM aceita Web Services a MUITO mais tempo que Java. .NET é a evolução do COM. Don Box, o pai do SOAP, é arquiteto do time de Web Services do .NET Framework… Sua próxima task são as adequações dos padrões da WS-I (WS-Security, WS-Transaction, WS-Profile, entre outras). Aonde está a Sun? Ela não faz parte do WS-I… e muito menos tem soluções de Web Services como Microsoft e IBM
Afirmacao 8: Plataforma alvo: Todas.
Ah, maravilha. Um mundo globalizado e unico… que o Java faz acontecer a mais de 6 anos, comprovadamente. Agora, tentem rodar um aplicativo feito em C# num Linux.
Teoricamente .NET pode sim rodar em varias plataformas, mas oficialmente soh saiu um release beta do framework para FreeBSD ( que, vale dizer, nao eh gratis ), e o pessoal do projeto MONO ( http://www.go-mono.com ) esta engatinhando ainda, e por conta propria. Quem garante que rodara em um lugar nao-windows? A Micro$oft eh que nao.
Plataforma .NET por ser nova roda em toda família de SOs da MS (com exceção do Win95, NT 3.21, CE 3)… A CLI roda no MacOS X, FreeBSD e são simplesmente para provar a portabilidade e não para comercialização… Outras iniciativas como o Mono (Linux), Intel (Unix), HP (Unix) estão caminhando… Veja por outro lado… ao invés da MS fazer CLRs meia-boca para todas as plataformas assim como a Sun faz (vide o problema da JVM com Solaris), ela forneceu as specs para que outros fornecedores implementem a CLI para suas plataformas… Ao invés de ficar atacando a MS, somente, pq vc não questiona outras empresas de SO tais como IBM (Aix), QNX (QNX OS), Palm (Palm OS), Apple (Mac OS X), … para implementarem… Ou vc prefere JVMs escritas por um único fornecedor (mesmo levando em conta que outros fornecedores fazem JVM… Que alias a JVM da MS foi premiada várias vezes pela Sun…)
Afirmacao 9: Gerenciamento de memória “Estilo C”.
E isso vem a ser uma vantagem? permitir acesso direto a ponteiros? certo, programando bem da para fazer algumas coisas interessantes, mas voce, programador, fica responsavel pelos seus atos.
Programador fica responsável pelos seus atos sempre! Ou afinal vc é mais um lobbista do que um desenvolvedor… O C# usa unsafe em 2 níveis (na instrução e na compilação) para utilização de ponteiros e isto não é mais perigoso do que fazer cagadas com JNI…
Afirmacao 10: Ferramenta RAD: Visual Studio.NET
O VisualStudio.NET eh uma ferramenta que deixa MUITO a deseja. Extremamente limitado em questoes de customizacao, nao eh free e tira muito da liberdade na hora em que for necessario um contato mais fundo com a linguagem.
Ha coisas boas, como fornecer uma maneira facil e rapida de configurar datasets, conexoes com o banco e desenho de interface grafica, mas no geral eh muita propaganda para pouco produto.
Eclipse bate vs.net facil
Bom esta eu nem vou me dar o luxo de responder ! Aqui prova que vc nunca usou o VS.NET… Customização é o que mais existe… Vc pode conhecer Java… Mas não conhece nada de .NET e VS.NET… Aliás vc deveria se fechar quando o assunto for .NET… Pois o fato de vc não saber nada sobre .NET (o que foi concluído), gera estas respostas sem fundamentos…
Conclusao: o artigo da iMasters eh PESSIMO. Com afirmacoes sem base solida alguma, soh ajuda a provar que Java domina !!
Realmente o artigo é péssimo! Se vc quiser consistência… Antes de vc e seus colegas de DL me sairem me xingando… seria bom ler um artigo com base para comparações… (http://genamics.com/developer/csharp_comparative.htm)
Os outros post são tão fracos qto o seu, então não vou perder mais meu tempo com vcs…
Moral da história… Continuem programando com Java… Pois .NET é demais pra cabeça limita de vcs…
A propósito vc é o “fodão” deste grupo, já pensou em procurar um “fodão” de .NET para discutir… Tem um monte de neguinho que te daria um banho de .NET (www.msdnbrasil.com.br/foruns)
Inclusive é muito interessante o GUJ ser feito em PHP… Onde estão os JSPs e Servlet… Casa de Ferreiro, Espeto de Pau :lol:
(new System.Threading.Thread(new System.Threading.ThreadStart(TFunc))).Abort(); :roll: