C#/.NET - Porque tanta gente "odeia"?

Coisas que já vi:

  • Gente que trabalha em Java odiar tudo o que não seja Java
  • Gente que trabalha com .net odiar tudo o que não é .net
  • Gente que trabalha com Delphi odiar tudo o que não é Delphi
  • Gente que trabalha com Flash odiar tudo o que não é Flash
    e por ai vai.

E sabe o que observei em 99,99999999999% destes casos?
Tratavam-se de pessoas inseguras que só sabiam trabalhar com aquela tecnologia que defendiam.
E isto independente de idade.

Se encontro alguém assim quando estou procurando um candidato para preencher uma vaga, ele é eliminado no ato.

Não entendo porque deveriam pagar diferente se ambas plataformas atendem o mesmo segmento de mercado e C# é praticamente cópia da linguagem Java.

Na verdade, pelo fato da Microsoft vender a ferramenta de desenvolvimento, o developer deveria ser mais valorizado afinal se ele não cumprir o prazo tera que renovar as licensas do Visual Studio enquanto o programador Java pode ficar 1 ano pra escolher entre as diversas soluções MVC, servidores de integração continua e frameworks BDD disponíveis no mercado.[/quote]

Na verdade nem eu entendo. Não sei pq me copiou para falar isso, mas eu não disse que deveriam ganhar diferente, foi outra pessoa que disse isso. Se vão fazer a mesma coisa, com o mesmo conhecimento tem que ganhar igual. Me referi sim ao custo da IDE e do servidor Windows que querendo ou não vai pesar no final e não são opcionais, o que na teoria tornaria o projeto mais caro, ja que no java é possivel diminuir o custo a uma unica licença do App Server. Mas veja que mesmo o fato de ter opções que diminuem custos com o java, vários projetos são feitos em .Net e não é por causa do dinheiro. Eu acho que é mais por causa das parcerias. O custo do projeto para mim não é o fator X não.

kicolobo - Virtual Machine Man

[quote]* Gente que trabalha em Java odiar tudo o que não seja Java

  • Gente que trabalha com .net odiar tudo o que não é .net
  • Gente que trabalha com Delphi odiar tudo o que não é Delphi
  • Gente que trabalha com Flash odiar tudo o que não é Flash
    e por ai vai. [/quote]

mochuara - Virtual Machine Man

mochuara - Virtual Machine Man

marcosalex

kicolobo - Virtual Machine Man

[quote]E sabe o que observei em 99,99999999999% destes casos?
Tratavam-se de pessoas inseguras que só sabiam trabalhar com aquela tecnologia que defendiam.
E isto independente de idade.[/quote]

Thiagosc - Virtual Machine Man

Essas são algumas conclusões de nossos amigos, e que gostariamos de fechar esse tópico pois esta sendo repetitivo e entrando em assuntos que já foram abordados.

Vou fechar essa parte com o que o Paulo Silveira disse:

Paulo Silveira - Administrador

[quote]Realmente tem muito radicalismo sem sentido. Creio que, em especial quando somos novos, a gente costuma ser um pouco mais xiita e defender nossas preferencias com unhas e dentes. Quando a gente ganha mais experiencia, percebemos que nao existe a melhor ferramenta, e sim a mais adequada para cada caso.

Sobre .NET e Java especificamente, eu costumo falar que as duas plataformas tem poderio equiparavel, sendo que a maior diferenca é a forma de pensar, e de como a comunidade se move perante a tecnologia. logo isso vira um embate JCP x Microsoft, ai entram ideologias. Eu gosto mais do Java, mas nao teria problema nenhum em encarar o .NET em um projeto que considere-o adequado. [/quote]

[quote=marcosalex]Até tentamos substituir os programas em Delphi pra C#, mas como sempre a MS tem suas "surpresinhas". Usamos o .NET 1.1 na época, quando instalamos o Service Pack 1 pra corrigir uma série de bugs tivemos a surpresa 1:

  • o programa parou de funcionar. Em contato com o suporta da MS (sim, pagávamos por ele) descobrimos que tiveram dlls (chamadas de assemblys pra não queimar o filme) que mudaram a versão mas a MS esqueceu de mudar o versionamento interno e nem a data e hora de alteração :shock: .

Depois migramos pro .NET 2.0 e tivemos a surpresa 2:

  • o programa não rodava porque uma série de componentes haviam desaparecidos, inclusive o de acesso a banco de dados. Em contato com o suporte da MS perguntamos como deveria ser a atualização e tivemos a resposta: "Menu File->New Project …"

Alguns projetos começamos a mexer com Java e mesmo com a IDE não tão produtiva quanto o Visual Studio (que só perde pro Delphi) conseguimos um resultado melhor. Mas foram dois fatores que fizeram nós desistirmos de vez:

  • tínhamos o programa feito em .NET que "engasgava" quando chegava a 300 usuários. Com uma consultoria da MS eles defenderam que tínhamos de fazer o upgrade de hardware porque nosso servidor estava fraco. Portamos a aplicação pra Java pra fazer um teste e o mesmo servidor hoje trabalha com 500 usuários simultâneos e aguenta bem[/quote]
    heheheh, engraçado tive esta mesma experiência! inclusive, eles tinham lançado na época uma ferramenta para resolver estes problemas de compatibilidade. um chamado tapa buraco VS Converter ou manualmente para quem tivesse saco

problemas a parte, mas assim como houve e ainda haja problemas com .net, o java também teve os seus problemas e possui outros. .net está progredindo a contento da comunidade e projetos, relacionados que a usufrui.

porque tanta gente odeia ? microsoft + IDE fechada + algumas particularidades da plataforma .net + frescura por parte de alguns programadores ou contratuais

Nunca trabalhei com .NET. Então não posso dizer nada. Mas os profissionais que conheço que trabalham com o framework falam sempre muito bem.

trabalho com C#…

atualmente quando vou fazer um programa prefiro fazê-lo em C# do que em Java…

mas as vezes dá vontade de programar em Java só pra lembrar como eram os velhos tempos! :stuck_out_tongue: :-o

Acho C# muito mais fácil… porque tem muitos recursos que facilitam a construção de um programa (os programas que faço são geralmente simples…). Mas mesmo os complexos eu sinto que o C# deixa mais fácil.

Enquanto os grandes do JCP discutem se vai ter closures em 2010 e programadores estão preocupados se a IDE é opensource a Microsoft lança Visual Studio 2010 e .NET 4.0:

http://features.techworld.com/applications/3206989/visual-studio-2010-a-first-look-for-developers

[quote=mochuara]Enquanto os grandes do JCP discutem se vai ter closures em 2010 e programadores estão preocupados se a IDE é opensource a Microsoft lança Visual Studio 2010 e .NET 4.0:

http://features.techworld.com/applications/3206989/visual-studio-2010-a-first-look-for-developers
[/quote]

Eu não levo muita fé nisso não. Atualizações no java só daqui a um ano ou mais, enquanto tudo isso já é disponível no c#.

O contato que tive com C# foi assim, precisava fazer uma DLL, um emissor de NF-e, entao aproveitei e resolvi aprender C# pra melhorar o curriculo, comprei ate o Use a Cabeça C#, acho que só li o primeiro capitulo, abandonei e fui pro código :lol:
E no final o projeto da DLL foi por agua abaixo, mas tambem porque trocamos o sistema de automação pra um feito em java, o outro era feito em Delphi.

Eu vejo um monte de gente aqui falando que C# facilita, que recursos e tal? Mas seria o C# ou o VS???

Mesmo o Visual Studio, acho que tenho que fazer um curso pra saber o que de fato ele tem de bom alem do arrasta solta, porque eu nao vi nada de mais, na verdade eu nao gostei de algumas coisas no Editor dele, nao gostei do autocomplete, o autoformat de codigo juro que até hoje nao consigo fazer funcionar, pesquisei no google achei umas 3 versão de tecla de atalho, mas nao rolou na epoca :roll:

Agora não sabem o quanto penei pra poder gerar uma classe a partir dos XSD da NFe, baixei uns 4 programas diferentes um do outro, até versao alpha da propria MS baixei, no final até consegui gerar a bendita classe, que nao achei muito legal, o bixou gerou uns Enum com uns nome que nao reflete, tipo a UF, o bixo fazia(nao lembro direito) tipo Enum1, Enum2, …, o nome nao era bem esse mas era por ai, acho que era TUf1, TUf2,…
Claro que devo ter penado porque nao conhecia muito, mas eu pesquisei pacas no google e mesmo assim foi dificil. Hoje eu amo o XJC do java.

Outra coisa que achei ruim foi a comunidade, os forums oficiais da MS são um nojo, acho que to acostumado com o JForum :smiley: e achei mais dificil obter respostas e achar as coisas.

Bom isso foi mais um desabafo da minha experiencia hehe, não que eu tenha desistido do C# totalmente, mas o coitado do Head Fisrt ta la na instante mofando, uma hora eu leio ele, mas no momento com relação a outras linguagem pra aprender, to querendo é Ruby, Groovy ou Scala, C# ta fora da lista por enquanto.

Bom mas com relação a topico mesmo acho que é o que ja falaram Ódio geral pela Microsoft + IDE pago.
O que vejos dos fanboys C# é que defendem pacas, mas quando tu toca no assunto dinheiro, ai falam que tem versao do VS pra desenvolvedor, que o .NET é livre que tem o #develop que tem o VS Express, mas no final todos usam a versao full sem pagar um centavo sequer, nao estou falando de Empresas sérias.

[quote=fredferrao]O contato que tive com C# foi assim, precisava fazer uma DLL, um emissor de NF-e, entao aproveitei e resolvi aprender C# pra melhorar o curriculo, comprei ate o Use a Cabeça C#, acho que só li o primeiro capitulo, abandonei e fui pro código :lol:
E no final o projeto da DLL foi por agua abaixo, mas tambem porque trocamos o sistema de automação pra um feito em java, o outro era feito em Delphi.

Eu vejo um monte de gente aqui falando que C# facilita, que recursos e tal? Mas seria o C# ou o VS???

Mesmo o Visual Studio, acho que tenho que fazer um curso pra saber o que de fato ele tem de bom alem do arrasta solta, porque eu nao vi nada de mais, na verdade eu nao gostei de algumas coisas no Editor dele, nao gostei do autocomplete, o autoformat de codigo juro que até hoje nao consigo fazer funcionar, pesquisei no google achei umas 3 versão de tecla de atalho, mas nao rolou na epoca :roll:

Agora não sabem o quanto penei pra poder gerar uma classe a partir dos XSD da NFe, baixei uns 4 programas diferentes um do outro, até versao alpha da propria MS baixei, no final até consegui gerar a bendita classe, que nao achei muito legal, o bixou gerou uns Enum com uns nome que nao reflete, tipo a UF, o bixo fazia(nao lembro direito) tipo Enum1, Enum2, …, o nome nao era bem esse mas era por ai, acho que era TUf1, TUf2,…
Claro que devo ter penado porque nao conhecia muito, mas eu pesquisei pacas no google e mesmo assim foi dificil. Hoje eu amo o XJC do java.

Outra coisa que achei ruim foi a comunidade, os forums oficiais da MS são um nojo, acho que to acostumado com o JForum :smiley: e achei mais dificil obter respostas e achar as coisas.

Bom isso foi mais um desabafo da minha experiencia hehe, não que eu tenha desistido do C# totalmente, mas o coitado do Head Fisrt ta la na instante mofando, uma hora eu leio ele, mas no momento com relação a outras linguagem pra aprender, to querendo é Ruby, Groovy ou Scala, C# ta fora da lista por enquanto.

Bom mas com relação a topico mesmo acho que é o que ja falaram Ódio geral pela Microsoft + IDE pago.
O que vejos dos fanboys C# é que defendem pacas, mas quando tu toca no assunto dinheiro, ai falam que tem versao do VS pra desenvolvedor, que o .NET é livre que tem o #develop que tem o VS Express, mas no final todos usam a versao full sem pagar um centavo sequer, nao estou falando de Empresas sérias.
[/quote]

O bom não é o visual studio, e sim a linguagem que tem diversos recursos, e que java está tardando em assimilar. Para mim um simples sharpdevelop supre as necessidades de trabalho.
Mas c# está muito afrente do java.

Enquanto no JCP, ficam nessa briguinha se terá closures, para o final do ano que vem, a MS já turbinou o .net umas 4x mais.
O problema do java é burocracia de time de desenvolvimento.

Detalhe - Netbeans está hà uns 20 anos afrente do Visual Studio.

Agora voce falou tudo, acho que foi por isso que nao vi nada demais no VS, alias pra mim deixava a desejar.

Como trabalho com Eclipse, Visual Studio 2008 e NetBeans sei das qualidade e deficiencias de cada um. Em primeiro, nem preciso falar que o editor do Eclipse e seu refatoramento dá um banho no Visual Studio. O NetBeans tb é melhor, nem dá pra comparar.
Entretanto, em matéria de componentes, o ASP.Net e C# são bem mais simples e flexíveis que o Java e JSF. Em matéria de aplicativos desktop, sinto pelos que usam o Swing e o NetBeans e que compoem os menos de 5% que utilizam o Linux e outros que não sejam a plataforma Windows para uso de desktop, mas é beeeeeeeeeeeeem melhor que o existente no NetBeans.
Acho que, se puderem experimentar, vão ver que os que estão falando muito se mexeram, deram umas pinceladas e disseram, é isso. Mas se criarem um aplicativo mesmo, com gráficos (esse nem preciso dizer que dá um banho no JFreeChart e outros que conheci), relatórios no Cristal (iReport precisa comer muito feijão e ter muito investimento), trabalhar cada componente programaticamente, não só visualmente, ver o Linq, o NHibernate, Spring .Net, com certeza mudará muito o pré-conceito sobre o que estão falando.
Caras bons que conheço manjam do que fazem, mas Mestres de verdade conhecem uma variedade de coisas e não se apegam a tecnologia X, Y ou Z, são bem ecléticos.

[quote=javamaniaco]Como trabalho com Eclipse, Visual Studio 2008 e NetBeans sei das qualidade e deficiencias de cada um. Em primeiro, nem preciso falar que o editor do Eclipse e seu refatoramento dá um banho no Visual Studio. O NetBeans tb é melhor, nem dá pra comparar.
Entretanto, em matéria de componentes, o ASP.Net e C# são bem mais simples e flexíveis que o Java e JSF. Em matéria de aplicativos desktop, sinto pelos que usam o Swing e o NetBeans e que compoem os menos de 5% que utilizam o Linux e outros que não sejam a plataforma Windows para uso de desktop, mas é beeeeeeeeeeeeem melhor que o existente no NetBeans.
Acho que, se puderem experimentar, vão ver que os que estão falando muito se mexeram, deram umas pinceladas e disseram, é isso. Mas se criarem um aplicativo mesmo, com gráficos (esse nem preciso dizer que dá um banho no JFreeChart e outros que conheci), relatórios no Cristal (iReport precisa comer muito feijão e ter muito investimento), trabalhar cada componente programaticamente, não só visualmente, ver o Linq, o NHibernate, Spring .Net, com certeza mudará muito o pré-conceito sobre o que estão falando.
Caras bons que conheço manjam do que fazem, mas Mestres de verdade conhecem uma variedade de coisas e não se apegam a tecnologia X, Y ou Z, são bem ecléticos.

[/quote]
Mas vale lembrar que as ferramentas citadas do lado do java são todas free e quebram um bom galho. Produto pago tem obrigação de ser melhor. Pena que o suporte não seja igual a ferramenta (Crystal).

Esse é o problema que se gerou no Java: tem que ser gratuito. Porque? Acha mesmo que gastar R$ 10 mil em licenças é muito pra grandes e médias empresas? Alguém aqui tem conhecimento de quanto uma empresa grande e média tem de perdas em 1 ano?
Cara, o pessoal quer pagar 1000 doletas e ter suporte equivalente a 10.000 doletas. A proporção é sempre 10 pra 1. O aberto o povo chora, pq se quiser, tem que pagar tb por suporte. Mas, mesmo pagando, num vai, o suporte é e age da mesma forma. No fim, é tudo igual, só muda que, se um quer suporte, pague. O outro pague a licença e ganhe o suporte de “brinde”.
Tá, vocês podem até alegar que, puxa, com o código fonte posso modificar. Pois é, se é assim, deveria ser bem melhor, ou então, quem modifica bem, cobra depois, sei lá.
Até hoje, depois que conheci o .Net, não me vi em uma justificativa razoável para o odiar. Como já disseram, falar mal é uma espécie de insegurança de quem não sabe.

javamaniaco, vc não leu o que escrevi. Disse “vale lembrar” e não “tem que ser gratuito”, “pago é ruim”. Disse apenas que produto pago tem que ser melhor. Ta errado? O que está errado é querer que o produto seja gratuito e de pau no pago. Isso sim é um absurdo. Mas o Crystal em certas cituações tem coisas de mais, onde o IReport da conta tranquilo. Claro que para outras ele é necessário. Mas o IReport é gratuito. Não se pode exigir dele o mesmo desempenho do Crystal. E ao contrário do que você disse, infelizmente o suporte não é igual não. Tive um problema com o Crystal na empresa onde trabalhava e o representante deles no Brasil nunca resolveu o problema. A Dona do Crystal reconheceu o problema e disse “Compre a versão nova que o problema se resolve”. Quando tenho problemas no IReport vou no forum do produto e ser for constatado Bug eles arruman rápido, ou resolvem na proxima versão, a qual eu simplismente baixo sem pagar nada. O Crystal novo exige licença nova e eu perco todo o investimento feito na versão anterior, simplismente porque o fabricante se recusa a resolve-lo. Se vamos comparar as coisas precisamos comparar direito. Só comparar benefícios de folhetos do fabricante não vale. Nós é que usamos, nós é que sabemos onde é efetivo e onde não é.
Quanto a alterar código fonte de um sistema complexo open-source. Quem fizer isso é louco. Precisa de uma equipe gigante pra isso, ja que ele é construito com uma equipe gigante (o mundo todo). Nunca ouvi falar de um Spring customizado por exemplo. Isso aí nem conta como ponto para o open-source ao meu ver.
Mas concordo que falar mau é insegurança. Porém pelo discutido até aqui não vi motivos técnicos para se adotar C# ao invés de java. Creio que o contrário tambem se aplique. Então a decisão ao meu ver não é técnica e sim de outra natureza.

[quote=javamaniaco]No fim, é tudo igual, só muda que, se um quer suporte, pague. O outro pague a licença e ganhe o suporte de “brinde”.
[/quote]

A Microsoft não dá suporte nenhum de “brinde”. Se quer suporte vai ter que pagar da mesma forma.

Concordo com o “conhecer como as coisas funcionam”, por exemplo, saber como um sistema operacional ou compilador funciona por já ter programado um, mas não sobre a tecnologia.

Um das qualidades de conhecer é saber julgar adequadamente e quanto mais se conhece, mais se sabe separa o joio do trigo. Portanto os melhores sempre terão preferências por determinadas tecnologias, e, diferentemente dos demais, saberão explicar o por quê.

Se por “conhecer como funciona” você quer dizer “sabe a sintaxe” então você confundindo cabelereiros e estilistas de moda com profissionais de verdade. Quem se importa com “sintaxes” são ignorantes.

Sim, e o LINQ é uma gambiarra.

[quote=mvargens]javamaniaco, vc não leu o que escrevi. Disse “vale lembrar” e não “tem que ser gratuito”, “pago é ruim”. Disse apenas que produto pago tem que ser melhor. Ta errado? O que está errado é querer que o produto seja gratuito e de pau no pago. Isso sim é um absurdo. Mas o Crystal em certas cituações tem coisas de mais, onde o IReport da conta tranquilo. Claro que para outras ele é necessário. Mas o IReport é gratuito. Não se pode exigir dele o mesmo desempenho do Crystal. E ao contrário do que você disse, infelizmente o suporte não é igual não. Tive um problema com o Crystal na empresa onde trabalhava e o representante deles no Brasil nunca resolveu o problema. A Dona do Crystal reconheceu o problema e disse “Compre a versão nova que o problema se resolve”. Quando tenho problemas no IReport vou no forum do produto e ser for constatado Bug eles arruman rápido, ou resolvem na proxima versão, a qual eu simplismente baixo sem pagar nada. O Crystal novo exige licença nova e eu perco todo o investimento feito na versão anterior, simplismente porque o fabricante se recusa a resolve-lo. Se vamos comparar as coisas precisamos comparar direito. Só comparar benefícios de folhetos do fabricante não vale. Nós é que usamos, nós é que sabemos onde é efetivo e onde não é.
Quanto a alterar código fonte de um sistema complexo open-source. Quem fizer isso é louco. Precisa de uma equipe gigante pra isso, ja que ele é construito com uma equipe gigante (o mundo todo). Nunca ouvi falar de um Spring customizado por exemplo. Isso aí nem conta como ponto para o open-source ao meu ver.
Mas concordo que falar mau é insegurança. Porém pelo discutido até aqui não vi motivos técnicos para se adotar C# ao invés de java. Creio que o contrário tambem se aplique. Então a decisão ao meu ver não é técnica e sim de outra natureza.[/quote]
Você adota sim, C# qdo tem que fazer uma aplicação desktop que exija de certas caracteristicas da máquina e seu cliente é Windows. O Java não se comunica bem com SO Windows se não por meio de até mesmo ter de programar em C++ e integrar ou chamar DLLs e ter que manipulá-las. É um porre. Já fez um sistema com leitura biométrica em java? Suuuuuuuper produtivo, quase morri quando vi que em C# era bem mais simples.
Quanto ao seu problema no Crystal, infelizmente tb tenho com os gratuitos. Mesmo abrindo um chamado aos bugs, não quer dizer que seja resolvido rápido (tá, o pessoal do IReport, na mão de um cara só, claro, é bem mais ligeiro que a maioria), mas nem por isso vou dizer que não dá na mesma. Se eu precisar pra ontem, vou pagar, se quiser, um especialista e isso, não será barato como comprar outra licença. E tem mais, nem dá pra comparar o iReport atual, feito sobre o NetBeans, que mata vários recursos do JasperReports com váaaaaaaarios bugs. Usou né? Como é gratuito, cai na ideia de que é de graça, aceite isso por enquanto até que eu resolva.

[quote=Thiagosc]
Concordo com o “conhecer como as coisas funcionam”, por exemplo, saber como um sistema operacional ou compilador funciona por já ter programado um, mas não sobre a tecnologia.

Um das qualidades de conhecer é saber julgar adequadamente e quanto mais se conhece, mais se sabe separa o joio do trigo. Portanto os melhores sempre terão preferências por determinadas tecnologias, e, diferentemente dos demais, saberão explicar o por quê.

Se por “conhecer como funciona” você quer dizer “sabe a sintaxe” então você confundindo cabelereiros e estilistas de moda com profissionais de verdade. Quem se importa com “sintaxes” são ignorantes.

Sim, e o LINQ é uma gambiarra.[/quote]
Conhecer e uma coisa, saber usar é outra totalmente diferente e ter usado é mais ainda. Quando usamos, mas de verdade e não em pet projects, sabemos o que cada ferramenta tem de bom e ruim. É quando vc vai além dos 25, 30 livros sobre o assunto e percebe que precisa ir direto a documentação porque as páginas acabaram e não tem mais nada a não ser entender como tudo funciona e bem, achar as limitações, se é que em entende.
Pelo que percebo, você mal entende do que fala, e compreende o básico. Quer discutir comigo o que podemos fazer em cada plataforma? Quer discutir o que um Chart em Java pode ir e o que em .Net pode ir? Ou onde o Crystal falha e o JasperReports é bom e vice-versa? Quer entender onde um framework como o ASP.NET tem componentes mais flexíveis que seu meio colega-irmão-primo em Java, chamado JSF? Prefere que eu diga porque fazer aplicações desktop em .Net é mais performático e utiliza melhor os recursos do SO Windows do que a gambiarra do Swing que mistura de tudo e no fim, fica pesadão?
Diferente de você, eu usei e muito bem. Onde o visual parou, tive que ir além, no código e vi coisas que me senti frustrado por no Java, em seus recursos “similares”, ter que fazer mais gambiarras.
Claro que você pode até dizer, mas JSF nunca foi legal. Mas é o oficial, não é? Se for comparar e dizer qual é cool, no mesmo estilo, onde java mataria o ASP.NET, diria Wicket.
Há, mas tem o tal de Grails, Spring MVC e outros. Vai de ASP.Net MVC, fantástico.
E porque LINQ é gambiarra? Se for assim, também acho a JPA uma puta gambiarra que tão arrumando agora. Não vale falar do Hibernate, pq tem o NHibernate. No seu lugar, se entende das coisas, comece a mostrar suas cartas, porque tá falando como papagaio e na hora do vamos ver, sai voando.

uma curiosidade, para os que estão por dentro do .net C# 4.0, quais são as boas novas ? seria bom mencionar o que a versão 3.x anterior tinha!