Dez razões para adotar o C#! Que piada!

40 respostas
L

Galera,aqui vai mais um link falando a respeito das maravilhas do C#. :smiley:
Que podre, como tem gente cara de pau ainda!!!

http://www.imasters.com.br/web/conteudo/coluna_c.asp?codColuna=1053&cod_secao=38[/url]

40 Respostas

R

Bom, nao sendo xiita Java, TODOS os motivos apresentados no artigo nao sao unicas do C# ou motivos validos. Como soh tenho uns 3 livros pra ler, tenho tempo para comentar o artigo.

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++.

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.

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.

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.

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 Microsoft ta com uma mania de enviar XML em tudo quanto eh canto…

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 ).

Afirmacao 7: Interatividade com XML Web Services.
Java suporta Web Services a mais tempo que o .NET

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 Microsoft eh que nao.

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.

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 :slight_smile:

Conclusao: o artigo da iMasters eh PESSIMO. Com afirmacoes sem base solida alguma, soh ajuda a provar que Java domina !!

Rafael

A

Sempre vai existir gente deste tipo, caro luiz_ross, relaxe. Eu, por sua indicação, visitei este site. Mas valeu … como valeu a visita noutro dia ao site morte ao Linux, que não pretendo citar a URL.

É tudo farinha do mesmo saco.

O indivíduo aprende uma linguagem e para! Para, porque, está ganhando dinheiro assim. Desiste de aprender coisas novas, sem preconceito, porque tem preguiça. Não possui a capacidade de aceitar desafios, não sente a necessidade, ou prazer, de crescer intelectual ou tecnicamente.

Aí, com medo, ele parte para afirmações erradas, sendo logo a primeira esta pérola:

“C# é boa mesmo sendo vinda de Java ou Delphi” (um gerundio desnecessário, tres enganos numa única e curta frase, e para mim uma certeza) :frowning:

Esta afirmação prova que não conhece português, sua lingua pátria. Prova também que não é patriota! Esclarece todo o mote da questão por ele colocada: Pretende demontrar com o texto, repleto de erros e enganos, que uma linguagem “colcha de retalhos” é melhor do que Object Pascal ou Java.

Juro que esta foi a última vez que passo por site semelhante.
:wink:

R

acredito que pela minha assinatura vcs já devem imaginar o que eu penso do C# não é mesmo…? :lol:
Na minha opinião, tentaram fazer uma cópia barata do Java…mas achop que não deu certo…ainda fico com o Java…com certeza!! :smiley: :wink:

Como sempre digo…Java Rules!!

Ate mais…

S

Olá, galera acabei de ler os comentários de vocês e achei muito interessante a fidelidade de vocês ao Java isto é muito legal.

Quando ao artigo tem algumas coisas que achei de certo modo injusto o modo no qual foi tratado:

  • As respostas as dez razões são válidas e gostaria de acrescentar que o Java também tem dez razões para ser adotado.

  • Quanto a grandes empresas acho que nenhuma delas presta nem a Microsoft, Sun, Oracle, IBM, … , nenhuma delas são boazinhas. e acho que o intuito de grandes empresas “patrocinarem” o desenvolvimento de java é legal já que a microsoft monopoliza tudo, mas o uso de componentes criados por essas empresas também são comercializados (venda casada).

  • Erro de português??? não entendi, ele fala que cometi erros de protugûês, poxa sou humano e estou sujeito a falhas e tento fazer o máximo que posso, agora ele falar que cometo erros de português cometendo outros é dose. (meu erro na frase foi de não ter colocado virgula após a palavra boa pois o resto está correto e se não deu para entender a palavra vinda leia-se oriúnda)

  • Quanto a afirmativa 8: Não sou nenhuma sumidade em tecnologia, e estou escrevendo hoje para o Imasters só para ajudar quem já é usuário da C#, vocês estão confundindo Plataforma com Sistema Operacional.
    Plataforma ou Arquitetura (como queiram) está ligada diretamente com hardware. A Microsoft não tem nenhuma intenção de migrar o .NET para o linux, Solaris, ou qualquer que seja, mas sim permitir desenvolvimento de software para celulares, palm, claro desde que rodando SO Micro$oft.

Como disse no final do artigo (acho que vcs, provavelmente não deve ter lido) o intuito do artigo não era dizer que o C# é bom e o Java é uma merda (até porque eu programo em Java e sei que o Java consolidou um conceito e foi apartir deste conceito que a Micro$oft quer faturar.) e sim mostrar que existem 10 razões para adotar o C#.

Estou a disposição para comentários. ([email removido])

D

Olá, Syndey.

Acho que dos que escreveram aqui eu serei o mais imparcial.

Em primeiro lugar, seu texto é cheio de erros de portugês sim. Isso é entristecedor. Denigre a sua imagem e a do iMasters, que não colocou ninguém pra revisar o seu texto. Seu erro não foi apenas a falta da vírgula, e se vc entrega um trabalho cheio de erros, nós acreditamos que vc não liga muito para a existência deles, e portanto o seu conteúdo também é desmerecido. O fato do iMasters negligenciar isso mostra que eles (entre aspas, por favor, não é um ataque a você) “botam qualquer merda lá”, só pra ter alguma coisa, eles nem olham o que publicam.

Segundo, as suas 10 razões são artificiais, como disse o Rafael. A parte boa da herança de C++ é o desenvolvimento OO, que quando bem-feito é baseado em (e não orientado a) componentes. Refinando a sua lista, daria umas 4 ou 5 razões, apenas. Já adianto que não gastei meu tempo nisso, mas pode ser um exercício legal.

Morte ao XML!! Digo, morte ao XML escrito por humanos!! De modo geral, não faz diferença escrever:

/**
* Tests if the set is empty
*@return true if empty, false otherwise
*/

e

/*
*<description>Tests if the set is empty</description>
*<return>true if empty, false otherwise</return>
*/

Mas ainda assim, tem muito mais palavras. Isso é mais lento pra escrever e para ler. Claro, se o objetivo é uma documentação poderosa, vc pode ser mais detalhado. Mas isso não muda em nada a linguagem de programação. Eu posso inventar meu próprio doclet ou pegar um pronto entre os que possivelmente são open source e ter geração de documentação totalmente com XML. Duvido que alguém prefira escrever XML. Se um programinha gerar um XML pra mim… ótimo!

Plataforma e Arquitetura não são a mesma coisa. Existe a Arquitetura Intel, e a Plataforma Microsoft (Windows). Não existe a Arquitetura Microsoft!!! O Google encontrou 104 resultados para a expressão (a maioria falando de .NET). 104 é nada. Tem mais resultados para “inconstitucionalissimamente”.

Discordo do Rafael quando ele diz que só atrapalha vc declarar “override” para um método. Acredito que quanto mais o cara tem que pensar sobre o código dele, melhor. Mas é a única boa coisa que eu vejo no seu texto inteiro. O resto ou não é específico de C# ou simplesmente depende do gosto do freguês (como o caso do XML e da aritmética de ponteiros).

Acho que já falei mais do que eu devia…

[]s!!

D

E ai companheiros,

Na boa, o que vejo por aqui são fanaticos por linguagem…

Bla, bla, bla…muito bla bla bla por nada.

Acredito que todas as ferramentas são boas e tem suas qualidades, assim como suas deficiencias.

Claro que qualquer empresa não gasta bilhões em algo que não preste, e nem outras apostam seus dados em projetos furados.
É claro que aqui, todo mundo ama Java, detesta C…mas isto por enquanto, até que uma empresa lhe pague melhor, e lhe de a chance pra trabalhar com outra ferramenta.

Não estou aqui, defendendo a Micro.soft, nem a Sun, e nem empresa alguma capitalista, pois elas não precisam disso.
O que eu defendo é dinheiro no meu bolso, e isto é o que me interessa.

Té mais.

D

Há erros por todos os lados. O que o autor considera como uma vantagem do C# é, na verdade, uma característica implícita da tecnologia .NET. Por exemplo, afirmar que com C# é possível ter “Acesso à floresta de classes do Framework.NET” (item 3 da lista de 10) é uma das grandes vantagens de se usar C#, sendo que qualquer linguagem que rode sobre o .NET Framework tem esta mesma característica. Ou seja, a mesma classe que vc poderia instanciar em C#, vc tbm pode instanciar em VB.NET. Seria um disparate se não pudesse.

What else? ahhh comentários em XML. Isso é muito mais jogo de marketing para chamar a atenção daqueles gerentes de TI que são muito mais entusiastas de siglas do que realmente conhecedores de tecnologia. Além do mais, comentários em XML não é uma característica exclusiva do C#, mas sim do .NET Framework.

“Plataforma-alvo: todas”, desde que seja “powered by Microsoft Windows”. .NET é tão portável quanto o modelo COM+. Se alguém duvida, tente rodar um aplicativo WindowsForm sobre o Mono em um Linux. Além disso, pelo que eu saiba, .NET também envolve ASP.NET. Alguém aí já tentou rodar uma aplicação ASP.NET em um Apache?

Ahhh sim, a briguinha de criança "minha linguagem é padrão e a sua não :agrue: ". De fato a LINGUAGEM C# e o .NET CLI são padronizados pela ECMA http://www.dotnetexperts.com/ecma/. E ponto. O resto segue o antigo “Microsoft-way” de padronização :twisted: . Além do mais, se só a linguagem e uma parte do Framework são padronizados, o que garante compatibilidade (forward compatibility) do resto da plataforma? Tem gente que já reclama de problemas de incompatibilidade entre as versões 1.0 e 1.1 do .NET Framework (nota: eu fico devendo a URL desta reclamação por enqto).

Conclusão: o texto é ruim. Não estou aqui colocando em xeque a capacidade técnica do autor, mas ele foi extremamente infeliz nas suas colocações, não só por citar característica que não são só do C#, mas sim do .NET Framework como um todo, mas também por privilegiar o marketing ao invés dos aspectos técnicos da linguagem.

Em tempo, boxing e unboxing não são recursos tão interessantes assim, como se pode ver aqui: http://www.freeroller.net/page/ceperez?catname=101+List

that’s all folks

D

Gente , estou aqui com minha infortunia capacidade infelizmente ainda em Java, e muito menos em C# …porém tenho algo a comentar… Eu , obviamente pretendo ainda esmagar em Java. Eu sei que o GUJ é um pool de xiitas java, porém de qualquer forma devemos ser + diplomaticos com nossas palavras… isso aqui nao é uma arena…Deixem os idiotas falarem o quê quiserem… o dukejeffrie, realmente foi muito imparcial com o Sidney… O cara tem o trampo dele… e fez o comentario dele num espaço destinado para o C#. Até seria tolerável tamanhas imparcialidades com o cara , se ele tivesse sido ousado em ter postado algo semelhante aqui no GUJ. Partir pro lado pessoal, pega muito mal…acho que grandes desenvolvedores , devem ser também grandes humanitários ,principalmente aqueles que lidam diretamente com projetos(gerenciamento), engenharia de software ( que tem tarefas atribuidas tambem de lidar com humanos), e outras atividades afins. Enfim, nao estou aqui e nunca estarei pra defender o C#, muito menos a M$, apesar que de certa forma, ela é responsável por grandes inovações no mundo tecnológico, Mas isso não vem ao caso neste momento… Estou falando mais devido a indelicadeza na qual “tratamos” o amigo Sidney.
Não de minha parte, mas de outras pessoas que muitas vezes estão apenas tentando conhecer, isso aqui pode gerar muitos futuros conflitos… e espantar alguns pretendentes da linguagem,ops…rsrs… Linguagem nao, Tecnologia…heeh… “Eu adoro afirmar que Java é uma tecnologia”…
Mas tenhamos calma…somos novos, porém já maturos e inteligentes… e podemos discernir bem as situações e como elas podem ser tratadas… Eu costumo afirmar que desenvolvedores podem trabalhar em qualquer área do mundo… Não é pra qualquer um ser desenvolvedor…
Eu até concordaria essa imparcialidade total… eheh… Se fosse com o meu chefe… putz… O cara me condenou e criticou por viver estigado (empolgado,entusiasmado) e estudando java…Falou que a microsoft é o grande portal de empregos… Ate que em parte realmente sim… Mas C# com certeza nao representa isso… e o quê ele queria me alegar era isso… que havia + oportunidades pra C# do que Java…Eu falei pra ele… que Java não é simplesmente uma pedra no sapato… e sim uma moto-serra torando o pé da microsoft mesmo…hehehe… E que simplesmente nao tem pra ninguem… E oh sidney… C# eh muito fraco… Eu já vi inclusive n artigos comentando sobre o VB.net ser + powerful do que o próprio C#… E nao duvido nao… ( rsrs Nao por eu ser um misero “programador” em VB e kerer dar continuidade em seu sucessor…rsrs… Ate pq eh bom estarmos preparados pra ambos os lados…M$ dar dimdim tbm gente…rsrs) Mas , tenho iniciado algumas apreciações e atenções minuciosas… e aos poucos tenho concluido isso que o C# é + fraco q Vb.net…Enfim… C# eu posso considerar um fracasso microsoft… Copiar tanto (clonar o Java) nao foi perfeito da parte da M$ nao, porem o VB.net foi + inovador que o proprio C#. É ± esse o recado que eu tenho pra dar pra vocês… Vamos ser + tolerantes 1 pouco com alguns comentarios pessoal… Imagina se vcs trabalhassem com o meu chefe…heheh… E tem + …ja ia me esquecendo… “Para os programadores de C/C++ presentes…Ele tbm afirmou que nao conhecem ninguem que ganhe dinheiro de fato com estas linguagens…Que só alguns malucos (doidos_) apenas sobrevivem com elas…ehehhehe” Mas entendam pessoal… o bichinho nasceu pra lidar só com alto nivel… Tem medo de enfrentar o “pau”…sabe como é…Akeles pensamentos “Se n posso…ninguem pode…”, "Se nao faço, ninguem vai fazer " …Dar uma pena meu Deus… Mas bem, ta bom de falar baboseiras d+…chega… Só keria mesmo q vcs sejam toleraveis com o Sidney… q por sinal gostei do comportamento dele em relação às críticas, ele manteve ótima postura e foi bem apaziguável…Afirmo que se fosse comigo, teria dado 1 reply de forma agressiva tbm…pois meu lema é : “direito tem kem direito anda”, logo se sou agredido, agrido da pior forma possível tbm… T+ … fuiiiiiiiiiii

O

Olá Amigos.

Andei observando cuidadosamente este tópic antes de me manifestar.

Não sei se vocês sabem, mas meu “background” de instrutor começou com o VB 3, passando para o VB4 e 5, em paralelo com Delphi 2 e 3.

Foi quando em 2000, vi uma luz divina e quando me aproximei dela, sai uma voz bem baixinha dizendo: “Aprenda Java, pois essa tecnologia é muito boa, e foi criada sem as falhas das outras!”.

Comparando a linguagem C# com Java, vemos que as duas são muito similares e têm os mesmos conceitos de Objetos. Não vamos esquecer que o Java nasceu primeiro. Infelismente o C# compilado não é tão seguro como o ByteCode Java. Java 1 X .NET # 0;

Comparando a linguagem VB.NET com Java, vemos que são bem diferentes, mas com os mesmos conceitos de Objetos. Infelismente os programas VB 5 e 6, devem passar por processo de migração que despenderá muito esforço e dinheiro das empresas que usam VB. Ponto para o Java. Java 2 X .NET 0;

Comparando a arquitetura do .NET com J2EE, vimos que são bem similares, mas a evolução e melhorias da J2EE são bem marcantes. Infeslimente o .NET só roda em ambiente Microsoft e Intel, e os aplicativos Java são totalmente “cross-platform”. E sabemos das limitações de escalabilidade dos Sistemas Operacionais Windows e da plataforma Intel. Ponto para o Java. Java 3 X .NET 0;

Comparando o Studio .NET com as outras IDEs Java, dou um ponto para a Microsoft, pois o que eles sabem fazer são as IDEs. Java 3 X .NET 1;

Comparando as Específicações do JCP e da Microsoft. Mais uma vez a Microsoft pizou na bola, quem estava escrevendo softwarte baseado no .NET 1.0 teve de migrar o código fonte para o .NET 1.1 e recompilar novamente todo o projeto. Ponto para o Java pela preocupação constante com a compatibilidade. Usar Java/J2EE diminui drásticamente o ROI (Return Of Investiment). Java 4 X .NET 1;

Comparando a capacitação . Vimos que a Microsoft em seus produtos educacionais não está nem um pouco preocupada em ensinar OO, OOP, UML, OOAD, e sim em ensinar .NET Studio. Ou seja, mais uma ves pizou na bola, pois mesmo com o C# ou VB.NET, com todo o seu poder; os desenvolvedores vão continuar escrevendo software sem qualidade e com grandes quantidades de falhas em modelos e integrações. Ponto pro Java que tem como premissa aprenda OO antes de aprender Java, entenda o mundo distruído antes de conhecer a J2EE. Java 5 X .NET 1;

Comparando o número de profissionais capacitados no mercado, o Java já ultrpassou o VB e até o C++, ou seja, mais uma vez a tecnologia Java, que adotou padrões e modelos já consolidados para o desenvolvimento das especificacoes, teve uma aceitação nunca vista na comunidade mundial. Ou seja, os maires e melhores fabricantes de software adotaram Java/J2EE, o que nos permite escolher desde o modelo de implementação, passando pelos produtos que serão utilizados, até mesmo pela qualificação dos profissionais (a certificação da Sun é séria). Mais uma vez ponto pro Java. Java 6 X .NET 1;

Comparando o custo médio de construção e ambiemte de execução de software. A Microsoft, investiu muito dinheiro nos seus produtos .NET, sem falar que no Windows, o ApplicationServer já vem de graça. E devido a pouca qualificação técnica de quem já conhecia VB, fazia software 2-camadas, e está migrando para o .NET, e impulsionado pelo .NET Studio e suas facilidades, o custo de desenvolvimento e produção de aplicativos Microsoft é mais barato, apesar da pouca qualidade. Empate, pois mesmos com custo superior, a qualidade do desenvolvedor Java é bem superior. Java 7 X .NET 2;

Acho que são considerãções que vão além das tecnologia, e que na maioria das vezes são levadas em consideração pelos “DecisionMakers”. E por isso, gostaria de saber para quem da iMaster posso mandar um email criticando a qualidade de seus artigos.

Grande abraço.

D

Boa!!

Realmente quem escolhe a tecnologia são os executivos, que precisam levar em consideração antes de tudo a disponibilidade de mão-de-obra.

Infelizmente, muitas vezes vemos, aqui no Brasil, fazer-se a opção pelo mais barato, em detrimento da qualidade. Já fiz migração de código ruim, já fiz extensão de código ruim, e a linguagem importa pouco no custo de alguma coisa mal feita. Por isso que eu sempre falo pra todo mundo refatorar seus códigos assim que possível… : )

Davyson, vc disse que eu e os outros fomos “muito imparciais” com o Sidney, mas pelo contexto da sua mensagem vc está criticando exatamente o oposto: que eu puxei a sardinha para o Java. É isso mesmo??

[]s

D

Caro duke… eu quis dizer de uma forma resumida, que se quiserem e forem criticar alguem… que o critique com criterios… Pois em nenhum momento , o cara jogou pedra em ninguem… e os textos expostos por vc e alguns outros… foram agressivos de uma certa forma…
Detalhe : linguagem pra mim em primeiro lugar eh Java ok, depois python e depois Vb.net … Ponto final… e t+

B

puts… a galera aki é muuito xiita… ehehehe (calma, não toquem fogo em mim… aaaahhh!!!)
o cara gosta de C# e pronto… é possível fazer software de qualidade com ele, e todos sambem disso… é posívelf azer software de qualidade até com aquela porcaria de Delphi… ehehehe (foi mal, é que eu odeio delphi/object pascal)… quem faz o softwre são os analistas e os programados (tecnicamente falando) então, se eles forem bons, um importa a linguagem, eles vão fazer o negocio direitim…
tb curto + java, + cada é cada um né… ehehehe (ainda bem!!)

L

Afff faz isso não povo!!
Comparar JAVA com C#??? huahuahahu
Num tá na regra do Forum que é proibida humilhação não?? Deveria tá… huahuahua :smiley:

Obs: Vocês GOSTAM de escrever hein! Nem em 10 anos eu teria paciência pra ler tudo isso… :stuck_out_tongue:

U

Caramba! Imagina se nao fosse resumida… :mrgreen:

D

acho que as qualidades da tecnologia Java já falam a favor da plataforma: portabilidade, flexibilidade, escalabilidade e outras “…idade”'s por aí. Agora, vá convencer o pessoal do projeto Mono de que Windows Forms, ASP.NET (e seus Web forms, que eu acho a coisa mais maravilhosa que a MS já criou) e outras coisinhas são PORTÁVEIS, como anunciava a MS :lol: .
E chega por hoje…

J

Bem pessoal,

Desculpem pela intromissão, mas quero somente dar a minha humilde opinião.

Em primeiro lugar eu adoro Java. Em segundo, não confio e nunca confiei em nenhuma liguagem de programação criada pela Micro$oft. Eles tem alguns bons softwares, mas não linguagens de programação. No entanto, tem gente que gosta de jiló com quiabo e nem por isso eu saio tacando pedras neles… a questão é: vivemos em uma democracia.

Acredito que se possam fazer ótimos aplicativos usando C#, desde que seja feito por um bom profissional - tem gente que faz e bem feito. E ponto.

Java também não é perfeito, apesar de eu não ter dúvidas de que seja a mais promissora linguagem de todos os tempos.

O cara que escreveu o artigo é um profissional da área e deve ser respeitado, ninguém é obrigado a gostar, ou concordar - é o ponto de vista DELE. E em nenhum momento eu percebi alguma crítica dele em relação ao Java.

Calma pessoal… é pela intolerância que o Bush está brincando de dono do mundo…

É só isso que eu queria falar… acho que um ponto final nesta questão e um pedido de desculpas ao pobre escritor do artigo dos mais exaltados caíria bem… afinal, somos todos companheiros de trabalho.

( Calma heim… eu não uso Micro$oft :smiley: )

Ah… antes que eu me esqueça… bandrade, Delphi é uma ótima linguagem de programação, totalmente OO, só precisa saber usar.

B

ah… eu uso delphi no trabalho, é super produtivo…

  • eu prefiro C++ ou Java, é questão de gosto mesmo… ehehehe… eu só falei mal do dpelhi pq eu num gosto, assim como um monte de gente nesse forum gosta de java e num gosta de vb… ehehehe

espero que tenha me entendido…

té.

J

Tranquilo amigo :smiley:

S

lol, eu tb odeio essa merda, tipo quem diabos que programa em delphi programa em outra linguagem?(não vale delphi e pasca :!: :!: :wink: )

D

: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:

R

Legal que voce tenha vindo ao GUJ, sempre eh bom ouvir a opinao de alguem realmente entendido e imparcial!! Ha algumas noticias sobre Java x .NET na parte de noticias do site, se nao me engano… talvez lhe ajude em sua jornada.

Assim como voce, todo mundo aqui defente algo em que acredita, e isso eh um assunto que nunca ira acabar, pois todos tem suas preferencias e pontos de vista. Eu faco comentarios insanos, assim como certas pessoa tambem fazem. Eu realmente ja usei o VS.NET e nao gosto, assim como nao gosto de muitos editores para Java.

Eu sei que em listas de .NET todo mundo mete o pau em Java, na lista de Oracle eles mete o pau no DB2, e nos metemos pau no .NET… o que seria do mundo sem competicao? uma monoticia e mesmice.

Rafael

D

Rafael…

Legal vc ter respondido de uma forma política! Visto que discutir .NET comigo seria perda de tempo (foi inteligente e mais seguro da sua parte)… Bom acho que vc não uso o VS.NET/.NET suficientemente… e vc tem o direito de não gostar… agora falar mal, é outra coisa… Pois só pode falar mal quem pode (e conhece) e não quem quer! 8)

Com relação as listas MS, se vc entrar lá vai ver que o pessoal que começa com este papos furados de comparação vai logo sendo cortado… Aliás acreditar que nas DLs da MS fica rolando este tipo de coisas é mais uma lenda… :shock:

Eu não serei usuário desta DL, muito menos venho pegar informações aqui, parece uma piada (como achei vcs q nem fazia idéia que existia com o Google :? ) … Sinceramente quiz analizar o impacto do meu post!

I’m Insane Very Much!!! The Perfect ByteCode = 100101011000011110110110000111001010100111110101110001111010111110011 :wink:

P

Caro especialista.
1-) O nosso site eh em java e servlets, forum eh phpbb. Ao contrario da comunidade Microsoft, a nossa nao recebe dumping. Infelizmente. Alias, quem escreveu o msdn foruns, o Thiago Silva, trabalha com o Rafael e acha java muito legal, interessante nao?

2-) http://java.sun.com/people/jag/green/OakSpec0.2.ps
Oak, eh a linguagem que seria o java. Ai retiraram muita coisa que acharam podre no Oak e fizeram o java. Se voce der uma olhada, eh PARECIDISSIMA com c#. Engracado nao?

3-) O seu comentario sobre propriedades, falando que nao existem get e set, como se fosse uma vantagem, eh uma COMEDIA. Voce nao programa faz tempo, nao eh verdade?

que codigo voce acha mais legivel:

objeto.variavel = 5;
objeto.setVariavel(5);

Poxa. Com certeza eh o 1o. Eu concordo. Agora olha o que pode acontecer:

objeto.variavel = 5;
imprima(objeto.variavel);
objeto.setVariavel(5);
imprima(objeto.getVariavel());

No 2o caso, que eh o java, voce sabe que talvez o metodo setter possa ter lancado uma excessao. No caso 1, isso NUNCA fica explicito. Uma linha inofensiva como aquela, sem mesmo voce saber (MUITO MENOS O vs.net te avisar) pode dar uma excecao, pode ser que o valor final nem seja 5, pode ser que a propriedade NEM MESMO mude o valor.

Isso porque? Porque o carinha que inventou o Delphi, o bobo do Anders, adora property. Ninguem gosta, NINGUEM, porque perde “streamline” do codigo, nao eh legivel o que esta acontecendo. Mas voce acha uma vantagem, porque delphi e c# tem. Fala serio!

Ah pessoal! Para quem nao sabe, em c# voce nao precisa pegar NENHUMA exception. E sabe como voce faz para saber se um metodo lanca tal exception… hum… NAO FAZ. huauhahuau. Voce fica dependendo da documentacao que a pessoa fizer no tao lindo XMLDOC da microsoft.

Um dia a MS vai perceber que XML foi feito para ser tambem human readable, e nao human writable.

Poucas coisas que eu acho legal no c#: intern e attributes. Vai ter metadado no java tambem, junto com generics, que a MS soh tem um panfletinho falando que um dia vai existir.

Quando voce perceber que Property eh terrivel, da um toque pra gente. Basta um pouco mais de experiencia que voce chega la.

Outra otima parte do seu post: que o .NET traz com atributos um novo PARADIGMA. Verdade, OO eh um novo paradigma para a microsoft. Bem vindo! O dia que tiver uma implementacao orientada a aspecto para o .net voce avisa a gente beleza?

analiZe muito bem o impacto do seu post.

D

Caro especialista.

Paulo

1-) O nosso site eh em java e servlets, forum eh phpbb. Ao contrario da comunidade Micro$oft, a nossa nao recebe dumping. Infelizmente. Alias, quem escreveu o msdn foruns, o Thiago Silva, trabalha com o Rafael e acha java muito legal, interessante nao?

Bem… O MSDN Forum é exatamente o tipo de aplicação que não deve ser escrita em da forma que foi em nenhuma plataforma…

2-) http://java.sun.com/people/jag/green/OakSpec0.2.ps
Oak, eh a linguagem que seria o java. Ai retiraram muita coisa que acharam podre no Oak e fizeram o java. Se voce der uma olhada, eh PARECIDISSIMA com c#. Engracado nao?

Não creio q a MS se baseou no OAK para fazer o C# … Se vc ler artigos de verdade, como este www.dnjonline.com/articles/essentials/iss24_essentials.html vai perceber que as origens vieram de um cara chamado OmniVM!

3-) O seu comentario sobre propriedades, falando que nao existem get e set, como se fosse uma vantagem, eh uma COMEDIA. Voce nao programa faz tempo, nao eh verdade?

Bom agora são 12:00 pm e eu estou programando…

que codigo voce acha mais legivel:

Código:

objeto.variavel = 5;

tranquilamente este código é mais legivel…

Código:

objeto.setVariavel(5);

Poxa. Com certeza eh o 1o. Eu concordo. Agora olha o que pode acontecer:

Código:

objeto.variavel = 5;
imprima(objeto.variavel);

objeto.variavel = 5;

imprima(objeto.variavel); //suportado por C#

// imprima(ref objeto.variavel); // isto é ilegal em C#, vc não tem storage aqui

obj = objeto.variavel;

imprima(ref obj);

//não gostou ? tente:

imprima( ref obj = objeto.variavel );

Código:

objeto.setVariavel(5);
imprima(objeto.getVariavel());

A pergunta é o que é mais rápido acessar 1 váriavel ou executar um função (que tem indirecionamento)?
uma variável é claro… Então este “syntatic sugar” traz valor pro código produzido!

No 2o caso, que eh o java, voce sabe que talvez o metodo setter possa ter lancado uma excessao. No caso 1, isso NUNCA fica explicito. Uma linha inofensiva como aquela, sem mesmo voce saber (MUITO MENOS O vs.net te avisar) pode dar uma excecao, pode ser que o valor final nem seja 5, pode ser que a propriedade NEM MESMO mude o valor.

No 2o caso que pode ser qq linguagem q eu conheça que aceita métodos (inclusive o C#) pode ocorrer exceção (com ç) assim como no primeiro caso (a exceção pode ser disparado até mesmo por propriedades em qq circunstancias)… Acho que vc precisa ler o C# for Dummies para subir 1 nível!

Isso porque? Porque o carinha que inventou o Delphi, o bobo do Anders, adora property. Ninguem gosta, NINGUEM, porque perde “streamline” do codigo, nao eh legivel o que esta acontecendo. Mas voce acha uma vantagem, porque delphi e c# tem. Fala serio!

// (Sem comentários se seu “parser” não entendeu!

Ah pessoal! Para quem nao sabe, em c# voce nao precisa pegar NENHUMA exception. E sabe como voce faz para saber se um metodo lanca tal exception… hum… NAO FAZ. huauhahuau. Voce fica dependendo da documentacao que a pessoa fizer no tao lindo XMLDOC da Micro$oft.

A velha história das checked exceptions… existem um monte de prós e contras…
Sabe como eu chamo isto que vc quer dizer… Negligência do programador em não documentar corretamente!
Sabe como um cara esperto em .NET (que não é o seu caso) faz para descobrir que exceção (se não documentada) é disparada pelo método, olha diretamente na IL com o ILDASM!

Um dia a MS vai perceber que XML foi feito para ser tambem human readable, e nao human writable.

Vc acha que o VS.NET não faz isto… Sorry !

Poucas coisas que eu acho legal no c#: intern e attributes. Vai ter metadado no java tambem, junto com generics, que a MS soh tem um panfletinho falando que um dia vai existir.

Pelo menos acha alguma coisa… Com relação aos generics compare primeiro antes de falar … a versão Java não passa de macro substituição!!! A versão de generics da MS está intrinsica na CLR o que garanti otimização através do JIT… http://research.microsoft.com/~dsyme/papers/generics_abs.htm

Quando voce perceber que Property eh terrivel, da um toque pra gente. Basta um pouco mais de experiencia que voce chega la.

Se vc trabalhasse comigo com certeza eu ia torcer vc todo os dias! Nem vou perder meu tempo discutindo da minha “experi” com vc… Pois to vendo que é muito comico! Daria bem para atuar no circo…

Está será minha última mensagem sobre este tema… Podem detonar depois!!!

P

Sabe porque o generics no java eh resolvido em tempo de compilacao? Para BACKWARD COMPATIBILITY. Algo DESCONHECIDO pelo .net.

Quando generics entrar no c#, sabe o que o pessoal vai rpecisar fazer? Exatamente! Service Pack de MEGAS em todos os clientes! ServicePack neles!

Outra coisa, MINHA NOSSA SENHORA. Peguem esse arquivo que ele passou no link (troque $ por S :)) Vejam a BIBLIOGRAFIA do generics pro C#, existem MAIS DE 5 referencias a papers do java.

D

se não fossem os erros de português nos comentários, eu chutaria que o nosso caro NotYet Specialist é o nosso colega Mauro Sant’anna, MSDN Regional Director. Mas não vamos discutir isso, vamos ao que interessa de fato:

Pelo menos acha alguma coisa… Com relação aos generics compare primeiro antes de falar … a versão Java não passa de macro substituição!!! A versão de generics da MS está intrinsica na CLR o que garanti otimização através do JIT… http://research.Micro$oft.com/~dsyme/papers/generics_abs.htm (NotYet Specialist)
.

  1. Backward compatibility. Enquanto Java2 se chamar Java2, todo e qualquer programa escrito para plataforma VAI ESTAR dentro da filosofia “write once, run anywhere”. Quando a tecnologia avançar para a versão 3, aí a história vai ser outra. Porém, como é muito bem sabido, a transição da versão 1.0 para a versão 1.1 do .NET Framework forçou que alguns (vários) projetos tivessem que ser recompilados para trabalhar adequadamente sobre o CLR antigo (http://www.3leaf.com/default/articles/ea/SBS.aspx). Você não acha isso impressionante? (nota: isso é uma pergunta retórica, se você não entendeu…)

1,5. só dois comentários: primeiramente, a educação e a ética profissional mandam lembranças, viu? Em segundo lugar, que tecnologia usaram para que tal aplicativo merecesse tal crítica? raw ASP?

  1. Antes de tudo, é verdade que a Microsoft soltou uma versão para o .NET Framework 1.0 para FreeBSD. Esta implementação se chama Rotor e está em algum lugar do site da MS para ser baixado. Agora, vamos à realidade das implementações .NET para SOs não-windows. Para começar, o licenciamento do rotor diz basicamente o seguinte (ou seja, isso é uma síntese): aplicações usando o .NET Framework e que tenham sido escritas e compiladas na plataforma Windows não poderão ser usadas para fins que não acadêmicos em implementações deste Framework para outras plataformas de sistema operacional. O uso da versão do .NET Framework para FreeBSD se destina unicamente para finalidades acadêmicas. Outstanding, don’t you think so? :twisted:
    Enfim, o .NET Framework rodando no FreeBSD (se alguém tiver um FreeBSD por aí, recomendo que façam um teste, é muito engraçado) é um desastre. Peguei uma aplicação WindowsForms já pronta, construída no VS.NET e a coloquei para rodar em ambiente gráfico (óbvio! mas só para constar, o ambiente gráfico usado foi o Blackbox). Resultado: uma grande decepção, já que os componentes do form saíram todos mal dimensionados (ok, pode ser problema no blackbox) e vários eventos programados ou não eram executados ou lançavam aquele diálogo de exceção. Ainda não testei no OSX, mas já que existe tal versão do framework, vou testá-la. Mas, antes, só uma pergunta: se .NET é portável, por que um projeto não consegue rodar efetivamente em outra plataforma diferente daquela onde ele foi compilado?
    Outro ponto importante a ser levantado: quando se fala de .NET, costuma-se englobar as linguagens-padrão (VB.NET, C#.NET, C++.NET, J#.NET), as APIs (System.XML, Windows.Forms, …), as tecnologias associadas (ASP.NET, SmartClients, WebControllers, etc…) e o CLR. Ignorando o fato de não ter conseguido rodar corretamente um projeto WindowsForms no FreeBSD, como eu faria para rodar meu projeto ASP.NET sobre o Rotor sendo que ele é altamente acoplado ao IIS (que por sua vez só funciona em ambientes Windows) :? ?
    Mudando um pouco de alvo, tocou-se no ponto das JVMs. A comunidade Java já está careca de saber, mas para quem é de fora é bom explicar: toda a tecnologia Java (incluindo aí JVM, JRE, J2EE, J2ME, JDO, …) é pura especificação, criada pela JCP. JCP (Java Community Process) é uma entidade INDEPENDENTE, sem FINS LUCRATIVOS e FUNDADA pela Sun Microsystems para poder regular e especificar tudo que for referente a esta plataforma. Esta comunidade é formada por empresas do calibre de Hewlett Packard, IBM, Oracle, Borland, Fujitsu, Siemens, General Eletric, Nokia, Motorola, Sony, Ericsson, Phillips, Accenture e por aí vai; no seu início, até a Microsoft fazia parte da JCP e ela foi a responsável pela criação das melhores VMs para Windows enquanto esteve lá (isso é outra história). Porém, não existe só VMs feitas pela Sun. A Sun é responsável pela criação das VMs mais populares. Ela cria VMs para win32 e win64, SolarisOE e linux32/64 (aliás, tal VM é resultado do trabalho entre JCP e comunidade Open-Source - Blackdown). Mas se você achar que as VMs da Sun são muito “meia-boca”, você pode instalar a implementação da BEA (JRockit), da Oracle (Aurora), da IBM… Você pode até mesmo fazer uma fusão de VMs, ou seja, usar a VM da Sun junto com o JITer da BEA, ao invés do Hotspot. Com todas estas características, dizer que o trabalho da JCP (e não da Sun) é tão ad-hoc como foi citado só demonstra 3 coisas: imparcialidade, falta de visão estratégica e de conhecimento básico sobre a plataforma Java. (p.s.: pergunte-se o porquê o pessoal do projeto Mono até hoje não ter uma versão estável para a API Windows.Forms. E pergunte-se também o porquê da necessidade de emulação por Wine http://www.go-mono.com/winforms.html).

pausa para tomar água…

  1. JNI… andou fazendo lição de casa, hein? Pois bem, JNI é a ponte entre Java e o mundo das bibliotecas nativas. Normalmente JNI é usado para que uma certa aplicação Java acesse funções implementadas nestas bibliotecas nativas que vai prover ao aplicativo acesso direto a recursos de hardware, como uma impressora. Se não estiver enganado (sorry, nunca precisei implementar nada que precisasse de recursos nativos da plataforma), as únicas coisas que o programador Java é obrigado a fazer são criar uma interface em C (blabla.h) para o driver da impressora (possibilitando, assim, que o objeto Java acesse os métodos/funções do driver) e “registrar os nativos” na classe que vai acessar o driver. Ponto final. O programador não vai brincar com os “unsafe types”. Se houver algum erro devido a estes tipos, vai ser erro na implementação do driver, o que, convenhamos, é um pouco difícil de ocorrer.
    Mas se isso não convencer que JNI é menos “error-prone” do que usar “unsafe types”, pode-se explorar um modelo um pouco mais complexo, mas mais escalável que é a arquitetura CORBA (que, se não me falha a memória, não é suportada pela plataforma .NET).
  1. Para a primeira parte, só duas palavras: AspectJ e Jython.
    Sobre linguagens interpretadas (com Perl, Ruby e Python), que tal: http://www.freeroller.net/page/ceperez/20021205#net_clr_unsuitable_for_interpretive
    Sobre XML, JDOM (open-source) faz as mesmas coisas que as classes do System.XML fazem. Então, tanto faz um quanto outro.
    Sobre Code Access Security: se puder explicar, agradeço.
    Sobre Windows.Forms, eu nem vou citar Swing, que é de fato portável. Vou falar de SWT, um novo conjunto de componentes para construção de “forms” que alia a portabilidade do Java com a agilidade de renderização que componentes GUI nativos possuem. Ahhh!! E qual é a outra API para desktop GUIs no .NET?
  1. <sarcasmo>De fato, HTML deixou de ser um padrão W3C e virou um padrão Microsoft. Tim Berners-Lee deve estar muito triste.</sarcasmo> Ironias à parte, documentação é algo para ser visto e navegado, e não manipulado. Então, para quê documentação em XML? Ok, pode-se considerar que, uma vez em XML eu poderia gerar, usando XML Stylesheet Transformation Language (XSTL), documentos em PDF, PS, Word, HTML… Mas qual costumava ser o sinômimo para HIPERTEXTO (e não documento) portável?
  1. Se isso é realmente importante para você, considere que o Hotmail rodava CGIs sobre FreeBSDs até pouco tempo atrás (http://www.securityoffice.net/mssecrets/hotmail.html). E considere também que o site da filial da MS no Reino Unido (se não estou enganado) rodava sobre um belo IBM Websphere 3 (camulflando as extensões .jsp para .asp).
  1. Sinceramente: nós, da comunidade Java, já estamos de saco cheio destes comparativos com fins explicitamente publicitários feitos por MSDN-RDs, “Microsoft Certified qualquer coisa”'s. No final de tudo, sabemos que Java é melhor por zilhões de coisas que os programadores .NET nem sabem que existe. Quer persistência transparente sobre qualquer tipo de fonte de dados? Tome JDO, Hibernate, OJB. Quer framework para testes? JUnit, HttpUnit. Cansou-se de OOP? Que tal AOP, usando AspectJ ou AspectWerk? Protocolo para comunicação p2p? JXTA! Componentes distribuídos como serviço? Jini. Um protocolo RPC-style? Java RMI. Automatização de tarefas? Ant!! Droga, odeio esta IDE… Mude para JBuilder, Eclipse, Forte, Netbeans, IDEAJ, Together, Rational XDE, WSAD, JDeveloper … Qual banco de dados usar para alcançar máxima performance? MySQL, PostgreSQL, Firebird (estes gratuitos), Oracle9i, SQLServer 2000, IBM DB2, Sybase, Ingres, isto é, qualquer um … Ahhh banco de dados é coisa do passado? Prevayler!!! Utilidades para protolocos de rede? Jakarta Commons!! Reconhecimento de voz? JavaSpeech. Multimedia? JavaMedia Framework. Infra-estrutura para telecom? JAIN. Não gostei da linguagem Java, mas acho a API muito rica e gostaria de usá-la: Jython.org!! Frameworks para aplicações para web usando padrão arquitetural MVC? Struts, E-gene, Tapestry. Portlets? Jetspeed, Oracle PDK. Tem “ASP.NET” para Java? JavaServer Faces!!! E framework para agentes? Aglets… E para IA ou sistemas especialistas? JGAP, Joone, Jess. Relatórios? Jasper Reports, JFreeReport. Logging? java.util.logging, Log4J. E SmartClients para Java? Sim, JavaWeb Start.
    Alguma coisa mais?

ahh sim, a última citação:

  1. O que mostra o nível dos frequentadores de cada lista. Aqui nós não somos vaquinhas de presépio de nenhuma grande empresa. Além do mais, todos aqui gostam de discutir tecnologia (seja ela qual for); assim, sempre que surge mais um panfleto sobre as “inumeráveis e substanciais” vantagens do .NET/C# sobre Java gostamos de expor nossa sincera opinião (i.e. fazer piadas!!). E, embora você vá discordar, criticamos muito a tecnologia Java quando necessário (ver tópicos http://www.guj.com.br/forum/viewtopic.php?t=2320 e http://www.guj.com.br/forum/viewtopic.php?t=2339). E tudo isso só mostra uma coisa: o alto nível de maturidade e qualidade de nossa comunidade.

Para terminar, alguns links interessantes:
mito da portabilidade do .NET: http://www.neward.net/ted/weblog/index.jsp?date=20030130#1043955918414
JVM vs. CLR: http://www.freeroller.net/page/ceperez/20021209#net_clr_slower_than_most
RegExp benchmark: http://www.freeroller.net/page/ceperez/20030210#p_i_found_a_a

G

eh importante notar uma coisa:

  1. erros de portugues em um artigo ou algo do genero eh algo CRITICO.
  2. erros de portugues em um forum onde as pessoas estao tendo uma discussao (ou uma retorica dependendo da pessoa) eh normal. por exemplo, meu teclado nao tem acento normal nem tio, por isso nao espere o melhor portugues com os acentos
  3. ser imparcial na disputa .net x java eh algo que poucos conseguem, e nao eh necessario conhecer os dois pra isso, portanto mesmo sem ter lido “.net pra antas” (versao do reino animal) posso fazer perguntas sobre a tecnologia pra comparar com o java, nao posso?

nao vou entrar na discussao dos 10 pontos do artigo nem mesmo nos pontos que continuaram sendo discutidos no topico, como o proprio especialista em .net falou, ele nao ira mais responder, duvido muito que vai ler…

por ultimo, pra TODOS, se as discussao sobre a tecnologia cai pro lado pessoal, resolva em pvt… lavacao de roupa suja tem lugar

D

Maluco!!! (pra usar uma expressão carioca)

Nunca tinha visto uma discussão assim… aplaudo o Daniel Quirino pela brilhante memória pra lembrar os vários nomes de todas as tecnologias Java que existem por aí…

Sobre ética, posso dizer que baixou um pouquinho do aceitável, mas a taxa de frases aéticas ainda está boa, pelo tanto de coisas escritas…

Sobre o que se deve ou não dizer sobre o C#, eu acho que a gente tá bem. Se todo mundo metesse o pau em tudo o que acha ruim e contrário ao prograsso humano, as coisas estariam bem melhor.

Cada dia eu fico mais fã do Theo da Raadt, do Open BSD, e seu mote: “se o meu bom programa prejudica o bom funcionamento do seu programa, se vira”!

O filtro anti-spam que ele colocou no Open usa aquelas listas negras de IPs de spammers, o que é um critério bastante discutível. Só que o filtro interage com o firewall pra deixar a conexão com essas máquinas propositalmente lenta, atrasar ou errar pacotes, enfim, infernizar.

  • Ah, mas meu IP é variável, não fui eu que fiz o spam!
  • Meu programa é ótimo, se vira! Pressione o seu provedor pra ele descobrir o spammer e depois retirar seu ip da black list. Ou reconecte e acomode-se.

Quando eu falo de .NET, eu não tenho a menor idéia do que eu estou falando. Isso não me impede de criticar um artigo horrível. Se vira, pressiona o site pra melhorar a qualidade dos seus escritores e editores. Ética não é escapatória para deixar as pessoas falarem merda impunes.

Agora, eu acho incrível que o nosso NotYet Specialist tenha feito avatar e tudo… heehehehe!!!

[]s

G

esse tal de prograsso eh que me mata ehhehe :slight_smile:

tambem acho, por isso mesmo que apoiei tua ideia sobre o escritor do artigo/editor do site quanto a gramatica la. Mas soh nao falei do .net pq do jeito que esta o topico nao vai levar a mais nenhum lugar esclarecedor… se quiser tem que comecar um novo com animos acalmados

D

esclarecimentos:

  • sei que peguei pesado, por isso, desculpem-me;
  • sei que fui muito rigoroso no que se trata de português, mas prefiro maltratar o menos possível a nossa língua. Mas também não humilho ou desprezo (embora o que tenha escrito diga o contrário) alguém por escrever errado ou usar abreviaturas do tipo “vc” “eh”, etc (mesmo porque as uso com muita freqüência em IM);
  • concordo que para se discutir “Java vs. .NET” deve-se, primeiro finalizar este tópico e depois ter certeza de que coisas cosmésticas não vão ser discutidas, como por exemplo a discussão do “objeto.prop = 1; ou objeto.setProp(1);?”;
  • minha memória não é tão boa assim :wink: ;
  • sobre ética, acho que todo mundo fala mal do projeto de alguém quando ele não nos agrada. Mas dizer isso publicamente, principalmente quando o nome do autor do projeto já tinha sido divulgado, é, pelo menos, uma falta de educação e respeito com o autor. Vale sempre ressaltar que, um dia, todo nós já escrevemos códigos ruins e se nós melhoramos, foi porque várias pessoas nos ajudaram.

that’s all folks…

p.s.:

Aonde está a Sun? Ela não faz parte do WS-I… (DotNet Specialist)

faltou dizer ao DotNet Specialist que a Sun faz parte da WS-I. Para não restar dúvidas, cá está: http://www.ws-i.org/Community.aspx?Alpha=S

L

Nunca pensei que esse post sobre o artigo que eu coloquei aki que fala do C# fosse dar tanto o que falar.
Os animos por aki ficaram bem exaltados, tá uma troca de farpas!!!
E Daniel, acho que vc mandou muitissimo bem, acho que vc não deve pedir desculpas, da maneira que o NotYet Specialist tratou (de forma deselegante e grosseira) nosso amigo Rafael dizendo pra procurar se informar mais sobre o .Net e ir conversar com um expert como ele se alto intitulou, vc tambem mostrou pra ele que ele também precisa se informar mais a respeito do JAVA(e também sobre .Net) pra poder falar a respeito e critica-lá, vc sim mostrou que tem embasamento e conteúdo pra poder abrir esse tipo de discussão.
Vc simplesmente colocou ele no seu devido lugar.
E como nosso amigo Dukejeffrie disse: QUE MEMÓRIA HEIN!!!
Nunca na vida que eu ia saber ou lembrar de todas as tecnologias que vc postou aki!!!

D

obrigado Luiz e Dukejeffrie… :slight_smile:
se quiserem ver a continuação deste debate, eu e o Fábio Galuppo (DotNet Specialist) estamos dando prosseguimento a ele, mas mantendo o alto nível que nós, programadores profissionais, devemos ter. Eis as urls:
.NET vs. Java: http://www.msdnbrasil.com.br/forum/ShowPost.aspx?PostID=1080&PageIndex=2.
Portabilidade: http://www.msdnbrasil.com.br/forum/ShowPost.aspx?PostID=6210

Até…

R

Galera eu li o tópico inteiro e agradeço a cada um pela excelente contribuição no meu aprendizado, inclusive o kra que escreveu o artigo que originou esta batalha (vencida pelo java ao meu ver), desenvolvia em vb6 e comecei a migração pro vb .net, mas como era tudo diferente, eu pensei: Já que terei que aprender uma nova linguagem, agora aprenderei uma de gente grande, por isso iniciei os estudos em Java, tô apanhando muito é verdade, mas pelo pouquissímo que aprendi sobre java, puder ver que ele é infinitamente melhor que o resto do mundo; e agora meu objetivo é em breve fazer parte desta equipe de desenvolvedores excelentes que compõem o mundo java e o GUJ, e espero que vcs possam me ajudar nesta jornada!

Valew - - sou mais java heim ! ! ! !

M

Eu sinceramente gosto das duas linguagens…

Java por ser multiplataforma e c# por ser “fácil” graças ao Visual Studio…po galera é muito fácil desenvolver um sistema com visual studio asp.net.

Mas uma coisa convenhamos…criar tela com Swing é um sofrimento (apesar de ser multiplataforma)… de repente pode ser fácil para profissionais muito experientes em java, mas é muito complicado para iniciantes e creio eu que até para muito intermediário que só é acostumado com jsp.

“O mercado vai se dividir entre estas duas linguagens” creio eu.

Falou

M

Ressussitando os mortos :lol:

M

sou novo no fórum… :lol:

é nem vamos perder tempo com este tópico… :smiley:

V

Java ou C#? Delphi ou Visual Basic? Eclipse ou Netbeans?

Acho que não adianta defender ferrenhamente uma tecnologia. O java não é perfeito e certamente aparecerá uma linguagem um dia que o substituirá.

Certamente o .Net também tem vantagens sobre o Java, como por exemplo a possibilidade de escrever em outras linguagens que não o C# e gerar binários compatíveis no final (certo, isso também seria possível se fizemos compiladores para bytecode, mas em .net já houve um investimento maciço nesse sentido).

Também tem desvantagens (como o pessoal fez questão de nos lembrar). Mas acho que ambos são linguagens extremamente poderosas e fáceis, com bibliotecas de classes extensas e poderosas.

Melhor ou pior vai depender muito do contexto. Se você trabalhar numa empresa onde 95% das aplicações são .Net, fazendo uso intenso da Tecnologia COM e onde nem sequer se pensa em Linux, haverá uma boa possibilidade de Java não ser uma boa opção.

Não estou contra o Java. Gosto muito da linguagem, tanto que é a minha opção de desenvolvimento hoje em dia. Mas também não precisamos ser “tietes” da linguagem, fechar aos olhos para o lado ruim e nem ficar falando mal do concorrente só por causa disso.

L

2003? aff…

M

Bom encerra o tópico então.

L

a volta dos mortos vivos…

Criado 26 de março de 2003
Ultima resposta 27 de fev. de 2007
Respostas 40
Participantes 24