C# ou Javascript

Boa noite amigos.
Sou iniciante e estou naquele sofrimento de escolher qual caminho seguir.

Independente de backend ou frontend, qual das duas linguagens vocês consideram ter uma curva de aprendizagem menor? Javascript ou C# ?

Boa semana a todos vocês!
 
C# e uma linguagem mais bem desenhada. Tudo funciona tal como e esperado, tem montanhas de bibliotecas incluidas (o .Net e vastissimo) e a abordagem a programacao orientada a objectos e classica: uma classe e uma definicao de um conceito, que tem um estado, e que se relaciona com outras classes atraves de heranca e polimorfismo. Uma classe herda metodos da sua classe mae (heranca) e e considerado do tipo do interface que implementa (polimorfismo)
Tem bastantes conceitos que precisas de aprender, mas se entenderes os fundamentos, nao ha surpresas. A maioria das linguagens orientadas a objectos funcionam assim, portanto ao aprenderes C#, estas a aprender conceitos que vao servir para Java por exemplo.

O Javascript foi desenhado em 10 dias, como sendo uma linguagem para fazer animacoes em websites. Comecou por ser bastante simples, mas explodiu nos ultimos anos e neste momento a definicao da linguagem e uma biblia com mais de 800 paginas. https://www.ecma-international.org/ecma-262/9.0/index.html#Title
O modelo usado para lidar com programacao orientada a objectos e o prototipo. Isto significa que os objectos (embora a keyword class esteja definida na especificacao da linguagem, javascript nao tem classes) se relacionam atraves de delegacoes de tarefas. Soa confuso? E porque e confuso :)
Nenhuma linguagem mainstream utiliza este modelo, pelo que se precisares de utilizar outra linguagem, vais ter de reaprender como os objectos se relacionam e em geral como organizar um programa.

A maioria dos programadores de javascript usam uma fraccao da linguagem (e muitas vezes mal). Como e so abrir um editor de texto, escrever umas funcoes e chamar o script na pagina, parece facil.

Em resumo, linguagens de programacao sao ferramentas: se so sabes usar o martelo, todos os parafusos parecem pregos :)
Javascript e a unica linguagem que corre no browser (e nao me venham ca com o webassembly, que isso ainda esta longe de ser util). Javascript pode ser usado no backend em Nodejs, mas tem as suas desvantagens: fazer programas que usam o CPU muito intensivamente nao faz sentido em Javascript (ou em Nodejs), porque nao da para dividir tarefas em threads por exemplo.
C# simplesmente nao da para ser usado directamente no browser, portanto se quiseres escrever um script que faz um botao piscar ou faz uma animacao qualquer, nao vai ser em C#.

Aprende a programar. A linguagem nao interessa muito, desde que aprendas os conceitos. Na minha opiniao, comecar com Javascript nao e bom, mas e so uma opiniao :)
 
Back
Topo