Logo Hardware.com.br
Boutrik
Boutrik Membro Junior Registrado
72 Mensagens 26 Curtidas

C# ou JAVA ? - Duvidas

#1 Por Boutrik 12/12/2015 - 01:46
Boa tarde pessoal !
Então, programo em C e estou pensando em aprender outras linguagens. Sou leigo sobre essas duas linguagens e o objetivo desse topico é vocês argumentarem e me convencer à usar uma das duas rsrsrrs.
Gostaria de saber os prós e contras dessas duas linguagens.
Sobre isso, ouvi boatos que o C# so funciona no Windows ?
E que JAVA é feito de C ?
Obrigado pela atenção e agradeço desde já,
Boutrik.
Responder
DiguinDeveloper
DiguinDevelo... Super Participante Registrado
313 Mensagens 148 Curtidas
#2 Por DiguinDevelo...
14/12/2015 - 09:30
Bom, quanto C# funcionar somente em windows, atualmente o maior suporte encontra-se nessa plataforma devido o já maduro .net framework, porém agora que a Microsoft transformou sua plataforma em opensource, não demorará muito para comunidades começarem a implementá-la em outras plataformas... Atualmente o projeto mono é o mais maduro, porém ainda com muitas incompatibilidades para plataformas unix...

Já o java, foi criado inicialmente em C++ (e não em C...), tanto sua virtual machine (JDK e JRE), quanto a linguagem em si, mas hoje fala-se na net (não posso confirmar a veracidade da informação) que as novas versões estão sendo criadas em java mesmo.

Tendo essas teorias em mente, a maior vantagem do java perante o C# atualmente a meu ver é o fato de o java ter sido criado nativamente "portável", com o tão famoso conceito "write once, run everywhere". Quanto ao C#, infelizmente não posso opinar, por não conhecer a plataforma nem a linguagem...

Acho que aumentei suas dúvidas ao invés de saná-las, rsrsrsrs....
Shura16
Shura16 Ubbergeek Registrado
2.5K Mensagens 601 Curtidas
#3 Por Shura16
14/12/2015 - 11:39
A resposta vai depender do que você vai trabalhar no futuro.

Estudei ambas e posso opinais um pouco mais.

Vou recomendar C# para aplicações desktop. Windows reina nos desktops, Linux e Mac são minoria e já tem projetos como o Mono para Linux para suprir essas necessidades.
Sim, C# tem bons frameworks web com o ASP.NET, mas não acho que se comparam (não quero criar flames, é meu gosto pessoal), além de ficar preso a servidores Windows que são mais caros.
Para mobile, ficará preso ao Windows Phone que também é minoria de mercado.

Já o Java, vou recomendar para aplicações Web pesadas e mobile com Android (que é maioria de mercado).
Sim, o Java tem o Swing e JavaFX para desktop, mas também não creio que se comparam com Windows Forms e WPF.

Em todo caso, as sintaxes são bem parecidas. Uma migração não é tão difícil assim.
Coragem não é ausência de medo e sim o controle dele.

Linux em casa!
Windows 10, na empresa!
Agora: Android no bolso!
Shura16
Shura16 Ubbergeek Registrado
2.5K Mensagens 601 Curtidas
#6 Por Shura16
14/12/2015 - 16:48
Boutrik disse:
@LostSoldier então é C++, pensava que era C.
@Shura16 então eu vou seguir seu conselho wink.png. Vou aprender o básico de C# depois eu migro para JAVA e aprendo o básico e depois eu migro para o C# para aprender o avançado.
Sobre o que vou fazer no futuro, eu não sei rsrs. Sou um hobbista e gosto muito de programar.
Obrigado pelos comentários,
Boutrik.

Na verdade, a ideia era se fosse para o mercado de trabalho...

Se for por hobby apenas, recomendo que siga pelo Java. Depois de aprender bem o Java, se for por curiosidade veja C#.


Mayk Martins disse:
estou aprendendo a programar também, mas onde estudo vou aprender em c# apenas, acredito que estarei bem suprido então de acordo com os comentários .

C# também tem um bom mercado principalmente para aplicações como SAP.
É mais por questão de gosto, mas o ASP.NET também é bom.
Coragem não é ausência de medo e sim o controle dele.

Linux em casa!
Windows 10, na empresa!
Agora: Android no bolso!
Fergo
Fergo Highlander Registrado
9.3K Mensagens 1.1K Curtidas
#7 Por Fergo
15/12/2015 - 09:55
C# é melhor estruturada que Java e tem sido muito melhor mantida e atualizada. Java parou no tempo e no âmbito web vai morrer, pois tudo tende a JS+HTML5+CSS, sem depender de plugins a parte.
C# hoje em dia é multiplataforma, foi-se o tempo que era exclusividade de Windows. Iria de C# sem pensar 2 vezes.
Site pessoal www.fergonez.net
Portfolio
www.fbirck.com
Artigos
Informática
Shura16
Shura16 Ubbergeek Registrado
2.5K Mensagens 601 Curtidas
#8 Por Shura16
15/12/2015 - 12:01
Fergo disse:
C# é melhor estruturada que Java e tem sido muito melhor mantida e atualizada.

Fergo disse:

Java parou no tempo

Concordo na parte desktop, por isso indico o C#.

Fergo disse:

e no âmbito web vai morrer, pois tudo tende a JS+HTML5+CSS, sem depender de plugins a parte.

Nem tudo, a parte server tem NodeJS, mas não ser para todos os casos.

Fergo disse:

C# hoje em dia é multiplataforma, foi-se o tempo que era exclusividade de Windows.

Tem o Mono, mas o suporte ainda não estaria 100%, está?
Coragem não é ausência de medo e sim o controle dele.

Linux em casa!
Windows 10, na empresa!
Agora: Android no bolso!
tpcvasco
tpcvasco General de Pijama Registrado
2.9K Mensagens 330 Curtidas
#9 Por tpcvasco
15/12/2015 - 13:53
Fergo disse:
Java parou no tempo e no âmbito web vai morrer, pois tudo tende a JS+HTML5+CSS, sem depender de plugins a parte.


No client pode ser, considerando o plugin, mas do lado dos servers (J2EE) ainda é bastante utilizado.
"Milhouse: - Médicos e bombeiros são heróis.
Bart Simpson: - Olha, as casas continuam pegando fogo e as pessoas continuam doentes. Os verdadeiros heróis são os Schwarzenegger's, os Stallone's, e, em menores proporções, os Vandame's..."
DiguinDeveloper
DiguinDevelo... Super Participante Registrado
313 Mensagens 148 Curtidas
#10 Por DiguinDevelo...
15/12/2015 - 15:43
Fergo disse:
C# é melhor estruturada que Java e tem sido muito melhor mantida e atualizada. Java parou no tempo e no âmbito web vai morrer, pois tudo tende a JS+HTML5+CSS, sem depender de plugins a parte.
C# hoje em dia é multiplataforma, foi-se o tempo que era exclusividade de Windows. Iria de C# sem pensar 2 vezes.


Bom, falando em linguagens de programação pode até ser, já que o java realmente sofre com o atraso devido burocracias/aprovações no que se refere novas implementações etc, passando por um processo um tanto lento, mas a plataforma java ainda continua robusta, suportando várias outras linguagens, dentre elas ruby, python, scala, groovy, etc... além do mais estamos sempre acostumados a utilizar a jdk/jre padrão da oracle, ou em alguns casos, usuários linux usam openjdk que diga-se de passagem está bem sincronizada com o desenvolvimento da plataforma principal... porém esquecemos que essa demora na aprovação de novas implementações é justamente para amenizar o impacto que causará em todas as implementações existentes, de fabricantes diferentes (não sei como funciona em .net, mas em java tudo é especificação inclusive a JVM, e as implementações ficam por parte de vários fabricantes, vide hibernate por exemplo é uma implementação da especificação JPA, primefaces é uma implementação da especificação JSF, sim JSF é uma especificação e não uma implementação, sua implementação se chama mojarra, entre outras), o que quero dizer com essa lentidão é que a plataforma java visa manter compatibilidade, não somente entre versões (sei que uma hora fica inviável manter compatibilidade com versões tão antigas, mas convenhamos que 90% do código que está rodando no mundo é legado, então...).

Um processo pelo qual eu acho que a microsoft não passa com a plataforma .net (até o momento, veremos mais pra frente com a liberação de seu código fonte), já que ela é quem determina quais implementações realizar, até qual versão será compatível, etc, etc... tendo isso em mente, é óbvio que a linguagem C# ganhará melhorias num tempo bem menor que sua concorrente.

Ufa, escrevi bastante e estou com os dedos doloridos, rsrsrs, por favor não interpretem minha opinião a favor do java e/ou contra C#, estou apenas "equilibrando a briga", rsrsrs.
Shura16
Shura16 Ubbergeek Registrado
2.5K Mensagens 601 Curtidas
#11 Por Shura16
15/12/2015 - 16:05
tpcvasco disse:
No client pode ser, considerando o plugin, mas do lado dos servers (J2EE) ainda é bastante utilizado.


A parte client web do Java não se resume ao "finado" plugin Java dos Applets.
Atualmente o Java pode gerar código HTML5 e Javascript dinamicamente através do JSP ou JSF por exemplo.

LostSoldier disse:

Ufa, escrevi bastante e estou com os dedos doloridos, rsrsrs, por favor não interpretem minha opinião a favor do java e/ou contra C#, estou apenas "equilibrando a briga", rsrsrs.

Não encaro como briga pois também gosto do C#, mas por questões de gosto, quando o caso é Web prefiro o Java. Já quando o caso é desktop, prefiro o C#.
Coragem não é ausência de medo e sim o controle dele.

Linux em casa!
Windows 10, na empresa!
Agora: Android no bolso!
Fergo
Fergo Highlander Registrado
9.3K Mensagens 1.1K Curtidas
#12 Por Fergo
16/12/2015 - 00:11
Só um adendo: Javascript (ECMA Script) e Node.js não tem nenhuma relação com o Java, são coisas completamente diferentes.

Quanto a parte multiplataforma do C#, o Mono tem andado a par com a implementação oficial da MS e, tirando algumas libs específicas para Windows, está 100% portável. A Unity3D por exemplo, utiliza C# como linguagem principal e gera assemblies para Windows, OSX, Linux, Android, iOS, BlackBerry, WP, PS4, PS3, XOne, X360, Wii U, etc...
Site pessoal www.fergonez.net
Portfolio
www.fbirck.com
Artigos
Informática
Shura16
Shura16 Ubbergeek Registrado
2.5K Mensagens 601 Curtidas
#13 Por Shura16
16/12/2015 - 11:11
Fergo disse:
Só um adendo: Javascript (ECMA Script) e Node.js não tem nenhuma relação com o Java, são coisas completamente diferentes.

Exatamente, algumas pessoas ainda confundem as linguagens!

Fergo disse:

Quanto a parte multiplataforma do C#, o Mono tem andado a par com a implementação oficial da MS e, tirando algumas libs específicas para Windows, está 100% portável. A Unity3D por exemplo, utiliza C# como linguagem principal e gera assemblies para Windows, OSX, Linux, Android, iOS, BlackBerry, WP, PS4, PS3, XOne, X360, Wii U, etc...

Uma vez experimentei o MonoDevelop e vendo novamente no site, não encontrei (e senti falta) do Windows Forms Designer e WPF Designer (e não sei se estes são compatíveis com Linux). Tais ferramentas tem no poderoso Visual Studio.

Saberia dizer se uma aplicação Windows Forms roda no Mono ou somente GTK#?

Sendo assim fica Top para aplicações desktop.
Swing do Java não é muito bom e o FX é meio complicado demais.

Outra coisa que queria aproveitar para saber, sabe se o ASP.NET tem algo como o JSF (puro ou com bibliotecas como primefaces) ou não?

Pois sei que no ASP.NET tem algo bastante semelhante ao JSP, mas não gosto deste.
Coragem não é ausência de medo e sim o controle dele.

Linux em casa!
Windows 10, na empresa!
Agora: Android no bolso!
elissonandrade
elissonandra... Tô em todas Registrado
1.3K Mensagens 166 Curtidas
#14 Por elissonandra...
17/12/2015 - 21:36
No meu ver, o java tenta ser intercambiável, fornecendo interfaces que façam produtos diferente conversar entre si, trabalharem juntos. Ele em si não implementa muita coisa, simplesmente tenta manter padrões que todos possam usar e implementar da forma que quiserem. Ele basicamente te diz o que você precisa fornecer, mas não te obriga a fazer de certa forma. Já o C#(e asp.net em geral) te dá tudo mastigadinho. Ele fornece ferramentas poderosíssimas em cima do que a microsoft já criou, como o mssql server, e faz de tudo pra tornar fácil que você use o que já tem pronto oficialmente, mesmo que vá muito além das suas necessidades.

Sim, concordo que o java parou no tempo em vários aspectos, quando experimentei C# em 2010 fiquei maravilhado com operações nativas da linguagem que nunca sonhei ser possível, e ainda hoje o java num tem metade das funções que eu conheci naquela época, mas também acredito que no java é mais fácil desenvolver pra desenvolvedores. Acredito que no java existe maior necessidade de frameworks independentes para atender necessidades genéricas como suporte a certo bando de dados, uso de certas tecnologias, etc, ao passo que no C# tudo que você quiser criar provavelmente vai estar anos luz atrás do que já foi feito oficialmente pela MS, mesmo que o seu seja mais simples e fácil de aprender e usar.

Resumo: você quer criar bibliotecas e frameworks para desenvolvedores usarem em seus projetos? Vai de java. Você quer criar projetos que vão ser úteis para pessoas que não usam programação? Vai de C#.
Responder Tópico
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal