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

Peguei esse documento no msdn:

Tudo que eu não queria introduziram na linguagem. O dynamic programming, que você pode declarar um tipo de variável que serve para tudo.

Isso é terrível para a performance da aplicação.

[quote=juliocbq]Tudo que eu não queria introduziram na linguagem. O dynamic programming, que você pode declarar um tipo de variável que serve para tudo.
Isso é terrível para a performance da aplicação.[/quote]

Será que se resume a isso? Esse documento só fala de integração com COM e Windows.

[quote=ViniGodoy][quote=juliocbq]Tudo que eu não queria introduziram na linguagem. O dynamic programming, que você pode declarar um tipo de variável que serve para tudo.
Isso é terrível para a performance da aplicação.[/quote]

Será que se resume a isso? Esse documento só fala de integração com COM e Windows. [/quote]
É o que encontrei no msdn. Mas o que me desanimou foi esse dynamic. A linguagem não precisava disso.

Aqui um video falando do futuro do c#.

[quote=javamaniaco][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.[/quote]

Para quem você está respondendo isso? Eu nem falei de JSF e Swing. E quem se importa, são apenas APIs baseadas em determinados conceitos.

LINQ é uma gambiarra porque é uma forma de adicionar uma certa flexibilidade a uma linguagem que não foi projetada para isso. Ou seja, é um bandaid. Existem formas melhores e mais fáceis de se trabalhar fora do universo das linguagens derivadas de Algol.

Em algumas linguagens você poderia criar todas as features que quisesse. Diferentemente do .Net, onde você come da mão da Microsoft e se ela dizer “Pula!” você responde “Até onde?”, ou então do Java, onde passarão 10 anos no JCP discutindo a utilidade de algo.

[quote=javamaniaco]
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]

Posso te responder o mesmo. Sim você adota o Java se quer fazer uma aplicação Desktop que rode no Windows, Linux, Mac, freeBsd e outras plataformas. Qual aplicação? Não sei, mas se requisito for esse vai ser um porre fazer tudo em C++.
Poque o sistema biométrico ficou dificil no java?
Ok, você tem problemas com gratuitos, eu tambem, só que não pago um centavo por eles. Mas o Crystal…basta pesquisar quanto custa a licença. Se a coisa é gratuita ela é de graça. Se não serve para você não use. Mas se serve não gaste um centavo. Se é necessário pagar, pague, senão não pague. E na maioria dos casos em java não é. Não vi ninguem passar vontade com o NetBeans ou Eclipse porque usou gratuito e não um pago, isso porque o gratuito atende. Se não atende você deve usar um que atenda, mas quando se paga por ele, não deve existir a idéia que ele não atenda como o gratuito não atende e tudo bem, principalmente a parte do suporte. Esse pensamento é absurdo completo, porque se não atende vai te gerar um prejuizo. No caso que citei, usar o Jasper seria muuuuuito melhor que usar Crystal, porque funcionava e o Crystal não, mas tinha que usar Crystal por causa do investimento feito nele e não porque ele éra necessário. Questão complicada de resolver. Não resolveu, mas se criou uma gambiarra medonha para satisfazer a vontade do frabricante(não arrumar) e cliente (use o que comprei e deve funcionar como diz o manual).
Se é free e gratuito não se pode fazer exigências que se faz a um pago. E além do mais Crystal funciona com java tranquilamente o que mataria ele como uma vantagem ao uso do C#.
E para o caso de quem estiver lendo isso não se confundir, o Crystal é muito melhor que o IReport com JasperReport, e tem obrigação de ser mesmo, mas o IReporte/ Jasper atende, eu diria a maioria dos casos. Se o suporte do Ireport/ Jasper descepsiona não sei, mas sendo gratuito simplismente não use se não é bom e não tenha nenhum prejuizo, ao contrário do Crystal que se não for bom, ja pagou um olho da cara e não tem volta. Agora não entendi essa parte de precisar de um especialista que encarece o uso de software gratuito. Todos os lugares onde trabalhei, quem cuidava dos servidores Windows e IIS geralmente eram certificados Microsoft. Um cara assim não ganha pouco. Porque um especialista Unix, JBoss tem que ganhar menos se vai fazer praticamente a mesma coisa? Porque tem menos? Ai é questão de mercado, lei da oferta e procura e não do software em si. Mesmo o caso do Crystal, ele é melhor em funcionalidade e não em facilidade. Ja usei os dois e a curva de aprendizado é praticamente a mesma.

[quote=mvargens][quote=javamaniaco]
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]

Posso te responder o mesmo. Sim você adota o Java se quer fazer uma aplicação Desktop que rode no Windows, Linux, Mac, freeBsd e outras plataformas. Qual aplicação? Não sei, mas se requisito for esse vai ser um porre fazer tudo em C++.
Poque o sistema biométrico ficou dificil no java?
Ok, você tem problemas com gratuitos, eu tambem, só que não pago um centavo por eles. Mas o Crystal…basta pesquisar quanto custa a licença. Se a coisa é gratuita ela é de graça. Se não serve para você não use. Mas se serve não gaste um centavo. Se é necessário pagar, pague, senão não pague. E na maioria dos casos em java não é. Não vi ninguem passar vontade com o NetBeans ou Eclipse porque usou gratuito e não um pago, isso porque o gratuito atende. Se não atende você deve usar um que atenda, mas quando se paga por ele, não deve existir a idéia que ele não atenda como o gratuito não atende e tudo bem, principalmente a parte do suporte. Esse pensamento é absurdo completo, porque se não atende vai te gerar um prejuizo. No caso que citei, usar o Jasper seria muuuuuito melhor que usar Crystal, porque funcionava e o Crystal não, mas tinha que usar Crystal por causa do investimento feito nele e não porque ele éra necessário. Questão complicada de resolver. Não resolveu, mas se criou uma gambiarra medonha para satisfazer a vontade do frabricante(não arrumar) e cliente (use o que comprei e deve funcionar como diz o manual).
Se é free e gratuito não se pode fazer exigências que se faz a um pago. E além do mais Crystal funciona com java tranquilamente o que mataria ele como uma vantagem ao uso do C#.
E para o caso de quem estiver lendo isso não se confundir, o Crystal é muito melhor que o IReport com JasperReport, e tem obrigação de ser mesmo, mas o IReporte/ Jasper atende, eu diria a maioria dos casos. Se o suporte do Ireport/ Jasper descepsiona não sei, mas sendo gratuito simplismente não use se não é bom e não tenha nenhum prejuizo, ao contrário do Crystal que se não for bom, ja pagou um olho da cara e não tem volta. Agora não entendi essa parte de precisar de um especialista que encarece o uso de software gratuito. Todos os lugares onde trabalhei, quem cuidava dos servidores Windows e IIS geralmente eram certificados Microsoft. Um cara assim não ganha pouco. Porque um especialista Unix, JBoss tem que ganhar menos se vai fazer praticamente a mesma coisa? Porque tem menos? Ai é questão de mercado, lei da oferta e procura e não do software em si. Mesmo o caso do Crystal, ele é melhor em funcionalidade e não em facilidade. Ja usei os dois e a curva de aprendizado é praticamente a mesma.[/quote]

Pelo pouco que usei de jasper e crystal, posso dizer que o jasper é uma ferramenta ótima. Atendeu tudo que eu precisava, com a vantagem do opensource.

Sobre ferramentas de trabalho. Acho que vivemos o mesmo que acontece com fotos e publicidade. Se você compra uma revista da playboy, vc está comprando fotografias completamente adulteradas pelo marketing, e a mesma coisa acontece com nossas ferramentas de trabalho. A publicidade acaba nos dando uma idéia completamente diferente da realidade.
Não levem a mal, mas hoje eu penso, o que eu faria com java, ou c#, que não faria em c++?

*Coleta de lixo automática? Não seria nem um pouco cansativo implementar uma classe que faça isso.
*Máquina virtual? Vantagem que não preciso recompilar código, mas em contrapartida a aplicação sofre com perda de performance.
*Multiplataforma? basta ter toolchains para o seu compilador.

então a maioria das funcionalidades que vemos não tem tanta utilidade. Salvo conduto que java possui ferramentas ótimas, mas não a nada na linguagem que diga ser melhor que outras, e a mesma coisa com c#.

E esse dynamic ae foi uma dessas publicidades ao meu ver no, c#.

Se você usar o mingw, e as bibliotecas padrão iso c++ não precisará reescrever uma linha de código, e vai poder compilar para todas as plataformas.

"

[quote=juliocbq]
Se você usar o mingw, e as bibliotecas padrão iso c++ não precisará reescrever uma linha de código, e vai poder compilar para todas as plataformas.[/quote]

Mas a velocidade de desenvolvimento seria a mesma do .Net e Java ? Estou perguntando porque não sei mesmo e não para retrucar :smiley: .

Voltando ao titulo do Post:

Leia o cabeçalho do site: “Notícias, artigos e o maior fórum brasileiro sobre Java

É um forum de JAVA, espera o que, que todos odeiam JAVA?

[quote=mvargens][quote=juliocbq]
Se você usar o mingw, e as bibliotecas padrão iso c++ não precisará reescrever uma linha de código, e vai poder compilar para todas as plataformas.[/quote]

Mas a velocidade de desenvolvimento seria a mesma do .Net e Java ? Estou perguntando porque não sei mesmo e não para retrucar :smiley: .[/quote]

Usando o QT, da nokia dá para ter a mesma produtividade e desenvolvimento.
Dá uma olhada no link, nele dá para ver a quantidade de empresas que estão usando, inclusive o próprio google em seus produtos.

http://qt.nokia.com/products

Mas não dá para negar que as ferramentas java são numerosas e muito produtivas mesmo. O que eu queria dizer, é que não há vantagens tão grandes, como dizem, em se ter máquinas virtuais, e o assunto sobre multiplataforma. Tudo isso se consegue com bons compiladores nativos.

[quote=Hellmanss]Voltando ao titulo do Post:

Leia o cabeçalho do site: “Notícias, artigos e o maior fórum brasileiro sobre Java

É um forum de JAVA, espera o que, que todos odeiam JAVA?

[/quote]

O fórum é de java, mas não somos do taliban, e muito menos ignorantes.

[quote=juliocbq][quote=Hellmanss]Voltando ao titulo do Post:

Leia o cabeçalho do site: “Notícias, artigos e o maior fórum brasileiro sobre Java

É um forum de JAVA, espera o que, que todos odeiam JAVA?

[/quote]

O fórum é de java, mas não somos do taliban, e muito menos ignorantes.[/quote]

mas parece, sempre a mesa coisa.
“mimimi .NET mimimi .NET”

:lol: :lol:

[quote=Hellmanss][quote=juliocbq][quote=Hellmanss]Voltando ao titulo do Post:

Leia o cabeçalho do site: “Notícias, artigos e o maior fórum brasileiro sobre Java

É um forum de JAVA, espera o que, que todos odeiam JAVA?

[/quote]

O fórum é de java, mas não somos do taliban, e muito menos ignorantes.[/quote]

mas parece, sempre a mesa coisa.
“mimimi .NET mimimi .NET”

:lol: :lol: [/quote]

E qual é a diferença do mimimi java?

Querer vestir camisa de time de futebol é besteira na nossa profissão. Temos que ser profissionais e saber analisar as coisas sem sermos parciais.

[quote=juliocbq]
E qual é a diferença do mimimi java?

Querer vestir camisa de time de futebol é besteira na nossa profissão. Temos que ser profissionais e saber analisar as coisas sem sermos parciais. [/quote]

Por acaso ja viu POST meu em Forum de .NET com algum “mimimi”?

E M!@#% nenhuma de sermos parciais, é apenas mais uma frase pronta que você viu alguem escrevendo em algum lugar… .NET é ruim mesmo(ponto)

http://www.guj.com.br/posts/list/141419.java
Lê os post do “sergiotaborda” que eu economizo teclado e dedos…

[quote=Hellmanss][quote=juliocbq]
E qual é a diferença do mimimi java?

Querer vestir camisa de time de futebol é besteira na nossa profissão. Temos que ser profissionais e saber analisar as coisas sem sermos parciais. [/quote]

Por acaso ja viu POST meu em Forum de .NET com algum “mimimi”?

E M!@#% nenhuma de sermos parciais, é apenas mais uma frase pronta que você viu alguem escrevendo em algum lugar… .NET é ruim mesmo(ponto)

http://www.guj.com.br/posts/list/141419.java
Lê os post do “sergiotaborda” que eu economizo teclado e dedos…[/quote]

Ta bom Pinky, chama o cerebro e vão tocar um smells like teen spirit e tentar dominar o mundo.

Agora por favor nos de licença para continuar a discussão que estava tranquila até o momento!

Helmanss, você pode dar argumentos técnicos, ou veio aqui só para gerar flame mesmo?

Esse tópico está em 10 páginas, com um número absurdamente baixo de flames. Eu imaginei que teria que tranca-lo lá pela página 3, e venho acompanhando a discussão desde o início. Não venha jogar gasolina na fogueira agora, ok? Se não tem nada útil para falar, é muito melhor se omitir.

[quote=juliocbq][quote=mvargens][quote=juliocbq]
Se você usar o mingw, e as bibliotecas padrão iso c++ não precisará reescrever uma linha de código, e vai poder compilar para todas as plataformas.[/quote]

Mas a velocidade de desenvolvimento seria a mesma do .Net e Java ? Estou perguntando porque não sei mesmo e não para retrucar :smiley: .[/quote]

Usando o QT, da nokia dá para ter a mesma produtividade e desenvolvimento.
Dá uma olhada no link, nele dá para ver a quantidade de empresas que estão usando, inclusive o próprio google em seus produtos.

http://qt.nokia.com/products

Mas não dá para negar que as ferramentas java são numerosas e muito produtivas mesmo. O que eu queria dizer, é que não há vantagens tão grandes, como dizem, em se ter máquinas virtuais, e o assunto sobre multiplataforma. Tudo isso se consegue com bons compiladores nativos.[/quote]

Legal o link. Se a Nokia adotou com certeza deve ter algo interessante.

"

[quote=ViniGodoy]Helmanss, você pode dar argumentos técnicos, ou veio aqui só para gerar flame mesmo?

Esse tópico está em 10 páginas, com um número absurdamente baixo de flames. Eu imaginei que teria que tranca-lo lá pela página 3, e venho acompanhando a discussão desde o início. Não venha jogar gasolina na fogueira agora, ok? Se não tem nada útil para falar, é muito melhor se omitir.[/quote]

ok mestre do magos.

[quote=mvargens][quote=juliocbq][quote=mvargens][quote=juliocbq]
Se você usar o mingw, e as bibliotecas padrão iso c++ não precisará reescrever uma linha de código, e vai poder compilar para todas as plataformas.[/quote]

Mas a velocidade de desenvolvimento seria a mesma do .Net e Java ? Estou perguntando porque não sei mesmo e não para retrucar :smiley: .[/quote]

Usando o QT, da nokia dá para ter a mesma produtividade e desenvolvimento.
Dá uma olhada no link, nele dá para ver a quantidade de empresas que estão usando, inclusive o próprio google em seus produtos.

http://qt.nokia.com/products

Mas não dá para negar que as ferramentas java são numerosas e muito produtivas mesmo. O que eu queria dizer, é que não há vantagens tão grandes, como dizem, em se ter máquinas virtuais, e o assunto sobre multiplataforma. Tudo isso se consegue com bons compiladores nativos.[/quote]

Legal o link. Se a Nokia adotou com certeza deve ter algo interessante.[/quote]

A próxima versão suportará maemo e symbian, fora novas melhorias nas ferramentas, como api para animações, rich application, e outras coisas…