Plataforma Java x Plataforma .net

[quote=knowledgebr][quote=GouverMXT][quote=knowledgebr][quote=MaikoID]Não considero linguagem de programação, linguagem presa a uma única plataforma, isso pra mim é um bash orientado a objetos nem de longe é uma linguagem de programação.

A linguagem que mais tem mercado é C/C++ e que tem mais crescido para dispositivos embarcados é C/C++ ou estou errado? Dizer que as duas mais disputadas linguagens no mercado é Java e .Net é no mínimo tosco…

Abraço.[/quote]

C/C++ e outros como Delphi hoje é mito e passado, nem lançam mais nada novo sobre isso, o que manda hoje é sistemas no browser, estou aguardando uma ferramenta para desenvolver softwares tudo em web, sempre ouço aqui no GUJ, desktop está morto e tals, hoje é web, bom, to esperando uma IDE web super poderosa para gerar aplicações web, até hoje nada, ficar usando aplicações desktop é ir contra o progresso, esses netbeans e eclipse que tem que instalar em desktop é duro e um saco.[/quote]

Sem C/C++ o seu computador nem ligaria para você poder fazer esta postagem (errônea).[/quote]

Essa é a questão, postei pra chamar a atenção, muitos aqui falam com palavra definitiva, esqueçam o desktop, hoje tudo é web, fazer o que, falam tanto e colocam o desktop como o vilão da tecnologia que é um retrocesso, penso que ao contrário como falam, hoje há soluções diversificadas, e não chamar o desktop de legado, como postam ou anunciam alardeando, “Temos soluções web completas, removemos o legado desktop para melhor performance dos seus negócios”, é de ir quando se lê isso, tudo depende do negócio e o que é viável ou não para determinado tipo de aplicação, agora o sujeito dizer, “não sei ainda por desenvolvem aplicações desktop, não vejo senso”, aff, é o mesmo dizer que C/C++ e outras do gênero está morto.[/quote]

[post duplicado]

E lá vamos nós de novo discutir linguagens e ambientes.
Outra discução classica é CLT X PJ.
Entre outras.

Olha assim como quase tudo na vida, existem vantagens e desvantagens que devem sempre ser levadas em considerção.

Falar mal de C, C++, Delphi, Java, .NET ou se Desktop ou Web, isso sim é ir contra a inovação tecnológica.

Tem gente que faz soluções fantásticas em Delphi, e dizem que ela está fora do mercado.
Pra mim quem fala mal de uma linguagem ou ambiente, em 90% dos casos, é por que não conhece 1% do que ele é capaz de fazer.

A escolha vai da abtidão e como essa pessoa se ambientou com a linguagem escolhida.

Até acho que o evento de comparação pode ser interessante, mas irá depender da cabeça das pessoas que irão palestrar e das pessoas que irão assistir as palestras.

O que aconteceria se fizemos um evento Volkswagen X Ford ? ou Nintendo X Sony ? Será que iria ser produtivo ? Acho eu que todas discussões não teriam fim.

[quote=marcosalex][quote=cawink]
Até acho que o evento de comparação pode ser interessante, mas irá depender da cabeça das pessoas que irão palestrar e das pessoas que irão assistir as palestras.

O que aconteceria se fizemos um evento Volkswagen X Ford ? ou Nintendo X Sony ? Será que iria ser produtivo ? Acho eu que todas discussões não teriam fim.

[/quote]

Quem organiza esse tipo de evento quer ver o circo pegar fogo mesmo, pra ganhar ibope.

A própria Microsoft adora incentivar esse tipo de “briga” e não é raro nas apresentações e palestras os evangelizadores pregarem que os aficionados em .NET entrem nos fórums de Java e Delphi pra “defender sua escolha e trazer mais legionários” (sic).

O marketing pode não ser o mais honesto, mas funciona de forma eficiente. Tanto é que muito produto que mesmo tendo um mercado pequeno, tem-se a impressão de estar dominando a área.

Citei o exemplo da MS, mas várias empresas fazem isso, não só de tecnologia. Tenho um amigo que trabalhava de Gerente de Marketing na Ambev e quando eles lançavam uma cerveja nova, pagavam gente pra chamar uma turma de amigos e chegarem nos barzinhos pedindo a nova cerveja. Quando o dono do bar falava que não tinha, eles diziam que iriam embora porque só queriam aquela. Cada dia ia uma turma nova pedindo, assim o estabelecimento iria acreditar que estava perdendo clientes por não ter “a nova cerveja”.

[/quote]

Bom, o fato hoje que se não usar Java ou .NET, está fora, usar C/C++ e Delphi hoje é arriscado, C/C++ ficou para a infra estrutura mesmo, Delphi mesmo já era, segundo o pessoal deste fórum.

NOOB…ALGUMAS PESSOAS NÃO SABEM O Q FALAM!!

NOOB…ALGUMAS PESSOAS NÃO SABEM O Q FALAM!![/quote]

Você não deve ter lido, por isso não entendeu…

[quote=MaikoID][quote=xdraculax]
Depende de que mercado estamos falando, não é?
Como fariamos uma aplicação com persistência em banco de dados, distribuída, com concorrência e tudo mais que temos no Java por exemplo, em C++?

Pode botar mais uns Plus Plus desses ai :)[/quote]

Pelo que estou vendo, você não sabe muita coisa de c++ né? Tudo que se faz em Java se faz em C++, mas não é este o foco do tópico.

Existe um erro no tópico ao dizer que .net e java são as linguagens mais usadas no mercado, e como disse não há como comparar um bash orientado a objetos (.net) com uma linguagem de programação independente de arquitetura como o Java.

[/quote]

Eu acredito que C++ tem sua finalidade, e que Java tem as suas; o cara se irrrita e vem dizer que tudo que faz em Java, faz em C++.
Faz mesmo, faz até em assembly se quiser. A questão e se você faz isso antes do mundo acabar.
Eu conheço[não trabalho] nem com C nem C++. Na bancada do meu lado tem 3 caras trabalhando com as duas, e o que vejo é que eles fazem coisas com outras finalidades[mais baixo nível, melhor desempenho et…]. Já o pessoal do Java, cuida das aplicações para gerência e um software de um nível um pouco mais baixo, que gerencia um equipamento controlado por um software em C.
O que eu quis dizer é que Java é uma um nível de abstração bem mais alto que C++, não é melhor, simplesmente tem outra finalidade.
Você que entendeu errado.

Se não tivesse conhecimento das outras linguagens, não poderia comparar, como algumas pessoas fazem. Diz que uma linguagem ou framework não prestam sem nunca ter escrito uma linha de código, ou só ouviu os outros falarem.

[quote=sergiotaborda][quote=djemacao]Se souberem ver o lado bom de cada plataforma, ambas crescem. O difícil é que, quem sabe Java apenas, acha que .Net é um lixo e vice-versa. Cada uma tem seus defeitos, sim, mas também tem suas ótimas características.
Espero que seja um evento que eleve neste lado. O difícil é encontrar bons desenvolvedores que conheçam bem ambas as plataformas. E geralmente, eles não estão nestes eventos, infelizmente.[/quote]

Esta conversa politicamente correta é meio chata. Essas frases feitas sem sentido nenhum e que não significam nada.
Afinal que ótimas características são essas que apenas uma das plataformas tem que a outra não tem ?

O ponto não é discutir java x .net , mas discutir essa visão que vocês parecem ter que as plataformas são equivalentes ou que uma se destaca mais num campo e a outra noutro.

Palestras sobre as maravilhas da plataforma ou sobre fulano que fez o software X na plataforma Y não significam nada, pois para cada exemplo em uma, podemos dar um exemplo na outra.

Existe realmente algum ponto onde o .NET seja melhor escolha que Java ? Ou vice-versa ?

Conhecer as duas plataformas é interessante para qualquer arquiteto que tem que escolher entre uma e outra, assim como tem que escolher entre essas e outras plataformas do mercado ( por exemplo, JME vs Android ) mas que diferença real ha entre as duas plataformas que nos permite utilizar uma num cenário e não a outra ?

Para mim não ha diferença alguma nas plataformas em si. O conceito é o mesmo. As diferenças são práticas e económicas e isso não é responsabilidade da plataforma.

Alguem ter a gentileza de explicar, por favor, que cenários são esses onde uma aplicação tem mais vantagem ser feita na plataforma X que na Y ?[/quote]

Aplicação desktop pra Windows… Eu faria em Windows Forms.
Aplicação Web… faria com J2EE.
Aplicação Mobile [Empresarial]… Windows Mobile e Compact Framework e SQL CE
Aplicação Mobile [de Prateleira]… faria JME

Teria algum problema em fazer isso???

[quote=xdraculax][quote=sergiotaborda]
O ponto não é discutir java x .net , mas discutir essa visão que vocês parecem ter que as plataformas são equivalentes ou que uma se destaca mais num campo e a outra noutro.

Palestras sobre as maravilhas da plataforma ou sobre fulano que fez o software X na plataforma Y não significam nada, pois para cada exemplo em uma, podemos dar um exemplo na outra.

Existe realmente algum ponto onde o .NET seja melhor escolha que Java ? Ou vice-versa ?

(…)

Alguem ter a gentileza de explicar, por favor, que cenários são esses onde uma aplicação tem mais vantagem ser feita na plataforma X que na Y ?[/quote]

Aplicação desktop pra Windows… Eu faria em Windows Forms.
Aplicação Web… faria com J2EE.
Aplicação Mobile [Empresarial]… Windows Mobile e Compact Framework e SQL CE
Aplicação Mobile [de Prateleira]… faria JME
[/quote]

Tem que explicar as escolhas. Porque com esses e não com os outros ?

[quote=sergiotaborda][quote=xdraculax][quote=sergiotaborda]
O ponto não é discutir java x .net , mas discutir essa visão que vocês parecem ter que as plataformas são equivalentes ou que uma se destaca mais num campo e a outra noutro.

Palestras sobre as maravilhas da plataforma ou sobre fulano que fez o software X na plataforma Y não significam nada, pois para cada exemplo em uma, podemos dar um exemplo na outra.

Existe realmente algum ponto onde o .NET seja melhor escolha que Java ? Ou vice-versa ?

(…)

Alguem ter a gentileza de explicar, por favor, que cenários são esses onde uma aplicação tem mais vantagem ser feita na plataforma X que na Y ?[/quote]

Aplicação desktop pra Windows… Eu faria em Windows Forms.
Aplicação Web… faria com J2EE.
Aplicação Mobile [Empresarial]… Windows Mobile e Compact Framework e SQL CE
Aplicação Mobile [de Prateleira]… faria JME
[/quote]

Tem que explicar as escolhas. Porque com esses e não com os outros ?[/quote]

Bom, vamos lá :slight_smile:

Aplicações Windows Forms normalmente são pequenas, usam um bancos pequenos; pelos na minha humilde experiência. Normalmente também não temos muita perspectiva de portabilidade, as aplicações são tão especificas que normalmente ficam sempre para aquele cliente.
Com o Visual Studio, você tem maior produtividade nesse tipo de aplicação por causa de Linq, DataBind, e os componentes que já vem na .NET Framework (como DataGridView).

J2EE para web é bem melhor do que ASP.NET, nem tanto por qualidade técnica, mas sim políticas. Primeiro porque os conteinners são “de grátis”, no caso do ASP.NET você tem que usar o IIS e consequentemente comprar uma licença do Windows Server xxxx; ou montar um servidor meia-boa com o XP Professional. Os Data Provider “originais” só vem para SQL Server e Oracle, já limita um pouco. Com J2EE acho que nem preciso explicar a liberdade de bancos, frameworks e componentes gráficos.

Windows Mobile para aplicações empresariais. Porque aplicações empresariais mais especificas, que dificilmente você venderá para outras empresas, quase sempre se saem melhor com Windows Mobile, você possui mais recursos e facilidades do Visual Studio. Trabalhei por um tempo com WM, e não tenho o que reclamar, tanto em produtividade, quanto em qualidade. Conheço pessoas [dono de fábrica de software] que não tiveram sucesso com a utilização de JME; até hoje, sinceramente, não vi ninguém falando bem de JME [devo ter humildes 5 anos de mercado], mas essa não é minha opnião.
Por outro lado, se queremos construir uma aplicação para ser baixada por internet, ter grande utilização por diversos usuários de diversas plataformas, seria preferível usar JME.

Pelos menos a minha realidade é essa; onde você mora, ou seja, o mercado da sua região, pode ser diferente.
E eu acredito sim que software é algo muito contextual, nenhuma solução tecnologica [ou não] é 100% aplicável em todas as situações.

[quote=xdraculax][quote=sergiotaborda][quote=xdraculax][quote=sergiotaborda]

Alguem ter a gentileza de explicar, por favor, que cenários são esses onde uma aplicação tem mais vantagem ser feita na plataforma X que na Y ?[/quote]

Aplicação desktop pra Windows… Eu faria em Windows Forms.
Aplicação Web… faria com J2EE.
Aplicação Mobile [Empresarial]… Windows Mobile e Compact Framework e SQL CE
Aplicação Mobile [de Prateleira]… faria JME
[/quote]

Tem que explicar as escolhas. Porque com esses e não com os outros ?[/quote]

Bom, vamos lá :slight_smile:

Aplicações Windows Forms normalmente são pequenas, usam um bancos pequenos; pelos na minha humilde experiência. Normalmente também não temos muita perspectiva de portabilidade, as aplicações são tão especificas que normalmente ficam sempre para aquele cliente.
Com o Visual Studio, você tem maior produtividade nesse tipo de aplicação por causa de Linq, DataBind, e os componentes que já vem na .NET Framework (como DataGridView).

J2EE para web é bem melhor do que ASP.NET, nem tanto por qualidade técnica, mas sim políticas. Primeiro porque os conteinners são “de grátis”, no caso do ASP.NET você tem que usar o IIS e consequentemente comprar uma licença do Windows Server xxxx; ou montar um servidor meia-boa com o XP Professional. Os Data Provider “originais” só vem para SQL Server e Oracle, já limita um pouco. Com J2EE acho que nem preciso explicar a liberdade de bancos, frameworks e componentes gráficos.
[/quote]

Repare que vc entra em contradição. Se os dataproviders são um problema em web, não o são em desktop ? Afinal as facilidades do JDBC estão em ambas e as dificuldades do ADO.NET tb. É um pouco contra sentido.

Aceitando quem o drag and drop do visual studio é mais produtivo (o problema é que não definição do que “produtivo” significa)
se eu lhe desse uma ferramenta igual em java, vc usaria java em vez? Porque pela questão dos bancos e eliminando o problema de WYSIWYG do VS não ha mais diferenças ?

[quote]
Pelos menos a minha realidade é essa; onde você mora, ou seja, o mercado da sua região, pode ser diferente.
E eu acredito sim que software é algo muito contextual, nenhuma solução tecnologica [ou não] é 100% aplicável em todas as situações.[/quote]

Sim, escolher uma solução é um trade-off contextual, mas para cada exemplo que der em um, ha alguem que dará no outro.
Por exemplo, JME tem vários prefis, .NET é para smartphones (assim como android). JME tem maior espectro. E sim, a escolha é feita baseado no contexto. Mas o que vc falou é .NET tem ferramentas mais “produtivas” que java para certos tipos de aplicação.

Agora, alguem que usa netbeans vai argumenta que faz telas swing tão facilmente quanto vc com o VS, e programas ME tb.
Ora, ferramenta é algo fora do escopo da plataforma. Não responde à pergunta sobre a diferença entre as plataformas …

Só vou dizer uma coisa: a linguagem a ser escolhida não depende apenas de gostos do implementador ou de modismos, mas principalmente da característica da aplicação a ser desenvolvida.

Portanto, não adianda ficarmos discutindo qual é a melhor ou a pior, já que depende do projeto e sistema que cada um trabalha!

prometo que não falo mais nada neste tópico. Afinal na minha opinião seria pura perda de tempo…

[quote=thiagomont]Só vou dizer uma coisa: a linguagem a ser escolhida não depende apenas de gostos do implementador ou de modismos, mas principalmente da característica da aplicação a ser desenvolvida.
[/quote]

O ponto é que esse argumento é pura charlatanice. Que características são essas que fazem a diferença ? O que é possivel em um que não é no outro que justifique a escolha ? E não estamos falando só das linguagens e sim das plataformas como um todo. Das soluções como um todo.

Esse evento vai ser dos bons.
IFL in Brazil.

Vai ser como o congresso coreano, se um fala algo que outro não gosta vai voa cadeira.

[quote]
Repare que vc entra em contradição. Se os dataproviders são um problema em web, não o são em desktop ? Afinal as facilidades do JDBC estão em ambas e as dificuldades do ADO.NET tb. É um pouco contra sentido.[/quote]

Eu não disse que DataProvider são problemas na Web. Eu disse que o problema é licenciamento e tudo mais. A questão é que se você só possui dois data providers, você se limita 'a aqueles bancos, se quiser usar outros, não vai ter suporte. Por isso disse que você se limita.

[quote]
Aceitando quem o drag and drop do visual studio é mais produtivo (o problema é que não definição do que “produtivo” significa)
se eu lhe desse uma ferramenta igual em java, vc usaria java em vez? Porque pela questão dos bancos e eliminando o problema de WYSIWYG do VS não ha mais diferenças ?[/quote]

Não, a diferença não é simplesmente o WYSIWYG; mas o DataBind também, gerenciamento de boa parte das classes da framework de forma gráfica, que nas entranhas, são da plataforma em si, mas a ferramenta gerencia isso graficamente, o que só trás benefícios.

[quote]Sim, escolher uma solução é um trade-off contextual, mas para cada exemplo que der em um, ha alguem que dará no outro.
Por exemplo, JME tem vários prefis, .NET é para smartphones (assim como android). JME tem maior espectro. E sim, a escolha é feita baseado no contexto. Mas o que vc falou é .NET tem ferramentas mais “produtivas” que java para certos tipos de aplicação.[/quote]

Sim, é possível desenvolvedores equivalente construirem aplicações equivalentes usando VS e NetBens para Windows? Você confirma fortemente que o VS NÂO é mais produtivo para aplicações Windows?
Eu não. E gosto muito do NetBeans, acho uma ferramenta no mesmo nível do VS.

[quote]
Agora, alguem que usa netbeans vai argumenta que faz telas swing tão facilmente quanto vc com o VS, e programas ME tb.
Ora, ferramenta é algo fora do escopo da plataforma. Não responde à pergunta sobre a diferença entre as plataformas[/quote]

Pois é, mas no final das contas, queremos é produzir mais por menos, não importa se o quem lhe trouxe os benefícios foram a ferramenta ou a plataforma.
Concordo com você em partes, em outras nem tanto.

ps.: acho melhor eu ficar por aqui mesmo, pq só termina com besteira…
deixa pros caras discutirem lá nas palestras :slight_smile:
haiuheihaiuheua

Eu tenho a impressão que quando se discutem .net x java, os defensores do bash orientado a objetos só fazem programas de controle de estoque, aqueles que aprendemos na faculdade…

Eu sinceramente mesmo quando aprendi .net (num curso da MS) eu não usava os arrasta e solta porque queria saber o que esta por trás, queria eu mesmo fazer as coisas, pra aprender e principalmente pra confiança de que estava fazendo o de jeito certo.

Mas tudo bem você pode usar o drag and drop numa boa, o NetBeans tbem tem isto, mas num projeto sério quantas vezes você vai usar o drag and drop? Quantas vezes você não precisará checar se a conexão está bem feita, mesmo debugando ?Isso realmente é importante pra se definir se uma linguagem é melhor que outra ? IDE não é linguagem de programação e nem faz parte dela, se for pra decidir o desempenho de uma linguagem de programação baseada em sua IDE, C é a pior coisa que já existiu.

E fala sério eu prefiro mil vez o netBeans do que o MSVS, tanto no Windows quanto no Linux, o highlight dele, o renomear, a mapeação da localização das váriaveis é muito mas muito mais útil que drag-and-drop de conexão com base de dados. E posso aproveitar todos esses recursos utilizando-o pra C++, viu só ? IDE por IDE a minha é melhor que a sua, e isso não justifica o uso de determinada linguagem…

E gostei do caboclo ali que disse claramente, 'isto é charlatanismo, eu quero ver é os pontos do contexto que fazem escolher uma ou outra linguagem" Também estou doido pra ouvir a resposta.

[quote=MaikoID]Eu tenho a impressão que quando se discutem .net x java, os defensores do bash orientado a objetos só fazem programas de controle de estoque, aqueles que aprendemos na faculdade…

Eu sinceramente mesmo quando aprendi .net (num curso da MS) eu não usava os arrasta e solta porque queria saber o que esta por trás, queria eu mesmo fazer as coisas, pra aprender e principalmente pra confiança de que estava fazendo o de jeito certo.

Mas tudo bem você pode usar o drag and drop numa boa, o NetBeans tbem tem isto, mas num projeto sério quantas vezes você vai usar o drag and drop? Quantas vezes você não precisará checar se a conexão está bem feita, mesmo debugando ?Isso realmente é importante pra se definir se uma linguagem é melhor que outra ? IDE não é linguagem de programação e nem faz parte dela, se for pra decidir o desempenho de uma linguagem de programação baseada em sua IDE, C é a pior coisa que já existiu.

E fala sério eu prefiro mil vez o netBeans do que o MSVS, tanto no Windows quanto no Linux, o highlight dele, o renomear, a mapeação da localização das váriaveis é muito mas muito mais útil que drag-and-drop de conexão com base de dados. E posso aproveitar todos esses recursos utilizando-o pra C++, viu só ? IDE por IDE a minha é melhor que a sua, e isso não justifica o uso de determinada linguagem…

E gostei do caboclo ali que disse claramente, 'isto é charlatanismo, eu quero ver é os pontos do contexto que fazem escolher uma ou outra linguagem" Também estou doido pra ouvir a resposta.[/quote]

Você define as coordenadas de todos os componentes da tela no código pq quer ver como funciona? HEheh
parabéns, você é meu héroi hiuahiueua
E quem aqui falou que prefere um ou outro? Você lê ou interpreta caracteres?
Você está se doendo a toa. Se você defende que C++ é melhor em todas as situações, exponha seus argumentos, diga poruqe você defende isso.

Primeiro não me referi a desenho de GUI e sim de conexões, qualquer linguagem e qualquer IDE tras construção de GUI, estou destacando os recursos “especiais”.
Segundo não defendi C++ como melhor linguagem, e sim que tinha um erro no tópico ao considerar JAVA e .NET as maiores linguagens do mercado.
Terceiro já coloquei meu ponto de vista sobre o .net, diversas vezes, sobre sua incapacidade de ser multiplataforma, apesar que o monodevelop está ficando cada vez melhor, mas ainda assim não é suportado oficialmente pela MS.

Até agora seus argumentos foram sobre a IDE, o VS faz isto, faz aquilo e blah, blah… foi isto que ataquei, IDE não é linguagem…

[quote=xdraculax]

Heroi é quem ainda faz isso. Em java não se definem coordenadas de coisa nenhuma. Embora isso possa ser feito se necessário,
em java a composição de componentes visuais é portável também. Não entre OS, mas entre diferentes tamnhos de desktop e resolução…

Em java não se usa arrasta e solta porque não é necessário. A vantagem do WYSIWYG é apenas para design mode, para ficar experimentando como fica a tela. Mas na real, o design é feito por alguem antes da implmentação. Não ha experimentalismo.
Vc encaixa o codigo e voilá. Vc pode criar componentes usando for , while, if, etc… com um pouco mais de trabalho pode gerar a partir de xml ,etc…

Mas ai está uma diferença entre as plataformas : o posicionamento dos componentes na tela. Java permite explicito e dinamico. .NET é sempre explicito. Vão me dizer que fazer sempre no design mode é vantagem ?

[quote=MaikoID]Primeiro não me referi a desenho de GUI e sim de conexões, qualquer linguagem e qualquer IDE tras construção de GUI, estou destacando os recursos “especiais”.
Segundo não defendi C++ como melhor linguagem, e sim que tinha um erro no tópico ao considerar JAVA e .NET as maiores linguagens do mercado.
Terceiro já coloquei meu ponto de vista sobre o .net, diversas vezes, sobre sua incapacidade de ser multiplataforma, apesar que o monodevelop está ficando cada vez melhor, mas ainda assim não é suportado oficialmente pela MS.

Até agora seus argumentos foram sobre a IDE, o VS faz isto, faz aquilo e blah, blah… foi isto que ataquei, IDE não é linguagem…[/quote]

ta bom então… você tem razão… :lol: