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

159 respostas
G

Vejo aqui no fórum, que muita gente fala mal do C#. Muitas pessoas pensam da forma “Java é a melhor coisa do mundo, o resto é lixo.”

Mas pelo o que eu vejo, C# sinceramente, em alguns casos, está muito a frente do Java. Tem muitos recursos, por exemplo, switch com strings, keyword “using”, LINQ* e etc. Outra coisa que noto, Java é muito pouco usado para aplicativos desktop. É difícil ver um programa Java para o usuário final usar no dia-a-dia. Já C# é diferente.

Simplesmente, quero saber porque tanta gente odeia o C#/.NET? Porque? Porque é da Microsoft? Só roda perfeitamente no Windows? (Sim, .NET é multiplataforma, Mono.)?

Também queria saber, aos usuários C# aqui do GUJ, porque usam essa linguagem ao invez do Java?
Todos aqui estão livres para falar bem o mal do .NET. Mas por favor. Sem flames.

* Para quem não sabe o que é LINQ, é um recurso de algumas linguagems do .NET, do tipo: List<int> a = new List<int>() {5,8,13,1,3,11}; foreach (int i in a.Where(x => x > 10)) Console.WriteLine(i);

Esse código pega os numeros maiores que 10 da Lista.

159 Respostas

V

Porque é da Microsoft

T

Por experiência aqueles que sentem a necessidade de “diminuir” a concorrência são justamente os programadores de .Net. Jamais vi nenhum desenvolvedor Java perdendo tempo para falar besteira sobre eles e tampouco indo a fóruns .Net para trollar. É muito mais fácil você ouvir falarem mal de Ruby ou algo assim por causa da cultura “rockstar” deles que acaba criando mal estar entre alguns profissionais.

O .Net tem problema de vendor lock-in, pois se você realmente deseja usá-lo para aplicações mais sérias precisará usar as ferramentas da Microsoft. Os padrões publicados do C# não cobrem tudo o que é usado em .Net e ainda existem questões sobre patentes caso você opte por soluções como o Mono. O Mono sempre estará um passo atrás da Microsoft e jamais será tão bom quanto, além de ser muito pior do que Java.

Fora isso existem problemas de design. A linguagem C# é uma zona. Algo que começou como uma mistura de Java e C++ descambou para o ridículo adicionando-se features atrás de features sem nenhum critério. Java preza pela simplicidade e isso é uma coisa boa. Features como o LINQ nada mais são do que hacks para consertar algo que não presta por definição, afinal de contas linguagens como o Lisp podem fazer isso e muito mais há tempos.

Não vejo muito sentido em C#, pois se desejo algo simples e rápido posso usar Java e se desejo maior flexibilidade e expressividade posso usar Lisp.

G

É exatamente isso que eu digo. Pelo que vi, a maior reclamação é ser da Microsoft. Isso não é problema. Pois a Microsoft apoia o Mono. (veja: http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/release.aspx) a Microsoft está “recomendando” o Mono. Não há problemas. Como disseram, sim, o Mono está muito atrás do .NET da Microsoft, mas garanto que o projeto um dia vai crescer e se tornar equivalente ao C# de hoje. Não tendo problemas do tipo “vendor lock-in, microsoft sucks, closed-source” e etc.

T

Você fez uma pergunta e teve a sua resposta. Por favor faça um quote de onde está “Microsoft sucks” no texto que escrevi, caso contrário pare de falar besteiras.

O problema com o Mono é com patentes. Apenas recentemente a Microsoft fez uma “community promise” sobre não processar usuários do Mono, mas não sei quais implicações legais de uma “promessa” e se inclui tudo o que é necessário para interoperabilidade, i.e., bibliotecas, ou apenas a linguagem e bytecodes em si.

Aí é só uma questão de se você confia na Microsoft. Uma empresa com um histórico de enfiar faca nas costas de quem quer que seja merece confiança?

Tecnologia por tecnologia, então Lisp é superior.

G

Thiagosc:
Você fez uma pergunta e teve a sua resposta. Por favor faça um quote de onde está “Microsoft sucks” no texto que escrevi, caso contrário pare de falar besteiras.

O problema com o Mono é com patentes. Apenas recentemente a Microsoft fez uma “community promise” sobre não processar usuários do Mono, mas não sei quais implicações legais de uma “promessa” e se inclui tudo o que é necessário para interoperabilidade, i.e., bibliotecas, ou apenas a linguagem e bytecodes em si.

Aí é só uma questão de se você confia na Microsoft. Uma empresa com um histórico de enfiar faca nas costas de quem quer que seja merece confiança?

Tecnologia por tecnologia, então Lisp é superior.

Então, por favor faça um quote de onde eu disse que VOCÊ falou isso. Eu disse isso dos “odiadores” C# em geral. Não de você.
E sim, apesar de ser usuário Linux, confio na Microsoft. Que na verdade, estou postando isso pelo Windows 7 =)

E sim, antes de dizer que eu falei besteiras leia o meu post corretamente. Obrigado.

P

Oi Guga!

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.

abracos

M

ja faz um tempinho que não mecho com .net, mais lembro que quando eu estava fazendo isso, e quando estava estudando eu estava achando a API do .net meio “estranha”, talvez meio desorganizada… claro que isso é só uma impressão, uma “opinião” minha, do por que “eu” gosto mais de java, considero mais “prazeroso” usar java enquanto eu to programando, sei la… é gosto mesmo…

agora, 2 coisas que faço questão de ressaltar, a primeira é que .net tem suas vantagens, sempre soube disso, e acho no minimo controverso dizer que uma das plataformas (ou mesmo linguagens no caso de c# e a linguagem java) é melhor do que a outra… eu ter achado a API “estranha” como eu disse pode muito bem ser por que estou acostumado com java, e que tenho um pé atras com a microsoft, de fato… a segunda coisa que ia dizer é que acho ridiculo esses tipos de troolzisses que vc descreveu… e sei que sempre tem, para ambos os lados.

M

Bom, não sou um usuário assiduo do forum, por falta de tempo, mas não vejo muita gente falando mal não. Pelo menos no meio profissional em que estive. Também não falam bem. Mas acho que o motivo do pessoal de java não ser fan de .Net é simplismente por ser da M$, que é uma empresa que tentou por várias vezes brekar o java. Isso ja é motivo para não gostar dos caras. E o fato mais importante pelo menos para mim é que o .Net em si não tem nada a mais que seja significativo o suficiênte para me fazer trocar de plataforma. Hoje java não é mais linguagem é uma plataforma gigantesca. Quase todas as soluções que você vai criar no .Net é possivel fazer em java de forma padronizada. Tirando claro as integrações com os produtos da M$ que tem um certo custo (escravidão). Acho que ninguém gosta da estratégia dela, e não é só os usuários de java, a União Européia também. Mas creio que a falta de padrões seja o motivo principal. Talvez em termos de linguagem seja trocar 6 por meia duzia, mas em termos de plataforma a coisa é meio gritante.

V

Acho C# uma linguagem mais completa que java.

O maior problema está mesmo com .NET, ou é isso ou nada. As melhores opções são semre MS em tudo.
Com java tenho um maior nível de escolha posso usar produtos da Oracle, IBM, etc…
São inumeras as opções de software livre.

Concordo com o que o Paulo Silveira disse.

Essa e a mesma galerinha que cisma de rodar Crysis no Linux.

F

Também concordo com o Paulo Silveira.

Porem também acho curioso os casos de rejeição. Na minha opinião o ódio é por causa das seguintes coisas:

  1. .NET surgiu com o objetivo de ser a reação resultante do domínio do Java sob um setor do mercado ignorado pela Microsoft.
  2. Cópia por melhor que seja sempre será uma cópia, C# sempre será lembrado como a alternativa mais simples (no sentido ruim da palavra) em relação ao Java ou como a linguagem que tem como objetivo ser melhor do Java; no mundo da tecnologia fazer o mesmo que a outra faz mesmo que seja um pouco mais simples não é o suficiente.
  3. Equanto Java está preocupado em tornar seu mundo um pouco melhor C# está preocupado em criar um mundo paralelo em formato semelhante sem novidades relavantes.
  4. Enquanto Java se preocupa com a questão “ser multiplataforma”, .NET aparenta utilizar a mesma idéia para amenizar uma situação irritante dentro do seu próprio ambiente onde o mesmo software não pode ser executado no Windows de versões diferentes por conta da incompatibilidade entre versões.
  5. A Microsoft sempre passou a idéia (propositalmente) de que seus produtos (existem exeções) são para pessoas menos capacitadas tecnicamente; lembrando a idéia do “é só arrastar e soltar que está quase pronto”.
  6. Por alguma razão estranha quem trabalha com as ferramentas da Microsoft fica tentado a gastar dinheiro ou se tornar pirata de alguma biblioteca que faz alguma firula bonitinha que no contexto do projeto é irrelevante.

flws

V

Até gosto do c#, mexi semana passada aqui no trabalho, não conheço muito mas parece ser uma boa linguagem, o que me irritou foi o editor, pq to acostumado com o eclipse, que adiciona os imports e tal huahuahauhauh

Mas fora isso não tive muitas dificuldades com a linguagem, até gostei um pouco !! Mas ainda assim, prefiro JAVA !!

J

Normalmente, é muito difícil conversar com um javeiro ou sharpeiro. São pessoas que não possuem nenhum conhecimento da computação, e se acham muito por falarem a língua do momento(da moda).

Este tópico não foi muito feliz por causa do tema.

Respondendo a pergunta, eu sinceramente, prefiro em muitos casos codificar em c# e usar mono. Muitos dos projetos que trabalho estão codificados em java também. São aplicações que acompanham hardware e funcionam perfeitamente.
Se eu precisar trabalhar com outra linguagem, para mim não faria a menor diferença, no final, todo código vira instrução de máquina específica.

J

Bom, vou comentar pra responder uma questão que ficou “no ar” no tópico.

.NET geralmente é mais usado que Java para aplicações Desktop por causa da melhor performance da API Windows Forms frente ao Swing. Isso por que os Windows Forms acessam código nativo do Windows (as API’s Win32 e MFC), ou seja, os Forms rodam fora do runtime .NET, melhorando a performance, mas prejudicando a multiplataforma (Swing depende apenas do próprio Java).

Por isso a API Windows Forms no Mono depende da biblioteca libwine.

E, Xará (juliocbq) seu comentário sobre os “javeiros” e “sharpeiros” só mostra o mesmo preconceito que existe nos xiitas dessas linguagens.

L

Se vc ver o que tem de traz do framework .net vai ver uma tremenda gambiarra… não gosto do jeito que ele trabalha… seus componentes são muito presos ao framework… ele não te da flexibilidade… vc não pode por exemplo usar mais de um frame que nem no java… td é amarrado… e para controlar os objetos de visão, estilos, css e td referente a parte visual ele manda um campo hidden gigantesco com dados criptografados para o servidor… vc controla td do lado do servidor… pode dar a ilusão de ser mais rapido e produtivo para iniciantes mais se vc for analisar bem o “por baixo dos panos” é uma tremenda Gambiarra…

F

juliocbq:
Respondendo a pergunta, eu sinceramente, prefiro em muitos casos codificar em c# e usar mono. Muitos dos projetos que trabalho estão codificados em java também. São aplicações que acompanham hardware e funcionam perfeitamente.
Se eu precisar trabalhar com outra linguagem, para mim não faria a menor diferença, no final, todo código vira instrução de máquina específica.

Concordo com este ponto de vista também.

Mas já ouvi este tipo de discurso de quem programava em VB, e no final do projeto a irritação era enorme por conta das incompatibilidades que existiam dentro do proprio sistema operacional; simplesmente não dava para executar em versões diferentes do windows e porisso os recursos interessantes (visual e performance) eram podados.

A questão talvez não seja ser a melhor ou a pior, mas acho que quem adota os sistemas da Microsoft tem que saber o que está comprando…se vai trocar a versão do SO na empresa, que troque de todas as máquinas, se vai adotar .NET assuma as despesas e compre as ferramentas necessárias. O chato é ver a galera falando que .NET é bacaninha utilizando software pirata e se matando com questões de infra-estrutura na implantação sem assumir que fez besteira. Para piorar, no ponto alta da pressão acaba utilizando Java para construir algum tipo de gambi doentia. Várias vezes eu verifiquei softwares desenvolvidos em outras linguagens sem real necessidade; ou èra por não querer gastar mais dinheiro comprando mais componentes ou simplesmente para utilizar alguma coisa “da moda == Java” almejando status perante os clientes.

flws

J

juliofsn:
Bom, vou comentar pra responder uma questão que ficou “no ar” no tópico.

.NET geralmente é mais usado que Java para aplicações Desktop por causa da melhor performance da API Windows Forms frente ao Swing. Isso por que os Windows Forms acessam código nativo do Windows (as API’s Win32 e MFC), ou seja, os Forms rodam fora do runtime .NET, melhorando a performance, mas prejudicando a multiplataforma (Swing depende apenas do próprio Java).

Por isso a API Windows Forms no Mono depende da biblioteca libwine.

E, Xará (juliocbq) seu comentário sobre os “javeiros” e “sharpeiros” só mostra o mesmo preconceito que existe nos xiitas dessas linguagens.

Digo javeiros e sharpeiros as pessoas que acham que computação é linguagem de programação, e acabam caindo em discuções inúteis. Da mesma maneira existem vbeiros, pascaleiros, cppeiros e assim por diante.

Um processador vai executar somente assembler específico dele, e isso inclui a máquina hipotética(virtual) java, e a mono. Então não há porque odiar uma e bendizer outras.

Só corrigindo uma coisa. O Winforms tem performance mais alta que o swing não devido a acessar código nativo. Isso porque mono também implementa winforms, mas devido a máquina hipotética rodar um nível mais baixo que a do java. Dot net roda praticamente no kernel do windows.

L

Respondendo a pergunta: pq tanta gente odeia, ou pq tanto ‘javeiro’ odeia?
Eu trabalho, na maior parte do tempo, com Java. Já trabalhei com C#, e sinceramente, gostei.
Do que senti falta: COMUNIDADE. Não achei nada em fóruns, é o MSDN e só, praticamente… difícil achar gente disposta a colaborar.
Xiita a gente acha em todo canto, mas sinceramente, conheço muito mais ‘javeiro’ xiita que ‘sharpeiro’. A comunidade Java - sendo aqui um pouco crítico - é, em geral, muito vaidosa; quem tem mais posts em fóruns, quem tem mais artigos ou tutoriais publicados, quem tem o blog de tecnologia mais acessado e por aí vai.
Aquela postura “a resposta é Java, a pergunta eu nem sei qual é ainda” persiste, ainda.
Mas normalmente é questão de costume, sinceramente. Como só desenvolvo pra web, praticamente, se posso optar, escolho Java por comodidade: produzo mais rápido, já conheço as ferramentas, entre outras vantagens PRA MIM.
Agora se fosse standalone… sei não. Talvez eu caísse nos braços da Microsoft.
Quanto ao Lock-in, esse negócio é meio punk mesmo. A empresa que ‘compra’ o projeto tem que ter colhões financeiros pra bancar isso tudo. Eu ‘ganho’ as licenças da Microsoft por parceria da faculdade, mas o cliente tem que comprar… e não é naaaaada barato. Pesa na escolha.
Mas fugi do assunto, na real. Acho que tanta gente ‘odeia’ C# por 3 motivos:

  • é meio “modismo nerd” odiar a Microsoft;
  • não conhece, repete o que falaram pra ela;
  • conhece outra linguagem, tentou fazer IGUAL com C# e não conseguiu (óbvio que não dá; é outra linguagem, forma diferente de trabalho) e saiu falando mal sem nem estudar um pouco.
    Acho que é isso.

Abraço!

T

Sem querer te desiludir, mas o JSF também usa esse “campo hidden gigantesco com dados criptografados”.

M

"

J

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

O restante dos projetos em .NET desistimos quando vimos que novamente o .NET 3.0 perdeu a compatiblidade com a versão anterior, a última "supresa"

Outra coisa, nunca vi um usuário de Java ir a um fórum de .NET defender o Java! E nos forums de Java sempre aparece alguém idolatrando o .NET como a sétima maravilha do mundo e sem entender porque tanto ódio!!

Fora as pessoas que .NET que fazem arrastão em toda enquete de qual a melhor linguagem pra "bombar" a votação no C# ou VB.net

Essa é a grande vantagem do java em cima de tecnologias da microsoft. ActiveX é uma tecnologia, que morreu praticamente.
Além de perigosa, complicada, como citada no exemplo acima. Não sei como a microsoft ainda insiste em Objetos com e activex.

F

Isso sem falar em ter que manter o .NET 1.1, 2.0 e 3.0 para poder executar os programas né, só atualizar não adianta, por causa das incompatibilidades.

Quando se está preso a uma tecnologia que possui um dono, você está sujeito as alterações dela na linguagem

se amanha a M$ matar o C#?

Vão mudar tudo pro Mono? (Ela já fez isso com o ASP, então não venham me dizer que isso não vai acontecer)

J

Felagund:
Isso sem falar em ter que manter o .NET 1.1, 2.0 e 3.0 para poder executar os programas né, só atualizar não adianta, por causa das incompatibilidades.

Quando se está preso a uma tecnologia que possui um dono, você está sujeito as alterações dela na linguagem

se amanha a M$ matar o C#?

Vão mudar tudo pro Mono? (Ela já fez isso com o ASP, então não venham me dizer que isso não vai acontecer)

matar o c# não tem como porque é iso. Então quem quiser desenvolver um compilador, só tem que pegar as documentações e seguir a norma. Problema se ela matar o .NetFramework. Vai morrer muito produto que a gente conhece hoje.

Se morrer os Activex, tem muito site de banco que morre junto tmb.

L

Sem querer te desiludir, mas o JSF também usa esse “campo hidden gigantesco com dados criptografados”.

mas eu tenho a opção de não usar jsf… diferente do .net que sou obrigado a usar caso opite por .net…
se o cara não souber usar isto… pode encher de tanta tranqueira e fazer um simples html pesar tanto que demora tempo apenas pra carregar as frescuradas que ele quer… é bem melhor fazer isto direto no cliente… este tipo de coisa tem que ser bem medido… pois a performace é o preço que se paga por querer tentar trabalhar com web como se fosse uma app desktop…

J

Vou mudar um pouco o foco do tópico, para falar de máquinas virtuais. O gnome tá rodando perfeitamente em cima do mono. Eu acreditava que isso deixaria o gnome como win vista, muito lerdo e consumindo muita memória. Rodei o último release em uma máquina com 512 mb de ram, e rodou consumindo 110mb. Fiquei impressionado.

J

Vocês juram que houve quebra de compatibilidade do 2.0 para o 3.0? Por que eu uso o CD Burner XP, que é compilado com o 2.0 e roda de boa aqui com o 3.5.

luistiagos, essa funcionalidade se chama view state, e ela pode e deve ser desativada quando desnecessária. Se existem péssimos desenvolvedores que mantém ela ativa o tempo todo para todos os controles, paciência (de quem trabalha com esse cidadão)

Não sabia dessa do Gnome rodando por cima do mono, eu vi que já utilizavam muita coisa em .NET, mas vou dar um conferida também.

J

Começa pela IDE, que é feia ( :lol: ) e se entranha pelo Windows quando você instala, de uma tal maneira que fica enchendo o saco pra sempre (qualquer erro em um site que você acessa pula aquela porcaria de pop-up na sua cara).
Agora falando sério eu também não gosto da forma como o framework trabalha. Acho que a Engenharia de Software tende a ser mais avançada em aplicações Java (o que também depende muito do programador). Além disso, é muito mais complicado achar documentação .NET, eles não têm um fórum como esse aqui, por exemplo.
Outra coisa que me irrita bastante é que o VS2003 não dá suporte para criar aplicações para smart devices. Aí você vai para o VS 2005 e descobre que ele não dá compatibilidade para trás com as versões do .NET Framework (na boa, isso é tremendamente Microsoft).
Ah, já ia esquecendo: aqui no trabalho o XP veio com o IE7. Quando instalei o VS2005, a opção de criar aplicações para smart devices não funcionava: o IE7 usa uma entrada do registro que é necessária ao VS2005. Conclusão: tive que voltar para o IE6 para poder usar o VS2005 e criar as aplicacões mobile. Isso é definitivamente Microsoft: fazem tanto bacalhau pro programa sair, que acabam esquecendo que outro programa já usava a mesma gambiarra.

Pra finalizar: .NET está mais avançado que Java em muitas coisas?? Claro, a linguagem surgiu depois, viu os pontos fracos da antecessora e trabalhou neles.

D

A M$ teve uma baixa mancada na mudança do .Net 1 para o 2. Porém, depois, ficou retro-compatível. No geral, a linguagem C# possui muitas coisas que a linguagem Java poderia ter. Entretanto, a maior falha é a plataforma estar focada mais no RWindows. A ferramenta oficial é para RWindows e temos que conviver com isso. O resto que falam é filosofia de botequim.

J

J-Chist:
Começa pela IDE, que é feia ( :lol: ) e se entranha pelo Windows quando você instala, de uma tal maneira que fica enchendo o saco pra sempre (qualquer erro em um site que você acessa pula aquela porcaria de pop-up na sua cara).
Agora falando sério eu também não gosto da forma como o framework trabalha. Acho que a Engenharia de Software tende a ser mais avançada em aplicações Java (o que também depende muito do programador). Além disso, é muito mais complicado achar documentação .NET, eles não têm um fórum como esse aqui, por exemplo.
Outra coisa que me irrita bastante é que o VS2003 não dá suporte para criar aplicações para smart devices. Aí você vai para o VS 2005 e descobre que ele não dá compatibilidade para trás com as versões do .NET Framework (na boa, isso é tremendamente Microsoft).
Ah, já ia esquecendo: aqui no trabalho o XP veio com o IE7. Quando instalei o VS2005, a opção de criar aplicações para smart devices não funcionava: o IE7 usa uma entrada do registro que é necessária ao VS2005. Conclusão: tive que voltar para o IE6 para poder usar o VS2005 e criar as aplicacões mobile. Isso é definitivamente Microsoft: fazem tanto bacalhau pro programa sair, que acabam esquecendo que outro programa já usava a mesma gambiarra.

Pra finalizar: .NET está mais avançado que Java em muitas coisas?? Claro, a linguagem surgiu depois, viu os pontos fracos da antecessora e trabalhou neles.

A retrocompatibilidade não é um ponto forte da ms mesmo. Mas o que não falta é documentação, suporte e fórum.

Olha o nível desse fórum. Desde artigos científicos a tutoriais, dos mais diversos temas.
http://www.codeproject.com/

A especificação padrão ecma c#, para baixar.
http://www.ecma-international.org/publications/standards/Ecma-334.htm

Não falta documentação não.

J

Não acho winxp nem win 7 ruins. Para mim o único problema é pagar por eles, por isso uso o ubuntu. Mas não tenho nada contra.

J

J-Chist:

Pra finalizar: .NET está mais avançado que Java em muitas coisas?? Claro, a linguagem surgiu depois, viu os pontos fracos da antecessora e trabalhou neles.

Qual seria o problema disso? Para mim é até melhor, pois irão investir em outras tecnologias também. Todo mundo ganha com isso. O jdk 7 vem ae com várias atualizações.

J

Eu não achei os fóruns bons e não gosto da maneira que expõem a documentação, nem da plataforma, nem do Windows, nem da Microsoft. Não estou tentando convencer ninguém a achar o mesmo, apenas expus minha opinião.

Eu não disse que .NET se basear em Java é um problema…Só que a linguagem se favoreceu de muita coisa que já estava lá e viu as coisas que não estavam, então tem a óbvia vantagem de poder aperfeiçoar os pontos fracos da antecessora. Java também evolui constantemente, e isso é bom para quem desenvolve.

M

"

J

Não ficou. Reduziu os problemas de compatibilidade, mas ainda tem muita coisa que mudou. Pra você ter uma ideia, houve funções que simplesmente mudaram a ordem dos parâmetros :shock:
Esse problema do VS2005 ter de voltar pro IE6 também passamos.

Não sei no resto do mundo e nem se é tendência, mas aqui na região tem muita gente que mexia com .NET e está desistindo e partindo pro Java ou até Ruby.

Creio que tá mais do que explicado porque tem tanta gente que prefere Java.

ao meu ver, o maior problema dos produtos ms é a dependência de objetos com. Realmente os controles tornam a vida do usuário um inferno.

L

eu gosto de .NET, gosto do Visual Studio e acho a linguagem bem legal :stuck_out_tongue:

trabalhei durante 1 ano e se hoje eu tivesse a oportunidade de trabalhar denovo, iria sem problemas

T

Haha. Aliás, não só na internet, mas até mesmo em emprego. Já vi desenvolvedores .Net vindo falar besteira, mas nunca um programador Java tentando convencer ninguém de nada. É muito chato.

Uma vez um cara de um projeto que usava .Net começou a falar merda do Eclipse, que o Visual Studio era isso e aquilo mais. Um dos desenvolvedores Java ficou indignado, chamou o cara para conversar e começou a mostrar as features uma a uma. VS faz isso? VS faz aquilo? Foi engraçado.

T

Se eu não me engano apenas algumas aplicações usam o Mono, e sequer são as principais do Gnome. Tipo uma de notas e algumas outras pequenas.

J

Se eu não me engano apenas algumas aplicações usam o Mono, e sequer são as principais do Gnome. Tipo uma de notas e algumas outras pequenas.

Não só essas que você citou, como gerência de rede, hardware, etc…
se você remover o mono(não o sdk), o gnome deixa de funcionar.

Imagino que o Miguel de Icaza quer fazer o que o dotnet é no Vista e no Seven.

Vamos ver como ficará.

PS: Gnome não é o kernel, mas um gerenciador de janela.

T

Deixa de funcionar porque o gerenciador de pacotes coloca o mono como dependência e se removê-lo diversos outros pacotes também serão removidos. O Mono não é necessário para o Gnome até porque distribuições como o Debian até pouco tempo atrás não o incluíam por medo de patentes da Microsoft.

J

Thiagosc:
juliocbq:

Não só essas que você citou, como gerência de rede, hardware, etc…
se você remover o mono(não o sdk), o gnome deixa de funcionar.

PS: Gnome não é o kernel, mas um gerenciador de janela.

Deixa de funcionar porque o gerenciador de pacotes coloca o mono como dependência e se removê-lo diversos outros pacotes também serão removidos. O Mono não é necessário para o Gnome até porque distribuições como o Debian até pouco tempo atrás não o incluíam por medo de patentes da Microsoft.

Por isso que você acabou de falar. É essencial para o funcionamento dele. E a versão 3.0 vai ser mais dependente ainda.

B

Fora o que falaram, tem as vantagens e desvantagens das duas plataformas, e do vendor-lockin.

Uma coisa que reclamam muito no mundo Java é a demora para evoluir a linguagem, no JCP demora anos para uma proposta ser feita, discutida, aprovada e implementada. Entrar em consenso com muitas pessoas de muitas empresas, cada uma com a sua agenda, é muito difícil. No mundo do .Net, a Microsoft disse, está feito.

Por outro lado, a especificação pode sair uma caca no lado do MS por não passar mais tempo discutindo com a comunidade sobre o que é melhor, porém a JCP já fez isso também, só para corrigir um pouco três anos depois numa nova especificação(por exemplo, Criteria API só vai sair na JPA 2.0, coisa que o Hibernate já faz desde anos antes do 1.0).

E terceiro, no .Net, se a MS levá-lo para um lado que pouca gente gosta, estará feito. Se quiser matar, estará morto. Para o Java, não dá para matar uma comunidade.

Dá uma raiva dessa lerdeza para lançar o Java 7, tem um monte de gente esperando algo como o invokedynamic, a última trava para liberar o boom de desenvolvimento na plataforma, e daqui a pouco vamos para o quarto ano de espera por isso.

J

Bruno Laturner:
Fora o que falaram, tem as vantagens e desvantagens das duas plataformas, e do vendor-lockin.

Uma coisa que reclamam muito no mundo Java é a demora para evoluir a linguagem, no JCP demora anos para uma proposta ser feita, discutida, aprovada e implementada. Entrar em consenso com muitas pessoas de muitas empresas, cada uma com a sua agenda, é muito difícil. No mundo do .Net, a Microsoft disse, está feito.

Por outro lado, a especificação pode sair uma caca no lado do MS por não passar mais tempo discutindo com a comunidade sobre o que é melhor, porém a JCP já fez isso também, só para corrigir um pouco três anos depois numa nova especificação(por exemplo, Criteria API só vai sair na JPA 2.0, coisa que o Hibernate já faz desde anos antes do 1.0).

E terceiro, no .Net, se a MS levá-lo para um lado que pouca gente gosta, estará feito. Se quiser matar, estará morto. Para o Java, não dá para matar uma comunidade.

Dá uma raiva dessa lerdeza para lançar o Java 7, tem um monte de gente esperando algo como o invokedynamic, a última trava para liberar o boom de desenvolvimento na plataforma, e daqui a pouco vamos para o quarto ano de espera por isso.

acho que isso é uma das coisas que não vamos ver tão cedo no java.
Eu sonho com um unsigned byte até hoje, para não precisar sofrer ao fazer um software em c conversar com java.

L

juliocbq:
Bruno Laturner:
Fora o que falaram, tem as vantagens e desvantagens das duas plataformas, e do vendor-lockin.

Uma coisa que reclamam muito no mundo Java é a demora para evoluir a linguagem, no JCP demora anos para uma proposta ser feita, discutida, aprovada e implementada. Entrar em consenso com muitas pessoas de muitas empresas, cada uma com a sua agenda, é muito difícil. No mundo do .Net, a Microsoft disse, está feito.

Por outro lado, a especificação pode sair uma caca no lado do MS por não passar mais tempo discutindo com a comunidade sobre o que é melhor, porém a JCP já fez isso também, só para corrigir um pouco três anos depois numa nova especificação(por exemplo, Criteria API só vai sair na JPA 2.0, coisa que o Hibernate já faz desde anos antes do 1.0).

E terceiro, no .Net, se a MS levá-lo para um lado que pouca gente gosta, estará feito. Se quiser matar, estará morto. Para o Java, não dá para matar uma comunidade.

Dá uma raiva dessa lerdeza para lançar o Java 7, tem um monte de gente esperando algo como o invokedynamic, a última trava para liberar o boom de desenvolvimento na plataforma, e daqui a pouco vamos para o quarto ano de espera por isso.

acho que isso é uma das coisas que não vamos ver tão cedo no java.
Eu sonho com um unsigned byte até hoje, para não precisar sofrer ao fazer um software em c conversar com java.

usigned byte em java… ta doido… pra que trazer as dores de cabeça do C para o java? se pode simplificar pra que complicar…
se quer ter fortes dores de cabeça programe em C…

M

Não conheço bem o .Net e nem o Mono, mas quando li sobre o assunto, tive a impressão de leigo de que o Mono é mais organizado e sério que o .Net. Me corrijam se estiver errado, mas foi essa a impressão que tive. E acho que isso se dá porque o Mono é um projeto Open Source. Para mim a M$ não sabe lidar com internet, comunidade, opiniões. Ela enfrenta um sério problema de resistência as mudança pós internet. Coisa que não se vê em outras empresas como IBM. Eu acho que hoje é preciso estar atento as necessidades das pessoas, e não decidir o que é bom para elas. Infelizmente a M$ age assim em quase todos os seus produtos e é o fator limitante dela hoje. Me lembro que o que mais me incentivou a programar em VB antes do java, era o número de parceiros da M$. Nisso ela é boa, mas infelizmente peca no quesito qualidade e flexibilidade. O que tenho ouvido é que C# é uma ótima linguagem, mas o .Net é uma péssima plataforma.

T

juliocbq:

acho que isso é uma das coisas que não vamos ver tão cedo no java.
Eu sonho com um unsigned byte até hoje, para não precisar sofrer ao fazer um software em c conversar com java.

Mas a VM trata todos os integers como 32 bit signed, não? Além do mais, se você não está fazendo contas o sinal é o de menos, pois você pode simplesmente ignorá-lo.

B

Thiagosc:
juliocbq:

acho que isso é uma das coisas que não vamos ver tão cedo no java.
Eu sonho com um unsigned byte até hoje, para não precisar sofrer ao fazer um software em c conversar com java.

Mas a VM trata todos os integers como 32 bit signed, não? Além do mais, se você não está fazendo contas o sinal é o de menos, pois você pode simplesmente ignorá-lo.

Você não tem idéia do que está falando, cada bit tem que estar perfeitamente alinhado para operar em baixo nível com ABIs de outros programas.

J

luistiagos:
juliocbq:
Bruno Laturner:
Fora o que falaram, tem as vantagens e desvantagens das duas plataformas, e do vendor-lockin.

Uma coisa que reclamam muito no mundo Java é a demora para evoluir a linguagem, no JCP demora anos para uma proposta ser feita, discutida, aprovada e implementada. Entrar em consenso com muitas pessoas de muitas empresas, cada uma com a sua agenda, é muito difícil. No mundo do .Net, a Microsoft disse, está feito.

Por outro lado, a especificação pode sair uma caca no lado do MS por não passar mais tempo discutindo com a comunidade sobre o que é melhor, porém a JCP já fez isso também, só para corrigir um pouco três anos depois numa nova especificação(por exemplo, Criteria API só vai sair na JPA 2.0, coisa que o Hibernate já faz desde anos antes do 1.0).

E terceiro, no .Net, se a MS levá-lo para um lado que pouca gente gosta, estará feito. Se quiser matar, estará morto. Para o Java, não dá para matar uma comunidade.

Dá uma raiva dessa lerdeza para lançar o Java 7, tem um monte de gente esperando algo como o invokedynamic, a última trava para liberar o boom de desenvolvimento na plataforma, e daqui a pouco vamos para o quarto ano de espera por isso.

acho que isso é uma das coisas que não vamos ver tão cedo no java.
Eu sonho com um unsigned byte até hoje, para não precisar sofrer ao fazer um software em c conversar com java.

usigned byte em java… ta doido… pra que trazer as dores de cabeça do C para o java? se pode simplificar pra que complicar…
se quer ter fortes dores de cabeça programe em C…

Na verdade complica mais. Imagina um byte sinalizado!? sendo que outros softwares de outras linguagens sempre trabalham com não sinalizado. Causa muita dor de cabeça com quem trabalha com bits.

V

luistiagos:
usigned byte em java… ta doido… pra que trazer as dores de cabeça do C para o java? se pode simplificar pra que complicar…
se quer ter fortes dores de cabeça programe em C.

Tenho que discordar.

Você já tentou fazer uma aplicação que conversa com C?

Para ler um unsigned int, você tem que fazer algo assim:

long valor = (long) (byteBuffer.getInt() & 0xffffffffL);

Para escrever um unsigned byte:

bb.put(position, (byte) (value & 0xff));

Sendo que value precisa ser um short.

E nem vou falar aqui da gambi que é ler um unsigned long. Agora, eu já estaria satisfeito se classes feitas para trabalhar com sockets (como ByteBuffer e DataInput/OutputStream), já tivessem métodos que fizessem essas conversões.

Detalhe: o tipo unsigned é uma das coisas que não traz dor de cabeça no C.

M

"

J

Thiagosc:
juliocbq:

acho que isso é uma das coisas que não vamos ver tão cedo no java.
Eu sonho com um unsigned byte até hoje, para não precisar sofrer ao fazer um software em c conversar com java.

Mas a VM trata todos os integers como 32 bit signed, não? Além do mais, se você não está fazendo contas o sinal é o de menos, pois você pode simplesmente ignorá-lo.

Eu trabalho com microcontroladores e sei o que é fazer o micro conversar com um software java. Vocês não têm idéia do incômodo que é um byte sinalizado.

Enquanto por padrão todos dispositivos eletrônicos trabalham com 0 - 255, java tem que ser -128 - 128.

J

marcosalex:
Rodo a última versão do Gnome, o beta do 2.28 sem precisar do Mono e o código dele se baixar o fonte, vai ver que é C (nem C++ é).
Talvez exista um binding da gtk pro Mono se você quiser rodar dentro da vm, mas não é obrigatório. Apenas um ou outro aplicativo do Mono é C#.

E, segundo o site deles, eles não pretendem portar o mono, mas alguns aplicativos.
http://blogs.gnome.org/bolsh/2009/07/02/why-i-disagree-with-rms-concerning-mono/

Agora, tempo de lançar uma feature vai ser sempre mais lento, visto que tem de se preocupar com n plataformas e em atender uma grande gama de fornecedores. A MS simplesmente lança do jeito que ela quer, o resto que acompanhe se quiser.

Quanto mais amplo for o leque de plataformas atendidas, mais difícil é aprovar uma mudança. Vejam o W3C que tem 5 anos que estão trabalhando no HTML 5 e a previsão mais otimista dá pra 2012 a especificação…

Sei que é escrito em c. O que digo, é que mono já é uma dependência do gnome. E no mesmo site que citou, vai ver que a tendência é o gnome se tornar mais dependente mono.
Todas as aplicações de dispositivos são c#. Inclusive a que gerencia processos.

J

Existe sim, é o GTK#. Era a alternativa que utilizavam pra criar interfaces gráficas antes de portarem os Windows Forms.

O que eu percebo pelos vários comentários, é que quem se acostumou com o jeito Java, não gostam do .NET pela cara mais “impessoal” do framework.

Veja quantas são e como estão organizadas as comunidades Java, e as .NET. Você vai ver que nas de Java, geralmente são grupos de discussão de tecnologia, enquanto que as .NET geralmente são grupos de estudo da plataforma.

Ainda tem a questão dos frameworks. Java é muito aberto à frameworks de terceiros, na verdade isso é até incentivado. Em .NET, como a API padrão já tem muita coisa, muita gente só usa o que está disponível, sem se preocupar com outras forma de se fazer, isso dá a impressão que não existem frameworks de terceiros para tarefas menos “corriqueiras” em .NET.

J

Bruno Laturner:
Thiagosc:
juliocbq:

acho que isso é uma das coisas que não vamos ver tão cedo no java.
Eu sonho com um unsigned byte até hoje, para não precisar sofrer ao fazer um software em c conversar com java.

Mas a VM trata todos os integers como 32 bit signed, não? Além do mais, se você não está fazendo contas o sinal é o de menos, pois você pode simplesmente ignorá-lo.

Você não tem idéia do que está falando, cada bit tem que estar perfeitamente alinhado para operar em baixo nível com ABIs de outros programas.


Isso mesmo. Um valor com sinal diferente implica num cálculo complicado para conversão. Essa é realmente uma pedra, no quisito usar java para eletrônica digital.

Se implementassem um tipo unsigned, resolveria grande parte de problemas de conversão.

M

juliocbq:

Sei que é escrito em c. O que digo, é que mono já é uma dependência do gnome. E no mesmo site que citou, vai ver que a tendência é o gnome se tornar mais dependente mono.
Todas as aplicações de dispositivos são c#. Inclusive a que gerencia processos.

Olha só que curioso, falando de java e .Net eu não sinto ameaças nem motivos para levantar meu escudo, porque acredito que o .Net tenha seu espaço e clientes definidos e divididos com o java, cada qual com suas regras. Mas confesso que vendo a conversa de vocês sobre Mono( partes de M$) e Gnome (Ubuntu e Software Livre), todas os escudos se levantam e me sinto ameaçado. Não quero mudar o rumo da conversa, mas sou totalmente contra o Gnome ter dependências do Mono pelos motivos conhecidos. Dai já da para você ter uma ideia do porque alguns são tão radicais. Quem vê java para o mercado de trabalho, não se importa tanto com C#, mono e .Net. Mas quem vê java como Open-Source com certeza se incomodará com o Mono por ser parte da M$, e a M$ não pode ter nada totalmente Open-Source sem deixar de ser M$.
Pra mim o motivo da guerra é a empresa mesmo.

J

Mono também é Open Source, não importa que a MS esteja por trás, se a empresa tomar uma atitude que desagrade, faz um fork e a vida segue.

J

mvargens:
juliocbq:

Sei que é escrito em c. O que digo, é que mono já é uma dependência do gnome. E no mesmo site que citou, vai ver que a tendência é o gnome se tornar mais dependente mono.
Todas as aplicações de dispositivos são c#. Inclusive a que gerencia processos.

Olha só que curioso, falando de java e .Net eu não sinto ameaças nem motivos para levantar meu escudo, porque acredito que o .Net tenha seu espaço e clientes definidos e divididos com o java, cada qual com suas regras. Mas confesso que vendo a conversa de vocês sobre Mono( partes de M$) e Gnome (Ubuntu e Software Livre), todas os escudos se levantam e me sinto ameaçado. Não quero mudar o rumo da conversa, mas sou totalmente contra o Gnome ter dependências do Mono pelos motivos conhecidos. Dai já da para você ter uma ideia do porque alguns são tão radicais. Quem vê java para o mercado de trabalho, não se importa tanto com C#, mono e .Net. Mas quem vê java como Open-Source com certeza se incomodará com o Mono por ser parte da M$, e a M$ não pode ter nada totalmente Open-Source sem deixar de ser M$.
Pra mim o motivo da guerra é a empresa mesmo.

Qualquer um pode desenvolver uma máquina virtual .net, é, necessário somente seguir essas especificações:
http://www.ecma-international.org/publications/standards/Ecma-334.htm

O que sofre patente é o framework, que não tem nada haver com a máquina virtual, e que o mono possui completamente diferente, que é o gtk#, e outras implementações para sistemas unix.

M

Mono também é Open Source, não importa que a MS esteja por trás, se a empresa tomar uma atitude que desagrade, faz um fork e a vida segue.

Eu, sei. Mas o problema é o fato da M$ estar envolvida. Isso gera um mal estar em mim, que consigo ser imparcial no lado profissional, (mas não no lado pessoal). Imagina para quem defende o Open-Source com unhas e dentes. C# é uma criação M$ seja ela open-source ou não.
A primeira reação que vem a cabeça é: Se é da M$ não presta, ou tem surpresa escondida. Por isso identifiquei como sendo um problema da empresa e não da linguagem.

T

Bruno Laturner:
Thiagosc:
juliocbq:

acho que isso é uma das coisas que não vamos ver tão cedo no java.
Eu sonho com um unsigned byte até hoje, para não precisar sofrer ao fazer um software em c conversar com java.

Mas a VM trata todos os integers como 32 bit signed, não? Além do mais, se você não está fazendo contas o sinal é o de menos, pois você pode simplesmente ignorá-lo.

Você não tem idéia do que está falando, cada bit tem que estar perfeitamente alinhado para operar em baixo nível com ABIs de outros programas.

Sim, mas internamente todos os integers são 32 bit. O tipo “byte” é apenas uma conveniência para o programador. Ou usa-se um tipo maior ou ignora-se o sinal.

T

ViniGodoy:
luistiagos:
usigned byte em java… ta doido… pra que trazer as dores de cabeça do C para o java? se pode simplificar pra que complicar…
se quer ter fortes dores de cabeça programe em C.

Tenho que discordar.

Você já tentou fazer uma aplicação que conversa com C?

Para ler um unsigned int, você tem que fazer algo assim:

long valor = (long) (byteBuffer.getInt() & 0xffffffffL);

Para escrever um unsigned byte:

bb.put(position, (byte) (value & 0xff));

Sendo que value precisa ser um short.

E nem vou falar aqui da gambi que é ler um unsigned long. Agora, eu já estaria satisfeito se classes feitas para trabalhar com sockets (como ByteBuffer e DataInput/OutputStream), já tivessem métodos que fizessem essas conversões.

Detalhe: o tipo unsigned é uma das coisas que não traz dor de cabeça no C.

Cara, preciso discordar. Já programei VM e no caso usava o tipo byte para representar 256 valores. Como o byte do Java só vai até 127, após esse valor o ByteBuffer retorna -128 e vai incrementando os negativos. Simplesmente ignorava o sinal, visto que o byte em si já tinha os 8 bits necessários, a única diferença é que no código eu simplesmente usava -128, -127, -126, etc.

Por exemplo, um código assim funcionava tranquilo para pegar os 8 bits necessários.

byte b = ByteBuffer.get(index);

Para dizer a verdade uma linguagem decente deveria manipular os números, tanto inteiros quanto de ponto flutuante, de forma transparente. Portanto você apenas usa o valor e a VM ou compilador trata de alocar o espaço apropriado para o valor que você deseja representar. Tanto a solução do Java quando do C não são boas.

M

Acho que a grande sacada da Microsof foi submeter o C# ao w3c e torná-lo um padrão aberto. Desta forma, o C# conquistaria uma parcela dos programadores que utilizam outras linguagens, entre elas o java.

M

Ce ta de brincadeira ne? De que adianta ser uma padrão aberto se cada versão é incompatível com a anterior?

M

Ce ta de brincadeira ne? De que adianta ser uma padrão aberto se cada versão é incompatível com a anterior?

Esse é o tipo de brinde que eu suspeitava!..

M

Podemos definir a incompatibilidade entre as versões do C# como “coisas da Microsoft”. :wink:

M

A M$ é uma puta empresa. Tem dinheiro, tem nome e tem história. Mas a tradição que todas as grandes costumam ter, no caso dela é quase uma maldição. Tudo que ela faz, mesmos as coisas fabulosas, tem sempre uma rabeada feia. É triste.

Thiagosc:

Para dizer a verdade uma linguagem decente deveria manipular os números, tanto inteiros quanto de ponto flutuante, de forma transparente. Portanto você apenas usa o valor e a VM ou compilador trata de alocar o espaço apropriado para o valor que você deseja representar. Tanto a solução do Java quando do C não são boas.

Quanto mais transparente ficar, mais risco de perder precisão você terá. Ou estou falando besteira? Me lembro que o maior problema do ponto flutuante é o co-processador e não as linguagens em si. Você conhece alguma solução melhor que o C e o java usam atualmente? Estou interessado porque já tive muita dor de cabeça com aplicativos financeiros.

“Accuracy problems”

L

Tentei aprender C# algumas vezes, mas simplesmente não fui pra frente. Portanto, não vou discutir um assunto que não conheço.

Porém, conheço a “parte política” do C#/Mono no Linux, e percebo que muita gente aí tá falando besteira. Vamos corrigir os pontos:

:arrow: O Gnome não depende do Mono. Exemplos: o Debian usa Gnome e não distribui Mono; o Fedora usa Gnome e não suportará a partir da versão 12; o Ubuntu Live CD tem Gnome e o Mono não vem junto no CD. Essa dependência não existe.

:arrow: O binding do Mono para a interface gráfica no Linux é o GTK# (GTK != Gnome). Mas em hipotése nenhuma é legado em relação ao winforms. A compatibilidade do Mono com o mundo Windows foi uma decisão tardia, uma estratégia da Novell. A idéia original era simplesmente oferecer ao desenvolvedor um ambiente “gerenciado” (com garbage collector e código portável entre Linuxes) para criar aplicações gráficas, em oposição ao pesadelo de se programar em C puro. O GTK# está firme e forte.

Do lado Windows eu não sei. Mas espero que o pessoal quebre o Mono em dois, um “puro” (C# e GTK#) e outro “impuro” (o “puro” mais a bagagem clonada do Windows). Com isso, a parte livre do Mono poderia ser uma plataforma forte para se criar aplicações Linux, que é algo que esse S.O. precisa muito para se deslanchar, mas que ninguém quer admitir.

T

mvargens:

Quanto mais transparente ficar, mais risco de perder precisão você terá. Ou estou falando besteira? Me lembro que o maior problema do ponto flutuante é o co-processador e não as linguagens em si. Você conhece alguma solução melhor que o C e o java usam atualmente? Estou interessado porque já tive muita dor de cabeça com aplicativos financeiros.

“Accuracy problems”

Como isso seria diferente do que existe em Java ou em C?

M

"

B

Resolver o problema de precisão com números em ponto flutuante é muito simples:

Não; Os; Use.

M

Resolver o problema de precisão com números em ponto flutuante é muito simples:

Não; Os; Use.

É muito chato ficar guardando varchar no banco ou multiplicar tudo por 100, 1000 e etc. As vezes a outra ponta não aceita isso.

M

http://guj.com.br/posts/listByUser/90/24446.java

Pelo visto vc não odeia emoticons!

W

Nerds!!!

Sejam profissionais!!! Se aparecer uma boa oportunidade de trabalho com Java, va para o Java, se aparecer uma boa oportunidade de trabalho com .NET/C# vai fundo!
Ficar com ideologias baratas (porque pelos comentarios que eu andei lendo, mta gente opina e nem sabe do que esta falando) e radicalismos infantis so vai fazer vc parecer um idiota no mercado de trabalho.
Ambas linguagens sao otimas, tem oportunidades de trabalho e bons salarios, a unica questao eh aproveitar.

Logico que todos nos temos preferencias, eu gosto muito mais de Java do que C# mas atualmente eu trabalho com C# e meu salario e o dobro de quando eu trabalhava com Java, imagine se eu nao tivesse negado esse emprego somente porque eu acho Java mais legal.

Portanto, um conselho, seja profissionais, aproveitem as boas opoprtunidade, seja elas em Java, C# ou qualquer outra coisa, que vcs vao se dar bem.

Rola tipo uma “modinha” de dizer que tudo que a microsoft faz eh ruim e nao eh bem assim, mas como eu ja disse aqui no forum, a maioria das pessoas que dizem isso, sao aqueles que instalaram o ubuntu em casa 1 ano atras e se acham os “alternativos”, “hackers” e etc.

//Daniel

F

windsofhell:
Logico que todos nos temos preferencias, eu gosto muito mais de Java do que C# mas atualmente eu trabalho com C# e meu salario e o dobro de quando eu trabalhava com Java, imagine se eu nao tivesse negado esse emprego somente porque eu acho Java mais legal.

Por volta do ano 2000 um analista americano (não lembro o nome agora) previu que o mercado .NET iria recrutar profissionais Java. Eu vi duas razões para para levar isto a acontecer, uma éra que o profissional (java) já estaria “preparado” vamos dizer assim e a outra seria a sedução através do dinheiro.

Acho que vc tem razão, a coisa deve ser por aí mesmo.

flws

J

Thiagosc:
Bruno Laturner:
Thiagosc:
juliocbq:

acho que isso é uma das coisas que não vamos ver tão cedo no java.
Eu sonho com um unsigned byte até hoje, para não precisar sofrer ao fazer um software em c conversar com java.

Mas a VM trata todos os integers como 32 bit signed, não? Além do mais, se você não está fazendo contas o sinal é o de menos, pois você pode simplesmente ignorá-lo.

Você não tem idéia do que está falando, cada bit tem que estar perfeitamente alinhado para operar em baixo nível com ABIs de outros programas.

Sim, mas internamente todos os integers são 32 bit. O tipo “byte” é apenas uma conveniência para o programador. Ou usa-se um tipo maior ou ignora-se o sinal.

Procura saber melhor sobre isso. Ficar no empírico não adianta. Faça um teste você mesmo.
É uma idiotice ter que implementar um método para ler tipos não sinalizados.
um simples unsigned resolveria todo esse problema.

http://www.lykkenborg.no/java/2005/03/how-do-i-read-unsigned-byte-in-java.html
http://www.darksleep.com/player/JavaAndUnsignedTypes.html

J

Leonardo3001:
Tentei aprender C# algumas vezes, mas simplesmente não fui pra frente. Portanto, não vou discutir um assunto que não conheço.

Porém, conheço a “parte política” do C#/Mono no Linux, e percebo que muita gente aí tá falando besteira. Vamos corrigir os pontos:

:arrow: O Gnome não depende do Mono. Exemplos: o Debian usa Gnome e não distribui Mono; o Fedora usa Gnome e não suportará a partir da versão 12; o Ubuntu Live CD tem Gnome e o Mono não vem junto no CD. Essa dependência não existe.

:arrow: O binding do Mono para a interface gráfica no Linux é o GTK# (GTK != Gnome). Mas em hipotése nenhuma é legado em relação ao winforms. A compatibilidade do Mono com o mundo Windows foi uma decisão tardia, uma estratégia da Novell. A idéia original era simplesmente oferecer ao desenvolvedor um ambiente “gerenciado” (com garbage collector e código portável entre Linuxes) para criar aplicações gráficas, em oposição ao pesadelo de se programar em C puro. O GTK# está firme e forte.

Do lado Windows eu não sei. Mas espero que o pessoal quebre o Mono em dois, um “puro” (C# e GTK#) e outro “impuro” (o “puro” mais a bagagem clonada do Windows). Com isso, a parte livre do Mono poderia ser uma plataforma forte para se criar aplicações Linux, que é algo que esse S.O. precisa muito para se deslanchar, mas que ninguém quer admitir.

  1. Debian Usa somente distribuições que julga estável. Reveja a versão do gnome.

  2. Que bind do mono? Mono trabalha com gtk# somente. Seja em mac, ou windows.

  3. O winforms é algo que está sobre patente da microsoft, e portanto, por mim, nem se precisava dela, pois o gtk# na minha opinião é bem mais robusto.

G

Talvez porque a ignorância faça a pessoa odiar!

L

Não tente contra-argumentar apenas com retóricas. Com uma pesquisada no Google, vi que Debian 5 usa Gnome 2.22, enquanto que Fedora 11 usa Gnome 2.26. Há apenas uma diferença de duas versões incrementais. Porque raios a versão 2.22 não dependeria do Mono e a versão 2.26 dependeria? Outra, porque o Fedora 12, com a versão 2.28, virá sem Mono? Isso não é evidência de que o Gnome não depende do Mono?

Existe a máquina virtual Mono e existe o toolkit gráfico GTK. O GTK# é o bind entre os dois! Qual o ponto da discordia?

J

Não tente contra-argumentar apenas com retóricas. Com uma pesquisada no Google, vi que Debian 5 usa Gnome 2.22, enquanto que Fedora 11 usa Gnome 2.26. Há apenas uma diferença de duas versões incrementais. Porque raios a versão 2.22 não dependeria do Mono e a versão 2.26 dependeria? Outra, porque o Fedora 12, com a versão 2.28, virá sem Mono? Isso não é evidência de que o Gnome não depende do Mono?

Existe a máquina virtual Mono e existe o toolkit gráfico GTK. O GTK# é o bind entre os dois! Qual o ponto da discordia?

Retórica onde?
Eu li que Fedora excluiu mono do gnome na versão 10. Fizeram um port de aplicações para c.
O que eu quero dizer é que o gnome depende do mono atualmente, isso porque o líder da Novell deseja.
A tendência é que gnome rode inteiramente em cima do mono, e seja capaz de executar aplicações .net com winforms.

Quem não quiser usar mono no gnome é livre para portar aplicações, ou não usá-lo.

M

"

J

marcosalex:
juliocbq:

O que eu quero dizer é que o gnome depende do mono atualmente, isso porque o líder da Novell deseja.
A tendência é que gnome rode inteiramente em cima do mono, e seja capaz de executar aplicações .net com winforms.

Errado. Como eu já disse e postei o link, mesmo a versão 2.28 roda sem o mono.

E no mesmo link está escrito que a Novell vai desenvolver mais módulos em mono mas NÃO VAI portar o gnome pra mono nem na versão 3, ao contrário do que reza a lenda urbana.

Eu li o link que você postou e não vi nada disso. Vi justamente o contrário, que gnome terá mais aplicações mono na versão 3.0.
do link que você enviou.
http://discuss.itwire.com/viewtopic.php?f=57&t=14355&p=50773#p50733

B

Caramba, tópico sobre C#/.Net e o pessoal falando de Gnome.

J

?? Uai, não tem tudo haver?

F

juliocbq:
marcosalex:
juliocbq:

O que eu quero dizer é que o gnome depende do mono atualmente, isso porque o líder da Novell deseja.
A tendência é que gnome rode inteiramente em cima do mono, e seja capaz de executar aplicações .net com winforms.

Errado. Como eu já disse e postei o link, mesmo a versão 2.28 roda sem o mono.

E no mesmo link está escrito que a Novell vai desenvolver mais módulos em mono mas NÃO VAI portar o gnome pra mono nem na versão 3, ao contrário do que reza a lenda urbana.

Eu li o link que você postou e não vi nada disso. Vi justamente o contrário, que gnome terá mais aplicações mono na versão 3.0.
do link que você enviou.
http://discuss.itwire.com/viewtopic.php?f=57&t=14355&p=50773#p50733

Pelo que li, são “APP’s” do gnome e não o gnome em si, voces nao estão confundindo isto??
La diz que apenas o “Tomboy” precisa do mono, ou seja sou obrigado a ter o Tomboy para ter o gnome??

J

fredferrao:
juliocbq:
marcosalex:
juliocbq:

O que eu quero dizer é que o gnome depende do mono atualmente, isso porque o líder da Novell deseja.
A tendência é que gnome rode inteiramente em cima do mono, e seja capaz de executar aplicações .net com winforms.

Errado. Como eu já disse e postei o link, mesmo a versão 2.28 roda sem o mono.

E no mesmo link está escrito que a Novell vai desenvolver mais módulos em mono mas NÃO VAI portar o gnome pra mono nem na versão 3, ao contrário do que reza a lenda urbana.

Eu li o link que você postou e não vi nada disso. Vi justamente o contrário, que gnome terá mais aplicações mono na versão 3.0.
do link que você enviou.
http://discuss.itwire.com/viewtopic.php?f=57&t=14355&p=50773#p50733

Pelo que li, são “APP’s” do gnome e não o gnome em si, voces nao estão confundindo isto??
La diz que apenas o “Tomboy” precisa do mono, ou seja sou obrigado a ter o Tomboy para ter o gnome??

O f-spot também é incluso. Mas você tem razão. O link diz que a única aplicação oficial que usa mono é o Tomboy.
Mas o gnome também distribui outras aplicações que usam mono, como o f-spot. Ae realmente é estranho.

T

Por que você não quotou a minha outra mensagem onde eu mostro como os 8 bits to byte funcionam?

M

Não acho um problema tão sério o Mono ser totalmente open-source e o Gnome usa-lo. Mas criar dependência de um projeto que busca compactabilidade com a maior inimiga do Open-source e seus padrões malucos, é brincadeira. Esse é um dos motivos que leva muita gente a ser contra a dependência e uso dele no Gnome. O outro motivo é ser obrigado a ter a VM com coisas da M$ no HD. Nem do java os caras gostam, quanto mais do Mono.

S

Concordo em numero,género e grau.

O .NET sofre de um problema que tudo na microsoft sofre : falta de qualidade. Eles adoram uma gambiarra.
Quando a microsoft mudou a jvm do J++ e a sun os excluiu do mundo java o .NET foi a resposta. É pura vingança.

Mas como tudo o que a microsoft faz é atrapalhado até a vingança não passou de birra.

Aplicações livres para Linux ? use java.

Java vai voltar ao desktop. Java sempre foi perfeito para desktop. Agora será ainda mais com as features do Java 7.
Aliás o java 7 mitiga as diferenças entre dektop e web deixando quem um applet vire uma aplicação desktop através de drag-and-drop. Só falta alguem que use isso.

J

Thiagosc:
juliocbq:

Procura saber melhor sobre isso. Ficar no empírico não adianta. Faça um teste você mesmo.
É uma idiotice ter que implementar um método para ler tipos não sinalizados.
um simples unsigned resolveria todo esse problema.

Por que você não quotou a minha outra mensagem onde eu mostro como os 8 bits to byte funcionam?


onde?

J

Thiagosc:
ViniGodoy:
luistiagos:
usigned byte em java… ta doido… pra que trazer as dores de cabeça do C para o java? se pode simplificar pra que complicar…
se quer ter fortes dores de cabeça programe em C.

Tenho que discordar.

Você já tentou fazer uma aplicação que conversa com C?

Para ler um unsigned int, você tem que fazer algo assim:

long valor = (long) (byteBuffer.getInt() & 0xffffffffL);

Para escrever um unsigned byte:

bb.put(position, (byte) (value & 0xff));

Sendo que value precisa ser um short.

E nem vou falar aqui da gambi que é ler um unsigned long. Agora, eu já estaria satisfeito se classes feitas para trabalhar com sockets (como ByteBuffer e DataInput/OutputStream), já tivessem métodos que fizessem essas conversões.

Detalhe: o tipo unsigned é uma das coisas que não traz dor de cabeça no C.

Cara, preciso discordar. Já programei VM e no caso usava o tipo byte para representar 256 valores. Como o byte do Java só vai até 127, após esse valor o ByteBuffer retorna -128 e vai incrementando os negativos. Simplesmente ignorava o sinal, visto que o byte em si já tinha os 8 bits necessários, a única diferença é que no código eu simplesmente usava -128, -127, -126, etc.

Por exemplo, um código assim funcionava tranquilo para pegar os 8 bits necessários.

byte b = ByteBuffer.get(index);

Para dizer a verdade uma linguagem decente deveria manipular os números, tanto inteiros quanto de ponto flutuante, de forma transparente. Portanto você apenas usa o valor e a VM ou compilador trata de alocar o espaço apropriado para o valor que você deseja representar. Tanto a solução do Java quando do C não são boas.

Ahh sim. Esta aqui. Então, o problema aqui seria o sinal(justamente por ser sinalizado). Enquanto em uma transmissão de bytes teria em c ou qualquer outro dispositivo um valor somente positivo, ao passar isso por um readBuffer, teria valores completamente alterados, por causa do intervalo -128,127.

A resposta a esta questão é esta aqui:
precisa-se de um bitwise

http://www.darksleep.com/player/JavaAndUnsignedTypes.html

Z

Bem, com tantas respostas com sentimentos e tbm técnicas como do Paulo Vieira, minha opinião é parecida…Depois de estudar Engenharia da Qualidade de Software e de fazer um curso de Eng. de Software você acaba tendo uma visão melhor e tal…porém, em aspectos técnicos ambas são OO e fazem bem seu trabalho, se existir linguagem perfeita então ainda não conheço…O Java como uma linguagem apenas sem utilizar Eclipse, netbeans é muito bem aceita e bem definida, assim como o C# puro que também é livre e disponível para a comunidade free, Não adianta dizer coisas como framework mal feito, ele foi baseado no framework da SUN, mesmo que seja diferente é altamente compativel com Windows e muito rápido sim (MSF), a arquitetura Microsoft para Visual Studio 2008/2010 chegou nas espectativas dos programadores, mesmo os de JAVA que estão participando de projetos .NET.
Sim, Visual Studio completo custa entre 700-1200 dollares, mas a versão express é free e possui muitos dos frameworks que o eclipse utiliza. Para o iniciante, claro que arrastar componentes e usar os recursos de DataSet do VS é mais rápido e prático, pois .NET foi projetado para projetos rápidos e agora também robustos como JAVA

Então não tem essa de linguagem melhor, o JAVA precisa da JVM e o .NET do Framework e ambos dependem de algo…quer uma aplicação rápida, então programe em Assembler ou mesmo no C, será tão rápido que .NET e JAVA fica na poeira, rs

Para quem odeia a microsoft, não tenha odio do C#, ele é livre e a comunidade junto com a microsoft estão dando continuidade e o MONO é feito pela comunidade e para essas coisas acontecerem precisa de dinheiro!!!(ODEIE MS NÂO C#)

Se a SUN não tinha liberado o JAVA como fez, talvez ela não teria a popularidade e preferencia mundial, mas tbm não tinha sido vendida para oracle, e se a microsoft falir o mercado de software entra em crise mundial, aí até o JAVA entra nessa

O Mercado é assim: se não houver novidade como Windows 7, c#3.5, JAVA 6, ORACLE 11 as ações começam a cair e a empresa entra em concordata, e se tivesse apenas javeiros ou sharpeiros desde o começo então estaria em estagnação e vc provavelmente estaria recebendo 1/4 do que recebe agora.

Seria uma maravilha mesmo, todas as empresas com UNIX e os macintoshi e tudo mundo usando C,C++,COBOL, etc mas o mundo evolui e novas tecnologias devem ser lançadas, “quem não copia, não aprende!”

T

zolotareff:
Seria uma maravilha mesmo, todas as empresas com UNIX e os macintoshi e tudo mundo usando C,C++,COBOL, etc mas o mundo evolui e novas tecnologias devem ser lançadas, “quem não copia, não aprende!”

O C# está longe de ser uma evolução.

Z

Sim, para quem não esta ganhando dinheiro com o C# é, não é uma evolução e sim uma distração em muitos casos. E depende do ponto de vista, a microsoft com C# evolui. 70% do Windows é feito em C# e muitas aplicações que todos usam é C# a linguagem que eles usam. COMO O PAULO VIEIRA DISSE: NÃO É A LINGUAGEM, ISSO FICA PARA QUEM É NOVO NO MERCADO E SIM PARA QUAL APLICAÇÃO SERÁ UTILIZADA!

Eu concordo com ele, não porque ele foi um de meus professores na CAELUM, mas sim como um grande profissional da área, não só como programador e sim como um profissional completo que hoje ele é e muitos conhecem.

Como utilizo JEE e .NET C# em meus projetos, consigo obter clientes de todos os gostos e valores, aqueles que acreditam que JAVA é melhor, então fazemos em JAVA e outros que gostam do .NET fazemos também.

Como utilizamos Engenharia de Software em todos os projetos as duas tecnologias nos atendem bem, nossos clientes são diversos aqui no Brasil e na Alemanhã.

Então para nos que conseguimos muitos clientes saindo do VB6 indo para o .NET foi uma grande evolução, não escolheram JAVA por questões culturais da empresa, mas posso dizer que atende bem o mercado

Então, evolução é tudo aquilo que é melhorado e utilizado para as empresas e pesquisadores, além de gerar espectativas e opiniões de divergências como nesse forum…que é sinal de evolução tanto do JAVA quanto do C#, senão não estariamos discutindo JAVA x C#, e sim JAVA x XXXX.

J

Gente … eu acho q essa briga é totalmente desnecessária

são duas plataformas que tem suas aplicações …

java é só pra aplicações “fodasticas” nao convem vc faze rum aplicativo simples em java ( iniciantes dificilmente entendem isso devido ao amor ao java auahauhau)

java é caro mao de obra (programador java geralmente ganha mais) é caro containers (e a galera grita: ahh JBoss é gratisss!!!.. gratis pq vc baixa e desenvolve, seja adminitrador de estrutura e bote um JBoss lah pra ver se vc nun vai soltar dinheiro pra suporte)

e java dá muitas possibilidades, muitos recursos, muitas formas muitos tudo … e .net não … .net tem akilo q a microsoft dá (alguns programadores .net querem quebrar esse paradigma e se livrar das dependencias da microsoft )… e depender só da microsoft é ruim? CLARO Q NAO !!! se vc qr aplicação com poucos recursos … nao tem q ficar se preocupando esse ou akele container suporta EJB de qual especificação, se um vem com tomcat ou se vem com jetty … todos esses recursos só valem a pena quando a aplicação é grande … se vc tem uma apilcação pequena vai .net mesmo … vc nao perde tempo decidindo dentre todas as possibilidades e recursos, configurações , integraçãos etc etc etc

Só tem uma coisa … .Net é muito mais facil de morrer do que o Java, .Net é codigo aberto porem nao é livre, vc não pode fazer o seu .net e .Outra a Microsoft é q decide os recursos, não tem tanta integração com os principais interessados, assim como é JCP. Tem gente q fala q o primeiro motivo (ser codigo livre) é o principal motivo pela sobrevivencia do Java para “sempre” por vc ter a possibilidade de fazer o Seu Java, mas eu acho q esse motivo nao é tao forte … O que realmente garante a vida longa ao java é ele ser usado por Empresas parrudas como a Oracle e IBM e elas estarem no JCP. É tanto peixe grande com muitos produtos baseados em Java e com o poder de mudar a linguagem na mão é que garante a sobrevivencia do java.

falowww

T

Em que planeta a mão de obra de Java é cara? Diga-me para que eu possa me mudar para lá, porque os salários em Java são salários de peão. Se programadores C# ganham ainda menos então mais uma razão para ignorar essa porcaria.

M

Bom, estive analisando o mercado de SP ultimamente e Programadores .Net ganham a mesma coisa que de java. Alias tem até mais vaga para .Net. Não é o Valor o X da questão, senão .Net seria inviável. Uma única licença de Visual Studio custa R$ 1.109,79. Do windows Server nem sei quanto está ultimamente. Não é o fator principal não. Mas o tópico é “porque tanta gente odeia .Net” e ninguem aqui está brigando. :wink:

Z
Se programadores C# ganham ainda menos então mais uma razão para ignorar essa porcaria.

Muito bom caro Thiagosc, sua resposta é boa: aonde ganha mais é que vale, ou seja, aonde o mercado paga melhor é que devemos nos dedicar para não ficarmos ultrapassados e monoliticos

Aqui nesse país alguns javeiros estão se sentindo ameaçados, querendo fechar seu mundo e não aceitarem novidades,…bem aqueles que não se garantem ou mesmo tem medo de mudança no mercado e perder seu peixe tem medo claro. Eu nunca tive medo disso, para mim era tudo JAVA e quando me ofereceram um projeto em .net resolvi encarar, pois acho que a profissão de programador puro esta estinta, todos tem uma participação grande nos projetos, claro para quem trabalha em projetos pequenos possui uma visão não muito clara fora dos códigos nos projetos, ou até mesmo o inverso que é o faz tudo.

Meu para quem programa em JAVA parabéns, e para quem programa em c# eu digo o mesmo!

Mas aqueles que acha que o JAVA resolve tudo, fique pensando assim… ou mesmo digo os csharperos…que .NET é uma maravilha…

Como o prof.Dr Alvaro do ITA diz: Alguns programadores pensam que são artistas e quando eles saem da empresa, a mesma passa por grandes dificuldades, ou seja, artistas normalmente, utilizam metodologia NHS (Na Hora Sai)

Metodologia NHS é a mais utilizada aqui em nosso país, não utilizam de maneira efetiva técnicas de Engenharia de Software, como o amigo aí disse, é so colocar e acabou:

java é caro mao de obra (programador java geralmente ganha mais) é caro containers (e a galera grita: ahh JBoss é gratisss!!!... gratis pq vc baixa e desenvolve, seja adminitrador de estrutura e bote um JBoss lah pra ver se vc nun vai soltar dinheiro pra suporte)

Meu então viva ao JAVA que resolve tudo, é so colocar e acabou!!rs

AS EMPRESAS ADORAM FAZER ISSO. COLOCA FÉ EM POUCOS E AÍ O PROJETO NÃO DÁ CERTO E ACABA ATRASANDO, POIS TEM ESSE PENSAMENTO PEQUENO QUE C# OU JAVA RESOLVE, E DIZEM QUE: NÃO TEM VERBA PARA FAZER PLANEJAMENTO E QUALIDADE ASSEGURADA, PORÉM TEM TEMPO E DINHEIRO PARA REFAZER O MESMO!

JAVA é mais bem aceito por aer feita com base em Engenharia de Software, porém quem usar para grandes projetos é necessário conhecimento em arquitetura e tudo que envolve o escopo do projeto.

.NET C#/VB.NET/PYTON/etc teve uma grande melhora e na versão atual possui grandes avanços que virou uma das principais plataformas de desenvolvimento.

Java com sua JVM e sua portabilidade e escalabilidade e aplicações diversas em multiplas plataformas escalavéis e costumizadas em JVM;

e .NET com seu Framework e agora multiplataforma com o MONO(mesmo que ainda fica devendo) e multiplas linguagens aceitas para desenvolvimento de equipe que integram varias linguagens em um único ambiente.

Então cada uma tem seu valor no mercado, eu mesmo uso as duas em projetos, porém a minha preferida é C , mas não utilizo nos projetos, e utilizo o JEE e VSTS2008 e até agora os dois funcionam bem mesmo.

JAVA sempre será a preferida por ser a primeira e não tem discussão sobre isso, pois não é a linguagem em si, mas sim toda plataforma e tecnologia chamada JAVA que estou falando!!!

Concorrência é bom, so fica os melhores!

Z
Muito bom caro Thiagosc, sua resposta é boa: aonde ganha mais é que vale, ou seja, aonde o mercado paga melhor é que devemos nos dedicar para não ficarmos ultrapassados e monoliticos

Desculpe, so esqueci de completar, há gosto para todos e o que vale é sua dedicação em sua carreira profissional, e como o amigo aí disse, ninguém esta brigando aqui, pois esse é o forum de java mais respeitado que as respostas e opiniões são livres sem ofender ninguém, defender seu ponto de vista é natural e não é obrigado aceitar a opinião dos outros e sim tirar o que há de bom e fazer igual o amigo aí: Pesquise e tire suas proprias conclusões!

T

zolotareff:
Se programadores C# ganham ainda menos então mais uma razão para ignorar essa porcaria.

Muito bom caro Thiagosc, sua resposta é boa: aonde ganha mais é que vale, ou seja, aonde o mercado paga melhor é que devemos nos dedicar para não ficarmos ultrapassados e monoliticos

Mas já foi dito aqui que a “mão de obra é mais barata” com .Net. Se é assim então é mais negócio usar Java.

M

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.

M

javando:

Só tem uma coisa … .Net é muito mais facil de morrer do que o Java, .Net é codigo aberto porem nao é livre, vc não pode fazer o seu .net…

Desculpa, mas se .Net morrer provavelmente estara ocorrendo um cataclisma global. Porque tanto .NET e Java compartilham de praticamente a totalidade do mercado de software “enterprise”, acho que nem existe 3o lugar. Pode perguntar pra cada gerente de TI das principais empresas, 11 de cada dez vai recomendar .NET ou Java.

Quanto a ser opensource pode ter livrado o Java mas não a Sun ne (agora serio, vc acha que vai impressionar os gerentes que eu citei ainda pouco dizendo que vc “pode fazer seu próprio .net”?).

M

"

K

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,[telefone removido]% 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.

M

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.

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.

Z

kicolobo - Virtual Machine Man

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

mochuara - Virtual Machine Man

mochuara - Virtual Machine Man

marcosalex

kicolobo - Virtual Machine Man

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

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

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.

F

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

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

F

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.

B

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.

M

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

J

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

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

F

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.

J

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.

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.

F

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

J

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.

M

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.


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

J

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.

M

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.

T

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

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

T

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.

J

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.

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.

J

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.


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.

F

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!

J

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.

V

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.

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

J

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

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


É 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#.

T

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


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.

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.

M

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.

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.

J

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

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.

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.

M

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.

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

H

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?

J

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

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

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.

J

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?

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

H

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

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

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

:lol: :lol:

J

Hellmanss:
juliocbq:
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?

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

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

:lol: :lol:

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.

H

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.

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…

F

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

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…

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!

V

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.

M

juliocbq:
mvargens:
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.

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

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.

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

M

"

H

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.

ok mestre do magos.

J

mvargens:
juliocbq:
mvargens:
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.

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

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.

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

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

J

marcosalex:
Na verdade, a Nokia “comprou” a empresa que desenvolve em Qt.
Os widgets do Qt são parecidos com os de Java e .NET, mas lembrando que programação não se limita a widgets. OS outros frameworks são bem mais completos.

Sobre o Visual Studio ser melhor ou pior por ser pago, lembrem que existem IDEs pagas pra Java também, como o JBuilder, JDeveloper, etc. E eles tem ambiente RAD e uma série de componentes com as facilidades do Visual Studio, mais um refactor poderoso.

O Java EE 6 vem pra recuperar muita coisa que o Java ficou pra trás, ao mesmo tempo que a plataforma avança na TV Digital, em Mobile e em Smartcards, áreas que o .NET não vem tendo sucesso em penetrar. Aliás, o próprio Windows Mobile vem perdendo mercado rapidamente.

O wxWidgets e o GTK são muito bons, mas o que me prende ao QT é uma arquitetura de componentes totalmente orientada a objetos e muito bem modelada.
O sistema de threads, network, estrutura de dados(fila, pilha, árvores, buffers, etc…). Fora que a ide é muito boa, existe ferramenta para internacionalização, e documentação muito bem escrita, com imagens e tudo mais. Sem falar que roda em tudo que é plataforma e dispositivo móvel.

M

O pior de tudo até aqui é que ninguem soube explicar porque tanta gente odeia C# .Net pq pelas respostas ninguem odeia, apenas discorda e cocorda com algumas coisas.

J

Nós aqui pelo visto, não odiamos nada. A gente só usa o que nos facilita resolver nossos problemas. E acho que é assim mesmo que tem que ser.

V

Acho que a resposta foi dada lá nos primeiros posts: “Por que é da microsoft”. Muita gente não concorda com as políticas da MS, e descarrega nas linguagens e produtos dela essa raiva.

Por muitos anos, ela não teve qualquer compromisso com manter compatibilidade entre versões da linguagem, por exemplo. Código VB4 não compilava no VB5, nem VB5 no 6… e isso gerou muita frustração.

Sorte que o amadurecimento do mercado e da concorrência forçou ela a mudar de postura. E o C# é um exemplo disso.

W

Muita gente odeia? De onde vc tirou isso?

Tem muito desenvolvedor usando .NET/C# por ai, nao sei no Brasil mas pelo menos US e Europa ta bem quente o mercado pra desenvolvedores em plataformas Microsoft.
Como ja colocaram, algumas pessoas falam que “odeia” simplesmente pelo fato de ser um produto da Microsoft e por falta de conhecimento da linguagem tb. Eu mesmo ja tive essa visao e cada dia que passa eu gosto mais da .NET framework e C#.

A unica coisa que pra mim falta no mundo .NET sao projetos open source, mas agora ta aparecendo muita coisa boa.

A tendencia eh ficar cada vez mais forte, o pessoal aqui da empresa acabou de voltar do PDC em Los Angeles e tem muita novidade.

Se vc quiser ver as novidades:

Outro video bom, criando uma aplicacao que utiliza MVC:

//Daniel

J

windsofhell:
Muita gente odeia? De onde vc tirou isso?

Tem muito desenvolvedor usando .NET/C# por ai, nao sei no Brasil mas pelo menos US e Europa ta bem quente o mercado pra desenvolvedores em plataformas Microsoft.
Como ja colocaram, algumas pessoas falam que “odeia” simplesmente pelo fato de ser um produto da Microsoft e por falta de conhecimento da linguagem tb. Eu mesmo ja tive essa visao e cada dia que passa eu gosto mais da .NET framework e C#.

A unica coisa que pra mim falta no mundo .NET sao projetos open source, mas agora ta aparecendo muita coisa boa.

A tendencia eh ficar cada vez mais forte, o pessoal aqui da empresa acabou de voltar do PDC em Los Angeles e tem muita novidade.

Se vc quiser ver as novidades:

Outro video bom, criando uma aplicacao que utiliza MVC:

//Daniel


Só tem uma coisa que lee precisam melhorar e se você usa, assim como eu sabe: a parte de códigos da IDE. É bem melhor que o Visual Studio antigão, mas não dá pra comparar com o Eclipse e NetBeans. Esse editor de códigos da M$ tá ainda meio que parado no tempo.
Agora, que .Net é mais flexível, que os componentes de ASP.Net são bem mais fáceis e flexíveis que o JSF 2.0, isso é inegável. É só ver a evolução do bicho.

J

É como o vini falou mesmo. O ódio é por causa da política da M$, como dizem. Mas qual empresa não cabe também um $ no nome!?

M

"

R

Temos que lembrar que quando o C# foi lançado ele foi considerado uma cópia barata (ou bastarda) do Java. Além disso ainda estava fresco na memória o processo da Sun contra a MS pelas alterações que esta fez no J++, quebrando WORA (alguém pode dizer afinal quais eram estas alterações?). E para terminar havia também o marketing super agressivo por parte dos evangelizadores do MS dizendo que o Java seria o passado e o futuro o C# com direito do cara da MS entrando em fóruns da Java para anunciar tais vantagens.
Felizmente hoje não há mais essas agressividade. C# já ganhou bastantes características próprias que não existem no Java adquirindo uma identidade própria. E me parece que o pessoal da MS ficou mais humilde.

Provavelmente porque a mesma pessoa que desenvolveu o Delphi - O Andres Henjberg (é assim que se escreve?) - foi o mesmo que desenvolveu (e ainda desenvolve) a plataforma .NET.

R

Eu realmente nunca trabalhei com .Net, mas conheço pessoas que trabalham e já trabalharam também com Java e não largam a praticidade do .Net.

Mas a nível de mercado de trabalho, acho que o .Net acaba tendo mais oportunidades, pelo menos a maioria das vagas que vejo aqui no Sul são para .Net.

Esse esquema citado no inicio do forum, o LINK, já utilizarem é bem legal. É como se você fizesse um Select dentro de um vetor, dai não precisa ficar percorrendo o vetor com for ou while.

R

Pra mim existe um furo neste tópico: estão misturando .Net (framework) com o C# (linguagem).
Eu vejo duas coisas diferentes (ambos da Microsoft mas com visão diferente).

J

RodyBr:
Pra mim existe um furo neste tópico: estão misturando .Net (framework) com o C# (linguagem).
Eu vejo duas coisas diferentes (ambos da Microsoft mas com visão diferente).

Estamos debatendo sobre .net que inclui c# junto. Mas não estamos confundindo linguagem com framework.

V

RodyBr:
Pra mim existe um furo neste tópico: estão misturando .Net (framework) com o C# (linguagem).
Eu vejo duas coisas diferentes (ambos da Microsoft mas com visão diferente).

É como acaba acontecendo com o Java. Numa discussão sobre, sempre falam concomitantemente da plataforma, da linguagem Java e da VM. Aqui, da mesma forma, fala-se da plataforma .net, da VM (incluindo o projeto Mono) e da sua principal linguagem, o C#.

R

Sou desenvolvedor .Net a cerca de 8 anos. Comecei testando a versão beta 1.0

O que posso dizer é que considero a linguagem C# formidável, o VS deixa a desejar (Bugs, lentidão e etc). A versão 2010 melhorou muito . Atualmente eu não tenho problema algum com a linguagem C# , tenho problema apenas com VS + SourceSafe, mas nada que impacta no produto final.

Em relação ao framework 4.0 o que destaco é o Entity Framework que na versão 2010 veio praticamente liso, sem bugs ( os que achei foram facilmente contornados, erro do VS). De fato a facilidade em se contruir uma camada de classes pertinentes é formidável. Agora não é necessário utilizar DataSets pode-se fazer pelo VS o mapeamento banco x codigo tudo em classes com collections. Antes já era possível fazer isso na unha com o C#, mas agora com VS 2010 é automatico :slight_smile:

No que trata-se de core de codigo VS/C# batem um bolão. Se partir para ASP.NET + AJAX vai penar ainda com os controles ASP.NET, bugs, incompatibilidades entre Browsers e etc. Isso é um problema bem chato em qualquer plataforma, pois a INTERNET continua com a mesma tecnologia desde o seu lançamento (TCP/IP) sendo que a camada de aplicação evoluiu anos luz. Com uma base tão antiga assim é comum enfrentar problemas com um topo evoluido.

Realmente o que me stressa mais é usar o AJAX, descobrir os erros de java script e colocar tudo para rodar com essas vastas opções de Browser utilizando os componentes ASP.NET

G

Acho que uma questão jocosa mesmo, algo para avacalhar ou coisa do tipo. Eu já usei C# para criar jogos bem simples usando o XNA, a linguagem é boa, mas sinceramente o ambimente do VS.NET não acho muito agradável de se programar, pois acho editores do NetBeans e IDEA mais objetivos e completos, ao mesmo eu pude verificar isso na prática, opinião minha.

Mas sem dúvida o C# tem seus méritos.

O

ViniGodoy:
RodyBr:
Pra mim existe um furo neste tópico: estão misturando .Net (framework) com o C# (linguagem).
Eu vejo duas coisas diferentes (ambos da Microsoft mas com visão diferente).

É como acaba acontecendo com o Java. Numa discussão sobre, sempre falam concomitantemente da plataforma, da linguagem Java e da VM. Aqui, da mesma forma, fala-se da plataforma .net, da VM (incluindo o projeto Mono) e da sua principal linguagem, o C#.

Acho que estão misturando sim, estão colocando argumentos sobre ASP.NET que não deveria entrar na disputa então. Se fosse assim teria que colocar SpringMvc/Struts/JSF na jogada também.

Sou programador-velho C# e agora comecei a usar Java, inclusive escrevi um post sobre isso no meu blog.
Meu maior problema com o C# é ter que rodar em arquitetura Windows e já tive tanto problemas com vírus que estou tentando migrar tudo para Java + Linux.
Porém, como dito em meu blog, a expressividade do C# é linda, assim como o LINQ. Pode falar o que quiser, mas é MUITO foda mesmo, só usando para ver como é bom.

J

Oenning:
ViniGodoy:
RodyBr:
Pra mim existe um furo neste tópico: estão misturando .Net (framework) com o C# (linguagem).
Eu vejo duas coisas diferentes (ambos da Microsoft mas com visão diferente).

É como acaba acontecendo com o Java. Numa discussão sobre, sempre falam concomitantemente da plataforma, da linguagem Java e da VM. Aqui, da mesma forma, fala-se da plataforma .net, da VM (incluindo o projeto Mono) e da sua principal linguagem, o C#.

Acho que estão misturando sim, estão colocando argumentos sobre ASP.NET que não deveria entrar na disputa então. Se fosse assim teria que colocar SpringMvc/Struts/JSF na jogada também.

Sou programador-velho C# e agora comecei a usar Java, inclusive escrevi um post sobre isso no meu blog.
Meu maior problema com o C# é ter que rodar em arquitetura Windows e já tive tanto problemas com vírus que estou tentando migrar tudo para Java + Linux.
Porém, como dito em meu blog, a expressividade do C# é linda, assim como o LINQ. Pode falar o que quiser, mas é MUITO foda mesmo, só usando para ver como é bom.

Rodar em win coisa nenhuma. O mono tá bombando ae. Roda até no nintendo wii

O

Nunca usei o Mono, mas não sei não ein, tenho minhas dúvidas sobre a compatibilidade disso.
Não com a compatibilidade das bibliotecas padrões do .Net, mas sim com frameworks como Ninject, NHibernate, etc.
Eu quando desenvolvo algo em C# não me preocupo em manter compativel com o Mono até porque não conheço, e muitas pessoas devem fazer o mesmo.

R

Adoro C# e Java.
O que vejo é muita modinha de algumas pessoas que acham que só porque fazem informática acham a sensação do momento gostar de qualquer coisa que não venha da Microsoft.
São duas linguagens que se influenciam mutuamente.
O fato da plataforma da Microsoft não rodar em Linux é obviamente uma escolha estratégica e não é por isso que vou deixar de usá-la, ainda mais alguns recursos importante que Java não tem.

J

Oenning:
Nunca usei o Mono, mas não sei não ein, tenho minhas dúvidas sobre a compatibilidade disso.
Não com a compatibilidade das bibliotecas padrões do .Net, mas sim com frameworks como Ninject, NHibernate, etc.
Eu quando desenvolvo algo em C# não me preocupo em manter compativel com o Mono até porque não conheço, e muitas pessoas devem fazer o mesmo.

O Hibernate funciona sem problemas no mono, até porque ele usa o que é padronizado do projeto .net. Em contrapartida, se você usa framework da MS não vai ter compatibilidade mesmo.

Mas enfim, a parte ruim hoje que eu vejo no java e a segmentação da tecnologia. É o ponto onde o .net é forte. Sobre a linguagem c#, ela já está bem madura.

G

Eu sinceramente acho bobagem as pessoas tomarem “partido” das coisas, como se isso de fato fôsse beneficiá-las de algum modo. Acho que toda forma de fundamentalismo é tola e irracional, portanto deve ser negada e excluída.

Criado 31 de agosto de 2009
Ultima resposta 30 de jun. de 2010
Respostas 159
Participantes 42