Array
(
)

C Sharp x Java

Pedro Oliveira
   - 11 out 2015

Amigos do forum, sejam sinceros, para aprender da forma mais rápido mas com qualidade, qual tecnologia me indicam: C# ou Java?

Janaina Mendes
   - 11 out 2015

Essa é uma pergunta meio que complicada, pois eu estarei opinando sobre uma tecnologia que talvez não te agrade, eu aconselho você a conhecer o basico delas duas, assim você será capaz de dizer qual a melhor para si.

Pedro Oliveira
   - 11 out 2015

Entendo Janaina, mas pode opinar, quero apenas saber.

Eduardo Pessoa
   - 11 out 2015

Se você tem tempo, disposição e não desisti, vá de Java, mas mesmo com essas palavras, essas duas tecnologias, você terá que estudar orientação a objetos que por si só não é algo simples.

Malu Jana
   - 11 out 2015

Desktop ou Web Pedro?

Pedro Oliveira
   - 12 out 2015

Queria que fosse web.

Marcos Paulo
   - 12 out 2015


Citação:
Essa é uma pergunta meio que complicada, pois eu estarei opinando sobre uma tecnologia que talvez não te agrade, eu aconselho você a conhecer o basico delas duas, assim você será capaz de dizer qual a melhor para si.


Nenhuma é fácil, tem que estudar, se dedicar.

Pedro Oliveira
   - 12 out 2015

Vou conhecer um pouco dos dois, obrigado sra´s e sr´s.

Jothaz
   - 13 out 2015

Vou expressar minha opinião pessoal baseada unicamente em minhas experiencias. Apesar que atualmente não atuo muito como desenvolvedor, mas sempre que posso ainda gosto de por a mão na massa. E não quer dizer que o que vou escrever seja uma verdade incontestável.

A maioria das pessoas, principalmente aqui no fórum, que vão sugerir Java provavelmente nunca desenvolveu um projeto grande (500 ponto de funções ou mais), e usam Java para fins educacionais que é uma ótima opção, apesar de que ainda prefiro C++.

Eu comecei a trabalhar com Java e já participei de vários projetos utilizando esta tecnologia. E a vejo da seguinte forma:

Vantagens do Java:

1. A Orientação a Objetos do Java é consistente;
2. Arquitetura robusta e pensada por uma comunidade de pessoas e empresas;
3. Permite o desenvolvimento em equipe, pois permite modularizar melhor os projetos em pacotes, jars, etc;
4. Facilita encontrar erros mais cedo, pois utiliza variáveis fortemente tipadas e isso facilita que os compiladores e IDEs mostrem os erros antes da execução;
5. Por existir JVMs alternativas, diversas implementações de servidores de aplicação e inúmeros frameworks web e desktop, facilita a independência de fornecedor;
6. Permite a criação de apps desktop multiplataforma. Embora haja as dificuldades intrínsecas a isso, o java resolve essa questão melhor que a maioria das plataformas;
7. Grande número de frameworks.

Desvantagens do Java:

1. A curva de aprendizagem é grande e pode ser frustrante;
2. Dependência em configurar inúmero XMLs, memso hoje o conceito de CoC (Convertion over Configuration) esteja presente em diversas APIs do Java;
3. Não é barato hospedar sua aplicação, além do que existem multiplas forma de fazer;
4. Mesmo para escrever um "hello world" parace que é necessário ser um especialista em dezenas APIs;
5. As vezes algo que seria resolvido com um HTML estático acaba gerando um sitema que necessita de um servidor JEE e Gigas e Gigas de memória. Então é quase uma tendência usar canhões para matar moscas;

Atualmente tenho trabalhado com .net C# MVC e olha não fica a dever nada ao Java. Acredito que com: entity, linq, migrations, seeds e etc, fora a imersão no MVC, esta imbatível. Pois a rapidez no desenvolvimento, facilidade no aprendizado e robustez são inegáveis.

.Net vantagens:

1. Curva de aprendizagem menor;
2. Unicidade de fabricante garantido uma integração de melhor qualidade.
3. O .Net framework é distribuído em conjunto com o SO;
4. Integração com COM, COM+, DCOM, além da recente tecnologia Silverlight entre outras;
5. Multiplicidade de linguagens (C#. vb.net, j#, f# e etc) para serem usadas no desenvolvimento;
6. Tem muito material para estudo e a própria Microsoft disponibiliza muito material grátis.

.Net desvantagens:
1. É pago;
2. Número muito menor de soluções públicas e gratuitas;
3. Pouco código aberto;
4. Mudanças de versão na plataforma pode causar dores de cabeça por falta de compatibilidade;

Agora qualquer um que você aprender vai facilitar na aprendizagem do outro.

Só um dica não seja um programador dependente de ide. Pois vejo muitos posts aqui em que a pessoa nem sabe os conceitos básicos e quer usar uma IDE. Vejo muitos desenvolvedores que sem a IDE não vão alugar nenhum, na verdade nem conseguiriam programar. Então fixe os conceitos e aprenda para não se tornar um "enrolador".

Pedro Oliveira
   - 13 out 2015

Firmeza Jothaz, gostei dos pros e contras e me parece que as duas tecnologias ficam empatadas ou quase empatadas em termos de robustez e qualidade.

Pedro Oliveira
   - 13 out 2015

Começo com a Lógica de C#, Framework, Windows Forms?

Obs: conhecimento em logica(OK).

Pedro Oliveira
   - 18 out 2015


Citação:
Começo com a Lógica de C#, Framework, Windows Forms?

Obs: conhecimento em logica(OK).


???????

Jothaz
   - 19 out 2015

Sim seria um bom caminho solidifique seus conhecimentos e posteriormente web forms ou vá direto para MVC (que acho bem melhor).

Pedro Oliveira
   - 19 out 2015

Framework o conteudo é bem extenso!

Fernanda Acacia
   - 19 out 2015


Citação:
Framework o conteudo é bem extenso!


Mas é necessario.