Java e C#

Bom, comecei a desenvolver em java a pouco tempo, e paticularmente estou gostando muito, ma so problema é q desenvolvo para desktop, e java tem o problema de ser um poico lento para desktop, como todos sabem, dae ouvi falar q C# é bem rapido para desktop, mais fico meio assim de largar mao do java pra aprender C#, vou desenvolver um projeto desktop, e ele precisa ser bem rapido nos processamentos, e deve rodar em uma maquina não muuito boa…media…Li uns tópicos akii no GUJ, mais ainda estou indeciso, gostaria da opnião de v6…

Parto pro C#, ou constinuo firme e forte no Java?

Aprenda os dois. Ou sua cabeça é do tamanho de uma cabeça de palito de fósforo? Quanto mais você aprende, mais você sabe que não sabe é coisa nenhuma. Então aprenda os dois.

http://www.guj.com.br/posts/list/14889.java

Aprende eu vou aprender os dois ctz…mais acho q nao ficou muito claro minha duvida, Para desenvolver esse projeto que eu mencionei, devo usar C# ou JAVA? , como sou novo em ambas, vou ter q me dedicar mais a uma das duas no momento.

Java é lento para desktop? Des de quando?

Acho q isto é uma opinião equivocada… há tanta coisa em Java para desktop e nada lento, muito pelo contrário, uso o Netbeans, o SmartSVN, Eclipse, e por ai vai… tudo em Java Desktop… e ai?

E semana passanda precisei fazer um applet (não deixa de ser desktop) manhoso aqui e ficou nos trinques.

Aprende eu vou aprender os dois ctz…mais acho q nao ficou muito claro minha duvida, Para desenvolver esse projeto que eu mencionei, devo usar C# ou JAVA? , como sou novo em ambas, vou ter q me dedicar mais a uma das duas no momento.[/quote]

Ha é se vc é novato simplesmente não faça! Não faça nada sério enquanto ainda for novato, so vai fazer merd@!

Vá com calma, aprenda bem uma coisa e depois faça coisas para ir para produção.

O que vc quer fazer é o mesmo q dar um tiro no pé.

[quote=eduveks]Java é lento para desktop? Des de quando?

Acho q isto é uma opinião equivocada… há tanta coisa em Java para desktop e nada lento, muito pelo contrário, uso o Netbeans, o SmartSVN, Eclipse, e por ai vai… tudo em Java Desktop… e ai?

E semana passanda precisei fazer um applet (não deixa de ser desktop) manhoso aqui e ficou nos trinques.[/quote]

Bom, desculpa se falei beteira, mas como eu disse sou iniciante, e como todo bom iniciate…li varias coisas…e em algumas deleas diziam q java desktop é lento, inclusive aki no guj tem um topoco q diz isso( http://www.guj.com.br/posts/list/14889.java )…

não estou dizendo q ele é estremamente lento, mas sim mais lento que outras tecnologias…

Hum… normalmente por aí eu vejo que o pessoal faz programas para desktop em .NET e para servidor em Java ou .NET. Para fazer programas desktop que funcionem bem em Java é preciso um pouco de dedicação e estudo, porque é muito fácil fazer programas desktop Java que sejam lentos.

Sim eu concordo que ele seja mais lento que .net mais vc tem que levar em consideração quais vantagens o java (mesmo em desktop) traz para vc!!!
Hibernate , SWING (MVC), Mysql…
http://www.javaworld.com/javaworld/jw-04-1998/jw-04-howto.html

[quote=caloro][quote=eduveks]Java é lento para desktop? Des de quando?

Acho q isto é uma opinião equivocada… há tanta coisa em Java para desktop e nada lento, muito pelo contrário, uso o Netbeans, o SmartSVN, Eclipse, e por ai vai… tudo em Java Desktop… e ai?

E semana passanda precisei fazer um applet (não deixa de ser desktop) manhoso aqui e ficou nos trinques.[/quote]

Bom, desculpa se falei beteira, mas como eu disse sou iniciante, e como todo bom iniciate…li varias coisas…e em algumas deleas diziam q java desktop é lento, inclusive aki no guj tem um topoco q diz isso( http://www.guj.com.br/posts/list/14889.java )…

não estou dizendo q ele é estremamente lento, mas sim mais lento que outras tecnologias…[/quote]

Duas coisas:

:arrow: Vc leu na segunda página o que o Luca diz?

:arrow: Vc reparou na data do tópico? 2004! Epa acho que já passaram 4 anos e muita coisa muda, inclusive o Java esta cada vez mais rápido, fizeram varias melhorias de 2004 pra cá…

[quote=rdgms]Sim eu concordo que ele seja mais lento que .net mais vc tem que levar em consideração quais vantagens o java (mesmo em desktop) traz para vc!!!
Hibernate , SWING (MVC), Mysql… [/quote]

Sem entrar na discussao de qual eh melhor (ate porque eu gosto mais de Java)
Da pra usar NHibernate e mysql em .NET :slight_smile:

.Net pode ser extremamente dependente da plataforma windows portanto se vc quer aprender C# de uma olhada no projeto Mono :wink:

[quote=caloro]Bom, desculpa se falei beteira, mas como eu disse sou iniciante, e como todo bom iniciate…li varias coisas…e em algumas deleas diziam q java desktop é lento, inclusive aki no guj tem um topoco q diz isso( http://www.guj.com.br/posts/list/14889.java )…

não estou dizendo q ele é estremamente lento, mas sim mais lento que outras tecnologias… [/quote]

Então…realmente o Java para desktop (swing) ÉRA mesmo considerado muito lento comparado com outras linguagens como VB, Delphi etc…mas isso foi ajustado nos últimos anos devido ao apelo da comunidade (porque não éra a idéia inicial) e hoje ficou mais competitiva em relação a isso.

Mas voltando ao seu ponto é o seguinte: A performance nem sempre está diretamente ligada a linguagem aplicada e sim a qualidade do código e a arquitetura adotada sem falar na dedicação do desenvolvedor na busca pela velocidade.

Talvez se vc falasse um pouco como é o seu projeto o pessoal desse algumas idéias para lhe ajudar na decisão.

flws

[quote=eduveks][quote=caloro][quote=eduveks]Java é lento para desktop? Des de quando?

Acho q isto é uma opinião equivocada… há tanta coisa em Java para desktop e nada lento, muito pelo contrário, uso o Netbeans, o SmartSVN, Eclipse, e por ai vai… tudo em Java Desktop… e ai?

E semana passanda precisei fazer um applet (não deixa de ser desktop) manhoso aqui e ficou nos trinques.[/quote]

Bom, desculpa se falei beteira, mas como eu disse sou iniciante, e como todo bom iniciate…li varias coisas…e em algumas deleas diziam q java desktop é lento, inclusive aki no guj tem um topoco q diz isso( http://www.guj.com.br/posts/list/14889.java )…

não estou dizendo q ele é estremamente lento, mas sim mais lento que outras tecnologias…[/quote]

Duas coisas:

:arrow: Vc leu na segunda página o que o Luca diz?

:arrow: Vc reparou na data do tópico? 2004! Epa acho que já passaram 4 anos e muita coisa muda, inclusive o Java esta cada vez mais rápido, fizeram varias melhorias de 2004 pra cá…[/quote]

Exato, olha a data do topico: 17/08/2004 09:03:27

Cuidado ao fazer buscas no GUJ e nao olhar a data do topico.

Ele tinha a fama de ser lento mesmo, mas isso era no java 1.3 ou 1.4, do 1.5 em diante que mais utilizei, tirando os segundos iniciais para startar o programa de resto considero a velocidade como qualquer outra linguagem, normal, e eu vim do Delphi.

Bom, vlw por todas as respostas, vou prestar mais atenção nas data…hehehe…e fico mais tranquilo qto a minha escolhe…Java…vlw mais uma vez…e até mais…

“Lento?! THIS IS JAVAAAAAAAA” Leônidas sobre Java

Concordo plenamente! Já vi várias vezes app DotNet Desktop lenta também. E, assim como no Java, esse assunto precisa de um pouco de atenção.

Sensacional o tom socrático!!

Compartilho da mesma opnião. Ainda mais considerando que a sintaxe, ao que me pareceu nas minhas curtas viagens ao mundo C#, são muito parecidas.

Como eu sempre digo (digo porque ouvi falarem e me parece muito sensato): Não se prendam a tecnologias. Seria ótimo pro seu gerente se você fosse capaz de indicar a melhor solução para resolver o problema dele/cliente.

Já fui apaixonado pelo Basic, DBase III Plus programado, Clipper, Delphi e hoje amo o Java. Mas sou promíscuo. Amanhã posso estar amando outra. Isso é adaptação, sobrevivência.

No meu penúltimo emprego tinha cabra apaixonado pelo Win98 (em pleno 2005). Advinhou? A máquina dele era a que dava a maior dor de cabeça. Não estou dizendo para mudar de tecnologia como muda-se de roupa (Até hoje não uso o Vista pq achei uma m****), mas a partir do momento que foi provado que a tecnologia está estável, pq não mudar??

Muito mais se dá com linguagens contemporâneas e que possuem a mesma eficiência para requisitos diferentes. Pq o preconceito? Abrir a cabeça, este é o ponto. Ainda mais quando estamos num momento de aprendizado, como a maioria de nós estamos.

Outro exemplo: Estou querendo melhorar a minha arquitetura, minha OO. Assim, a assinatura do victorwss (Acho que é isso): “Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opnião formada sobre tudo”, foi uma coisa que me fez pensar. Todos os dias estou descobrindo uma forma melhor de fazer as coisas, aí eu pergunto: Pq não refatorar? Crio um sistema piloto, vejo se a bagaça faz sentido e refatoro mesmo, sem dó nem piedade. E tem funcionado.

Aprendam a programar bem, entendam a OO. Assim, creio eu, tecnologias, sintaxes, não serão mais do que um empecilho de 15 dias.

E vamos que vamos!!

Abraços

“Lento?! THIS IS JAVAAAAAAAA” Leônidas sobre Java[/quote]

ruhrauarhuarhrau boa!

[quote=caloro]Bom, comecei a desenvolver em java a pouco tempo, e paticularmente estou gostando muito, ma so problema é q desenvolvo para desktop, e java tem o problema de ser um poico lento para desktop, como todos sabem, dae ouvi falar q C# é bem rapido para desktop, mais fico meio assim de largar mao do java pra aprender C#, vou desenvolver um projeto desktop, e ele precisa ser bem rapido nos processamentos, e deve rodar em uma maquina não muuito boa…media…Li uns tópicos akii no GUJ, mais ainda estou indeciso, gostaria da opnião de v6…

Parto pro C#, ou constinuo firme e forte no Java?[/quote]

como em tudo na vida depende de quanto tempo vc tem para fazer o sistema, quanto complexo ele é, e qual é a sua preocupação com a manutenção. O sistema usa banco de dados ? usa gráficos 3D ? Usa um servidor de aplicação centrar ou vai direto no banco ?

Se o sistema é simples o suficiente para vc poder passar algums tempos (3 meses) mexendo com Swing, vá de java.
Se vc tem pressa vá de C#. O RAD do .NET vai ajudar a fazer a aplicação rápido, mas não necessariamente bem.

Java para Desktop executa tão ou mais depressa que .NET o ponto é mais complexo que “arrastar e soltar”. Ajudar vc ter boas noções e prática de OO e conhecimento de padrões, em especial o Observer o Command. Em .NET o tratamento de eventos é diferente e a meu ver mais complexo que o do java, mas o RAD tem a suas vantagens.

Se vc quer aprender a mexer com desktop para o futuro, vá de java. Aprender Swing é uma boa aposta a qualquer momento da carreira do programador java porque os seus mecanismos são tb a base de muitas outras tecnologias.

O .NET tem a desvantagem de não ser retrocompativel o que significa que provavelmente vc via jogar fora o seu codigo quando sair o proximo .NET Framework. O Java não tem esse problema. Portanto é necessário saber quando tempo vc quer que a aplicação dure. Para sempre = java.

Agora um detalhe, o modelo de implementação do Swing é single-threaded. Ou seja, todos os eventos e desenho de tela acontecem na mesma thrread. O programador inexperiente não sabe disso ou não entende o que isso significa e coloca codigos de processamento longo (loops ) dentro de tratadores de eventos do Swing. Isso faz a thread do swing ficar sobrecarregada e o sistema lento. Não é o Swing que é lento, é o codigo que os programadores incluem nele. É preciso ter esta noção para programar corretamente em swing, sempre abrindo novas threads quando ha trabalho demorado para fazer. Sempre apresentando uma barra de progresso, essas coisas…

Swing não é lerdo, lerdo é quem programa Swing sem threads.