Plataforma Java x Plataforma .NET - Edição SP 2010

ROUND 1: FIGHT!

ksuHKUSH, eu trabalho com .NET hj e nao com java =p, faço duras criticas a algumas posicoes da microsoft, como: so agora eles pensarem em um servidor de aplicacao decente,e algumas outras mancadas que ela vem fazendo como nao incentivar certos projetos importantes para a plataforma como o finado ironruby, mas tabem faço duras criticas a sun e a atual oracle andam/andavam fazendo besteiras tbm como o lendario java 7 que agora é java 7 enrolation, meu intuito nao é dizer que java é melhor que .net ou vice-versa, é so questionar alguns pontos que foram defendidos no topico que nao concordo, como o programa MVP, e eu nao sabia que vc era MVP e nao estou dizendo que todo MVP é uma farsa, vejo muitos MVPs que realmente sao referencia nq fazem tal como Giovanni Bassi aqui no brasil, dentre alguns outros, infelizmente nao tenho te acompanhado entao nao posso falar “nem bem, nem mal”, concordo com o luca quando ele fala que o windows é algo que ja deveria estar 1000 anos a frente dq outros SO, mas é assim mesmo, esse é o estilo da microsoft de trabalhar, ela viu o erro cometido no vista que foi extremamente grave, comprometeu a confianca das empresas na microsoft que ate hj as empresas tendem a pensar muito ao deixar um sistema com quase 10 anos de vida de lado por um que gerencie os recursos atuais de hardware existentes hj.

No final das contas, o que importa mesmo é o conhecimento do desenvolvedor nas tecnologias. Não podemos julgar a capacidade de um desenvolvedor com base nas ferramentas que ele utiliza. Ou você acha que pelo simples fato de um desenvolvedor usar o Visual Studio ou o Eclipse, ele será pior que um desenvlvedor que, assim como você, usa o VIM?

Se a questão é não custar um centavo, o Eclipse e o NetBeans são gratuitos, open source e sem limitações. É claro que há plug-ins comerciais para ambos os IDEs. As edições Express do Visual Studio 2010 são gratuitas, mas possuem uma série de limitações.

Ninguém é obrigado a usar o Eclipse no desenvolvimento em Java. Isto é apenas uma questão de preferência pessoal. Eu, particularmente, prefiro o Eclipse a qualquer outro IDE do mercado que eu conheço para as minhas necessidades de desenvolvimento em Java. Também admiro vários recursos do IntelliJ IDEA, mas, para as minhas necessidades, não justifica o investimento. Para várias empresas, certamente valerá o investimento no IntelliJ IDEA. Também gosto de vários recursos do NetBeans.

Realmente, deu para perceber que você não teve muita integração com as tecnologias de desenvolvimento da Microsoft. Então, talvez seja melhor você não opinar sobre as ferramentas atuais. Afinal de contas, atualmente você não tem conhecimento das mesmas.

[quote=Luca]Hoje ainda trabalho com Java para ganhar dinheiro. Mas o que faço por prazer e diletantismo no momento é programar em Javascript que acredito ser uma das linguagens com maior potencial de resolver problemas que necessitem de escalabilidade. No momento chega a me dar mais prazer do que Ruby. Parei até de brincar com erlang, clojure, scheme e scala só para me concentrar no Javascript.[/quote]'
Atualmente, JavaScript é uma linguagem de script extremamente importante para o desenvolvimento Web. Porém, a questão de escalabilidade é muito maior que programação do lado do cliente. Certamente, você pode tirar muito a carga do servidor fazendo tarefas do lado do cliente. É importante ressaltar que escalabilidade envolve muito a programação do lado do servidor. Porém, isto vai depender do contexto e da arquitetura da aplicação.

Cada um deve usar o sistema operacional que se adapte melhor às suas necessidades e às suas preferências pessoais. É claro, sempre que isto for uma opção. Por exemplo, se você quiser desenvolver para o iOS 4.1 (iPhone, iPad, iPod touch) com as ferramentas mais atualizadas da Apple, então terá que usar o iOS SDK 4.1 (Xcode IDE e companhia) em Mac OS X Snow Leopard. Outro exemplo é a Microsoft com o Visual Studio, que deve ser usado em Windows.

Certamente, todas as empresas de TI comentem seus erros, afinal de contas são administradas por humanos. É difícil ser a melhor em tudo que se faz. Eu não sou defensor incondicional da Microsoft, nem da Apple, nem da Oracle, nem de qualquer outra empresa de TI. Eu somente procuro analisar os fatos e não criticar aquilo que não conheço.

Realmente, a evolução do servidor de aplicações da Microsoft poderia ter sido mais rápido. Mas, isto é uma questão de estratégia e prioridade. Talvez, somente agora ela esteja sentindo a necessidade de evoluir mais o seu servidor de aplicações.

Concordo com você que a Microsoft não está investindo mais tanto no IronRuby como antigamente, e eu lamento muito por isto. Assim como não está investindo tanto no IronPython.

Realmente, a demora do lançamento do JDK 7, e das inovações na linguagem de programação Java 7, viraram motivo de piada.

Quanto à questão do título de MVP, eu somente comentei que não acho que isto deva ser levado em conta num debate técnico. Se um profissional estiver tendo que citar os seus títulos num debate técnico, então você pode ter certeza que ele não tem conhecimento técnico suficiente para sustentar as suas convicções.

Quanto ao Windows, é visível o fracasso do Windows Vista. O sistema operacional era extremamente pesado e lento, mesmo em máquinas robustas. Era comum ver pessoas formatando suas máquinas com Windows Vista para instalar o Windows XP. Para mim, o fracasso do Windows Vista lembra o fracasso do Windows Me (Millenium Edition). Naquela época, os usuários estavam formatando suas máquinas para instalar o Windows 98 SE (Second Edition). Porém, na minha opinião, o Windows 7 foi uma grande evolução, estando muito estável e tão leve quanto o Windows XP. O mercado já está resppondendo positivamente a estas melhorias, tanto que as vendas de licença do Windows 7 já ultrapassaram 150 milhões de cópias.

Olá

[quote=rogeriom]… Porém, a questão de escalabilidade é muito maior que programação do lado do cliente.
[/quote]

Exatamente! Por isso as soluções tipo event machine do tipo que citei são promissoras e estão na crista da onda.

Acredito que será cada vez mais comum sites feitos quase que totalmente em JavaScript. A proposta do play framework de usar um servidor assincrono é boa. Mas a pretensão dele ser full stack e abraçar o mundo com as mãos pode dificultar sua diseminação. Na medida em que frameworks rails-like como o geddy fiquem mais maduros e disponham de plugins para CMS e outras coisas comuns aos sites enterprises, fazer toda a aplicação em JavaScript ficará bem viável. E será bem fácill se comunicar com SOLR, NoSQLs, bancos de dados tradicionais, web services REST (ou não) e tudo o mais que possa se comunicar por HTTP ou por sockets que com o node é coisa trivial.

Realmente meu interesse por Microsoft é bem reduzido. Mas no dia em que conseguir rodar coisas como node e Hadoop em um Windows sem gambiarras como cigwin, aí pode ser que volte a me interessar,

[]s
Luca

Acredito que encarar que as duas plataformas concorrem entre si é algo valioso para a comunidade em geral. Afinal sempre deverão avançar em níveis de produvidade e confiabilidade e não “parando no tempo” pensando que se chegou ao estado da arte. Muitas vezes tecnologias muito boas caem em desuso simplesmente por não continuarem evoluindo, trazendo certo FUD para a comunidade.

Att.

A discussão tá pegando fogo aqui! Mais uma prova de que um evento desses tem tudo pra trazer bons debates sobre as duas plataformas.

Bom, eu vou estar no evento e com palestras em dois temas: Persistência Java e Mobile Java. E, além de apresentar as palestras, não vejo a hora de debater esses assuntos com meus colegas de .Net.

Em especial a parte mobile, onde parece que tanto o Java quanto o .Net estão bem mal das pernas atualmente (desconsiderando Android que não é oficial). Será que esse MIDP 3 sai? Será que os baldes de água fria no Java FX Mobile recentemente vão mudar algo? E o tão esperado lançamento do Windows Mobile 7: a história da MS no Mobile vai recomeçar do zero, será uma boa estratégia? Será que finalmente a MS vai entrar numa briga boa no mundo mobile? E engraçado ver como caminhos “alternativos” são o que há de mais relevante em ambas as plataformas (Android, MonoTouch e coisas do gênero…)

Bom, espero que o evento traga bons debates de alto nível técnico e seja proveitoso a todos. Espero vocês lá!

[quote=Sergio Lopes]A discussão tá pegando fogo aqui! Mais uma prova de que um evento desses tem tudo pra trazer bons debates sobre as duas plataformas.

Bom, eu vou estar no evento e com palestras em dois temas: Persistência Java e Mobile Java. E, além de apresentar as palestras, não vejo a hora de debater esses assuntos com meus colegas de .Net.

Em especial a parte mobile, onde parece que tanto o Java quanto o .Net estão bem mal das pernas atualmente (desconsiderando Android que não é oficial). Será que esse MIDP 3 sai? Será que os baldes de água fria no Java FX Mobile recentemente vão mudar algo? E o tão esperado lançamento do Windows Mobile 7: a história da MS no Mobile vai recomeçar do zero, será uma boa estratégia? Será que finalmente a MS vai entrar numa briga boa no mundo mobile? E engraçado ver como caminhos “alternativos” são o que há de mais relevante em ambas as plataformas (Android, MonoTouch e coisas do gênero…)

Bom, espero que o evento traga bons debates de alto nível técnico e seja proveitoso a todos. Espero vocês lá!
[/quote]
Fala Sergio!

Eu também estou ancioso para apresentar as minhas palestras no evento e assistir às palestras dos outros temas. Os debates sempre são uma boa oportunidade para esclarecer dúvidas sobre as vantagens e desvatagens das tecnologias de cada plataforma.

Realmente, na área de desenvolvimento para dispositivos móveis houve uma reviravolta. Antes, a plataforma Java ME (anteriormente, conhecida como J2ME) reinava absoluta como plataforma mais usada para desenvolvimento para dispositivos móveis. Quem diria que o Mobile Information Device Profile 3 (MIDP 3) teria um lançamento tão pouco expressivo no mercado móvel. É até difícil acreditar que houve o lançamento da especificação final do MIDP 3 em dezembro do ano passado no JCP pela JSR 271: http://jcp.org/en/jsr/detail?id=271. Quanto ao JavaFX e, mais especificamente ao JavaFX Mobile, por enquanto não está emplacando. Mas, vamos aguardar para conferir se a Oracle investirá tudo que ela está promotendo na plataforma.

A Apple revolucionou o mercado de smartphones com o lançamento do iPhone em 2007. Finalmente, surgiu um smartphone com um browser decente para navegar na Web e com uma experiência maravilhosa para o usuário final. Depois, ela lançou o iPhone 3G em 2008 e o iPhone 3GS em 2009. E o iPhone 4 foi lançado neste ano de 2010 com algumas novidades interessantes. Inclusive, a Apple modificou o nome do sistema operacional de iPhone OS para iOS. Na realidade, o nome já não tinha sentido uma vez que o mesmo sistema operacional é usado no tablet iPad e no iPod touch. Recentemente, nós tivemos o lançamento da versão final do iOS 4.1 e o iOS 4.2 Beta.

O Google veio no vácuo da Apple, como o lançamento do sistema operacional Android. Baseado numa versão modificada do kernel do Linux, o sistema está conquistando cada vez mais usuários. Ao contrário do iPhone, o usuário tem diversas opções disponíveis de dispositivos de vários fabricantes. Sendo uma plataforma muito mais aberta que a plataforma da Apple. Depois do lançamento do Android em novembro de 2007, tivemos: Android 1.5 (Cupcake) em abril de 2009, Android 1.6 (Donut) em setembro de 2009, Android 2.0/2.1 (Eclair) em outubro de 2009/janeiro de 2010 e, finalmente, o Android 2.2 (Froyo) em maio de 2010. Recentemente, os donos do HTC Nexus One tiveram a possibilidade de atualizar manualmente parta o Android 2.2.1. Agora, estamos aguardando o Android 3.0 (Gingerbread), que deve ser lançado até o final do ano. No principal kit para desenvolvedores, o Android SDK, a codificação é feita com a linguagem Java e o núcleo das bibliotecas é baseado no Apache Harmony. Porém, a compilação é feita para um bytecode que roda numa máquina virtual personalizada do Google, chamada Dalvik VM. Então, no mês passado a Oracle entrou com um processo contra o Google afirmando que o mesmo está infringindo patentes e direitos reservados no sistema operacional Android. O processo pode ter fundamentação legal, mas corresponde a um golpe contra a tecnologia Java. Afinal de contas, o Android corresponde a uma excelente opção para os antigos desenvolvedores Java ME, já que a plataforma não está passando por um bom momento na área de smartphones.

Já a Microsoft, desmontou toda a equipe de Windows Mobile e montou uma nova equipe para desenvolver um novo sistema operacional móvel capaz de enfrentar os concorrentes. O Windows Phone 7 é o sucessor do Windows Mobile 6.5. O novo sistema operacional, que tem kernel baseado no Windows CE 6.0, está inovando na interface com o usuário, com codinome Metro. A interface é feita de regiões retangulares denominadas “tiles”. Realmente, a nova interface fornecerá uma experiência diferente do iOS e do Android para o usuário final. O sistema operacional tem recursos inovadores, mas, na primeira versão, também tem algumas limitações, como: não suporta operações de copiar e colar, não suporta completamente multitarefa e não permite tethering.

Vamos acompanhando esta área que gera tantas oportunidades para os desenvolvedores e, principalmente, para aqueles que têm perfil empreendedor.

Abraços,

não vou, o site é feito em aspx.

Isto está me lembrando debate VB X DElPHI em 90’s.
Programei em C# por 4 meses. Não desejo este mal nem ao meu pior inimigo! :lol: Bem, pensando bem, desejo sim!!! :evil: :twisted:

Abraços, 8)
Wanderson

Corrigindo, o MIDP 3 não saiu ainda. Ele foi adiado diversas vezes pela Sun e a Oracle retomou o desenvolvimento dele, mas sem data marcada. Ia ter uma palestra no JavaOne a respeito dele, não sei a quantas anda.

A data que você citou é a data que começaram a desenvolver a versão final, observe o campo Finish em branco. O que saiu o ano passado, foi o JavaME 3, unindo o CDC e CLDC, suporte a animações via SVG e suportando tecnologias mais novas. E esse ano saiu o LWUIT 1.4, acrescentando mais elementos de formulário e flexibilizando a plaaforma.

Existe um mercado potencial muito grande pra desenvolver apps independentes de plataformas pra todos esses SOs mobile, mas se o Java quiser entrar, o MIDP 3 tem de sair.

Olá pessoal!
Na minha opinião o problema é nem é o “X” da questão, mas sim o fato do .NET ser a cópia escarrada do Java, a julgar pela qualidade dos produtos da Microsoft, a palestra pode tender a mostrar pseudo-vantagens do .NET sobre o Java. Conforme um colega relatou no começo, existem palestrantes da M$ por lá.
Isto me lembra este post no MeioBit:

Fonte: http://meiobit.com/68824/microsoft-um-elo-fraco-na-seguranca-nacional/#more-68824

Pra fechar com chave de ouro:

Fonte: http://computerworld.uol.com.br/seguranca/2010/09/21/falha-em-asp-net-abre-brecha-para-ataque-alerta-microsoft/

Deu pra perceber que a Microsoft nunca se preocupou com qualidade, é mais lucrativo permanecer com as falhas e remendos do que pagar equipe para rastrear as falhas e corrigi-las, até pq o forte das corporações é o marketing. Pode ser a maior porcaria do mundo, mas nada que uma propaganda direcionada à massa de ignorantes não resolva.

Não quero desmerecer o evento de forma alguma, mas produtos da Microsoft deveriam ser banidos para o bem da humanidade.
Poderiam fazer um Java & Python, ou sei lá…Java & Ruby, seria muito mais interessante. =)

Abraço!

[quote=marcosalex][quote=rogeriom]
Realmente, na área de desenvolvimento para dispositivos móveis houve uma reviravolta. Antes, a plataforma Java ME (anteriormente, conhecida como J2ME) reinava absoluta como plataforma mais usada para desenvolvimento para dispositivos móveis. Quem diria que o Mobile Information Device Profile 3 (MIDP 3) teria um lançamento tão pouco expressivo no mercado móvel. É até difícil acreditar que houve o lançamento da especificação final do MIDP 3 em dezembro do ano passado no JCP pela JSR 271: http://jcp.org/en/jsr/detail?id=271.
[/quote]
Corrigindo, o MIDP 3 não saiu ainda. Ele foi adiado diversas vezes pela Sun e a Oracle retomou o desenvolvimento dele, mas sem data marcada. Ia ter uma palestra no JavaOne a respeito dele, não sei a quantas anda.

A data que você citou é a data que começaram a desenvolver a versão final, observe o campo Finish em branco. O que saiu o ano passado, foi o JavaME 3, unindo o CDC e CLDC, suporte a animações via SVG e suportando tecnologias mais novas. E esse ano saiu o LWUIT 1.4, acrescentando mais elementos de formulário e flexibilizando a plaaforma.

Existe um mercado potencial muito grande pra desenvolver apps independentes de plataformas pra todos esses SOs mobile, mas se o Java quiser entrar, o MIDP 3 tem de sair.
[/quote]
Olá Marcos,

De acordo com a página do JCP, a versão final do MIDP 3 foi liberada sim no dia 09 de dezembro de 2009. Inclusive, se você clicar no link “Download page”, você será direcionado para a seguinte página: http://jcp.org/aboutJava/communityprocess/final/jsr271/index.html . Observe que há a seguinte frase: “This is the Final Release of this Specification, as described in Section 3.5 of the Java Community ProcessSM Program, version 2.7.”. Sendo que também há um link para você baixar a especificação final para construir uma implementação: “To download the specification for building an implementation, click here: …”.

Realmente, é muito estranho o campo Finish estar em branco. Porém, observe que não há um critério rigoroso de preenchimento deste campo no JCP. Por exemplo, todos nós sabemos que o MIDP 2.0 já atingiu a versão final há muitos anos (2002 na primeira versão final e 2006 na revisão da versao final). Porém, veja a página da JSR 118 do MIDP 2.0: http://www.jcp.org/en/jsr/detail?id=118 . Observe que o campo Finish também não está preenchido nem na “Final Release” e nem na “Final Release 2”. Você também poderá perceber isto em outras JSRs.

[quote=rogeriom][quote=Crown]nota rapida:
esse negocio de MVP é a maior enrolacao, ja vi muito nego MVP que meu deus do ceu,e o pior nao escreve um post num blog ou forum[/quote]
MVP da Microsoft, assim como qualquer outro título, pode ser dado para pessoas extremamente competentes tecnicamente, assim como para outras extremamente limitadas. Por exemplo, você acha que todo Java Champion é altamente capacitado em tecnologias da plataforma Java? Eu tenho certeza que não.
[/quote]
Epa, mas aí é comparar maçãs com laranjas.
Que eu saiba o título Java champion é para um grupo bastante restrito de profissionais/evangelizadores, como podemos ver na descrição a seguir:

fonte: https://java-champions.dev.java.net/

É como se fosse um Alumni, peço licença para uma hibérbole: pros top mega masters blasters ultra profissionais.

[quote=Crown]
nota rapida2:
A microsoft nao tem servidor de aplicativos…meu deus, o IIS é tudo menos servidor de aplicativos.[/quote]

Nem me lembre disso.
A última discução que tive com um programador .Net sobre o ISS foi horrível. O cara tentando me convencer que aquilo é servidor de aplicações (cujo o argumento era: mas se você “sobe” uma aplicação nele então ele é um servidor de aplicações) e eu tentando explicar o que seria verdadeiramente um servidor de aplicações, especificação, etc…
Cada vez que ue argumentava com algum recurso ele retrucava “mas isso você configura no windows server”.
Definitivamente a discução se deu por fim quando cogitei a falar sobre vendor lock-in , mas mudei de idéia, seu mundo limitava-se aquilo. Ponto.

[quote=Tchello][quote=Crown]
nota rapida2:
A microsoft nao tem servidor de aplicativos…meu deus, o IIS é tudo menos servidor de aplicativos.[/quote]

Nem me lembre disso.
A última discução que tive com um programador .Net sobre o ISS foi horrível. O cara tentando me convencer que aquilo é servidor de aplicações (cujo o argumento era: mas se você “sobe” uma aplicação nele então ele é um servidor de aplicações) e eu tentando explicar o que seria verdadeiramente um servidor de aplicações, especificação, etc…
Cada vez que ue argumentava com algum recurso ele retrucava “mas isso você configura no windows server”.
Definitivamente a discução se deu por fim quando cogitei a falar sobre vendor lock-in , mas mudei de idéia, seu mundo limitava-se aquilo. Ponto.[/quote]

Peço licença para me quotar.
Prosseguindo, o fato é que esse programador .Net brigava muito comigo com o argumento de que os programadores java seriam muito bitolados em… java, que nada mais prestava pra eles, etc etc etc… quando na verdade ele estava agindo EXATAMENTE da maneira que ele tanto criticava.

Pra ser exato java me agrada por certos aspectos que possui e que jamais encontrarei em .Net .
E não, o Balmer gritando “programers programers programers” definitivamente não vale a pena hehehehehe.

Argumentações sem fundamentação teórica não têm o menor valor. Vamos tentar sustentar tecnicamente estas suas afirmações.
Você está dizendo: “o fato do .NET ser a cópia escarrada do Java”. Portanto, você está dizendo que a plataforma .NET é uma cópia da plataforma Java. As plataformas Java e .NET são muito extensas. Deste modo, eu vou dividir um pouco para que você possa sustentar a sua afirmação de que .NET é uma cópia de Java.

Com relação à principal linguagem de programação de cada plataforma: linguagem C# em comparação à linguagem Java

Em 2002, quando a linguagem C# 1.0 foi lançada, a linguagem Java estava na versão 1.4, sustentada pela plataforma J2SE (atualmente denominada Java SE) 1.4. Certamente, nesta época, a linguagem C# tinha muitos recursos baseados em outras linguagens, mas especialmente na linguagem C++ e na linguagem Java. No final de setembro de 2004, a linguagem Java teve a sua primeira e única grande evolução com a versão 5.0, sustentada pela J2SE 5.0. Neste caso, a linguagem Java 5.0 incorporou uma série de recursos claramente baseados na linguagem C#, como: for avançado (similar ao foreach do C#), autoboxing/unboxing (similar ao boxing/unboxing do C#), typesafe enums (similar a enums no C#), varargs (similar a enums no C#) e anotações/metadados (similar a atributos no C#). Porém, nem assim, eu fico vendo acusaçõoes de que Java 5.0 é uma cópia descarada de C# 1.0.

Algumas perguntas que ficam no ar.

QUESTIONAMENTO 1 - Por que alguns desenvolvedores na comunidade Java gostam de dizer que a linguagem C# é uma cópia “escarrada” de Java, mas o contrário não? (Será que é por causa da maioria deles nunca terem programado na linguagem C#? Eles somente estão repassando o que escutam, sem nenhuma fundamentação teórica?)

No “The Java Language Specification Third Edition”, escrito por Ken Arnold, James Gosling and David Holmes, há a seguinte afirmação: “The Java programming language is related to C and C++ but is organized rather differently, with a number of aspects of C and C++ omitted and a few ideas from other languages included.”. Quem tiver interesse em confirmar a afirmação, basta ver no primeiro parágrafo da página 1 do PDF do livro, disponibilizado pela Oracle/Sun no seguinte endereço: http://java.sun.com/docs/books/jls/download/langspec-3.0.pdf.

QUESTIONAMENTO 2 - Por que não acusam James Gosling de ter copiado C/C++, dentre outras linguagens, se ele mesmo assume que se baseou em outras linguagens na criação da linguagem Java?

Depois da linguagem C# 1.0, houve as seguintes grandes evoluções na linguagem: C# 2.0 (2005), C# 3.0 (2007) e C# 4.0 (2010).

QUESTIONAMENTO 3 - Como a linguagem C# copiou a linguagem Java neste período, se a linguagem Java não teve nenhum grande evolução no mesmo período?

Curiosidade: Foi pouco depois do lançamento da J2SE 5.0 que o departamento de Marketing da Sun resolveu modificar os nomes das plataformas J2ME, J2SE e J2EE para Java ME, Java SE e Java EE, respectivamente.

Com relação a desenvolvimento Web
QUESTIONAMENTO 4 - Por que ASP.NET é uma cópia das tecnologias Web em Java (Servlets, JSP, JSF, …)?

Com relação a desenvolvimento RIA
QUESTIONAMENTO 5 - Por que Silverlight é uma cópia de JavaFX?

Com relação a tecnologias para desenvolvimento de aplicações GUI
QUESTIONAMENTO 6 - Por que Windows Forms é uma cópia de AWT/Swing?
QUESTIONAMENTO 7 - Mais recentemente, porque WPF é uma cópia de JavaFX?

Com relação a desenvolvimento para dispositivos móveis
QUESTIONAMENTO 8 - Por que o .NET Compact Framework para Windows Mobile, e mais recentemente Silverlight/XNA para Windows Phone 7, são cópias das tecnologias na plataforma Java ME, e mais recentemente JavaFX Mobile?

Melhor ficar por aqui, pois as plataformas são muito extensas. Talvez, se você justificar tecnicamente somente estas perguntas, eu possa começar a concordar com a sua afirmação do “fato do .NET ser a cópia escarrada do Java”.

[quote=Guevara]Isto me lembra este post no MeioBit:
…[/quote]
Você está citando um artigo escrito por alguém claramente anti Microsoft. Onde estão as fundamentações de várias das afirmações deste artigo?

Ser um império bem sucedido com bilhões de dólares é um problema? Dizer que os produtos da Microsoft são de baixa qualidade é bem questionável.

QUESTIONAMENTO 9 - Então, a Microsoft não tem nenhum produto que presta?
Como eu já disse anteriormente, muitos que criticam a Microsoft, mas usam Windows, Office e outros produtos da Microsoft. Por quê? Porque “todo mundo usa” é uma justificativa válida?

QUESTIONAMENTO 10 - Citar vulnerabilides encontradas no Windows NT da Microsoft torna os sistemas operacionais da Microsoft ruins?

Eu poderia citar artigos mostrando vulnerabilidades no Solaris, no Mac OS X, em distribuições específicas do Linux e outros.

QUESTIONAMENTO 11 - Isto tornaria estes sistemas operacionais ruins?

As afirmações são sobre vulnerabilidades no Windows NT, que já foi superado há mais de 10 anos. Depois do Windows NT 3.1, 3.5 e 4.0, já houve Windows 2000 Server, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008 e, atualmente, Windows Server 2008 R2.

[quote=Guevara]
Pra fechar com chave de ouro:

QUESTIONAMENTO 12 - Quer dizer que porque foi encontrada uma vulnerabilidade no ASP.NET, a tecnologia é uma porcaria?

QUESTIONAMENTO 13 - As tecnologias da plataforma Java são imunes a bugs e vulnerabilidades?

Por exemplo, Java EE tem vários fornecedores que fornecem implementações da especificação. Não tantos quanto antigamente, pois a Oracle comprou a BEA Systems e a Sun Microsystems.

QUESTIONAMENTO 14 - Se eu mostrar artigos que comentam sobre vulnerabilidades críticas no JBoss, da Red Hat, o servidor de aplicações passará a ser uma porcaria e a Red Hat incompetente?

QUESTIONAMENTO 15 - Se eu mostrar artigos que comentam sobre vulnerabilidades críticas no WebShpere, da IBM, o servidor de aplicações passará a ser uma porcaria e a IBM incompetente?

QUESTIONAMENTO 16 - Se eu mostrar artigos que comentam sobre vulnerabilidades críticas no WebLogic, da Oracle, o servidor de aplicações passará a ser uma porcaria e a Oracle incompetente?

QUESTIONAMENTO 17 - E estas vulnerabilidades críticas nos servidores de aplicação tornarão a especificação Java EE uma porcaria?

[quote=Guevara]Deu pra perceber que a Microsoft nunca se preocupou com qualidade, é mais lucrativo permanecer com as falhas e remendos do que pagar equipe para rastrear as falhas e corrigi-las, até pq o forte das corporações é o marketing. Pode ser a maior porcaria do mundo, mas nada que uma propaganda direcionada à massa de ignorantes não resolva.

Não quero desmerecer o evento de forma alguma, mas produtos da Microsoft deveriam ser banidos para o bem da humanidade.
Poderiam fazer um Java & Python, ou sei lá…Java & Ruby, seria muito mais interessante. =)[/quote]
Responda a todos os 17 questionamentos acima e quem sabe você não consiga convencer sobre as suas convicções. Deste modo, você poderá mostrar que os usuários de produtos da Microsoft, como eu, somos levados pela “propaganda direcionada à massa de ignorantes”. Como eu uso tecnologias e produtos da Microsoft, eu estou incluído nesta massa de ignorantes. Você deve ser muito inteligente, não deve usar Windows, nem Office, nem nada da Microsoft. Pois de acordo com você: “produtos da Microsoft deveriam ser banidos para o bem da humanidade.”.

Eu uso tecnologias de várias empresas além da Microsoft, como: Apple, Google, Oracle, dentre outras. E estou ancioso para ver as suas justificativas para os meus questionamentos. Afinal de contas, será muito simples para você convencer um ignorante que é levado por propagandas.

Tópico ficou meio inútil… tirando a divulgação do evento que nosso amigo teve a boa vontade de organizar…

Sempre vai ter os caras que ficam metendo o pau em .net… assim como os caras que acham que restfull é a ultima bolacha do pacote em comparação com SOA, e vice versa.

Opinião é pessoal e não adianta discutir, que estiver afim de “causar” devia comparecer ao evento e realizar questionamentos técnicos… ou não se pronunciar.

Imagine em uma palestra falando de C#… e alguém perguntar se o visual estúdio vai travar ou reclamar que só roda em Windows, seria passar vergonha, ou pior em uma palestra de java reclamar de ter que usar uma IDE realmente seria comico.

Recomendo ao criador do tópico parar de responder coisas inúteis pois tirando os 2 primeiros posts em 3 paginas de fórum não teve nada que fosse útil relacionado ao evento, se quiserem ficar fazendo divertidos flames usem o offtopic por que ai não atrapalha a divulgação do evento.

Faço minhas as palavras do Rogeriom.

Para falar a verdade, a Microsoft tinha um problema sério com versões e com negligenciar descaradamente padrões no passado. Para ver como exemplos o famigerado IE6 e o Visual C++ 6. Acho que a maioria trabalha com web aqui, e pouco preciso dizer sobre o IE. O visual studio tinha alguns erros grosseiros, como esse aqui:

[code]for (int i = 0; i < 10; i++) {
doSomething();
}

if (i < 10) { //A variável i ainda existe aqui!
doSomethingElse();
}[/code]

Ela também tinha problemas serios com evoluções de versão. Trocas de visual eram sempre traumáticas (a versão 7, por exemplo, corrigiu o bug acima, o que foi um martírio para muitos programadores). Tive problemas terríveis de migração do VB4 para o 5 e para o 6.

Mas percebam que usei todos os verbos no passado. Há alguns anos a postura da MS mudou, radicalmente. Em parte por ser pressionada por outras tecnologias, em outra parte por ver que aquele não era um bom caminho a seguir.

O Visual C++ 2008 e 2010 são muitíssimo fiéis ao padrão. Fizeram as primeiras implementações realmente decentes da STL, e hoje estimulam o uso dela em relação a MFC.

Não tive maiores problemas em migrar de versão da plataforma .net do que tive entre as versões do Java. A MS é mesmo um pouco mais agressiva quanto a limpar código deprecated mas, como tenho por prática não utiliza-los e substituí-los o quanto antes, não enfrentei maiores problemas.

O C# é uma linguagem excelente. Em muitos aspectos parecida com java, mas em muitos não. Não há tecnologia similar ao LINQ no Java. E é uma tecnologia excelente, uma das melhores construções da MS. Não existem partial classes no Java, ou sobrecarga de operadores, ou mesmo extension methods. A implementação de generics do .NET foi feita da maneira que o Java merecia ter tido: sem type erasure. É mais fácil manipular arquivos, a API de XML é infinitamente superior. A abordagem para bancos de dados também é excelente, já implementa nativamente um ConnectionPool e meios poderosíssimos de acesso com LINQ. Também é muito mais fácil escrever código unsafe. A solução deles é mais segura, mais rápida e mais tranquila de usar que o JNI.

Enfim, há diversas características tecnológicas superiores ao Java no .Net. O que não poderia ser diferente, pois é uma linguagem mais nova, e já sabia os problemas que enfrentaria. Ah sim, o tratamento de classes "closeables" proposto no Java 7 é uma cópia escarrada do mesmo tratamento, já existente há alguns anos, no .Net.

É lógico que a plataforma não é um mar de rosas, a API de Collections, por exemplo, não é tão bem estruturada como a do Java. A classe Set demorou a aparecer, e quando veio, foi sem uma interface ISet (que só entrou no .Net Framework 4.0). Não temos tantas ferramentas gratuitas, como profilers ou mesmo uma IDE completa, como é o Netbeans e o Eclipse (embora as versões Express sejam bem legais).

A discussão aqui é bastante inútil. São duas tecnologias diferentes e, hoje em dia, considero as duas equivalentes. Obviamente, concorrem pelo mesmo mercado, mas não vejo nenhuma vantagem significativa em preferir uma ou outra. Pelo menos, não sob o aspecto tecnológico em si. Eu utilizaria Java para portabilidade, por exemplo, para poder rodar em um servidor Linux. Isso é mais importante se estiver desenvolvendo um produto para o mercado, pois sabe lá Deus que parque a empresa que vai instalar vai ter. Mas, se for atuar numa empresa onde os servidores já instalados são MS (como a que atuo hoje) acho que seria uma péssima decisão de projeto não usar o .Net (aliás, por isso trabalho com ele hoje).

Perder tempo nessa guerrinha idiota é também perder a oportunidade de se melhorar como desenvolvedor. Ao invés de só falar mal, baixem o .net, instalem, programem algumas coisas com ele, aprendam as coisas que ele tem de bom e ruim, e formem uma opinião mais crítica sobre as duas linguagens. Também é uma boa oportunidade para ver maneiras alternativas de resolver os mesmos problemas, sem que sejam tão distantes como vocês teriam numa linguagem funcional, por exemplo.

Ah sim, e vocês aproveitam para se atualizar um pouco. Como o rogeriom falou, pega mal usar numa discussão argumentos anti-microsoft de 10 anos atrás. Seria o mesmo que acomeçarmos a acusar o Java de ser muito ruim por ser uma linguagem interpretada (quando já sabemos que faz muito tempo que a Hotspot VM foi criada)…

E o objetivo era só divulgar o evento…