Back-end: Ruby on Rails vs C# .NET

Olá a todos os devs que lerem esse post e um ótimo dia para vocês!

Em breve estarei iniciando meus estudos em programação e estarei entrando em uma universidade, mas já pretendo estudar uma linguagem paralelamente ao conteúdo do curso da faculdade(Engenharia de Software).

Estou pesquisando bastante sobre o mercado, tecnologias, linguagens, etc. Há pouco tempo atrás, me interessei por Ruby e gostei de como ele funciona e programa nele, e recentemente, comecei a pesquisar um pouco sobre C# e realmente gostei.

Decidi que não irei focar no que está no "hype" e acabar estudando NodeJS pra Back-End, pois acabei tendo maior "afinidade" com o Ruby e o C#.

Entretanto, não sei qual dessas linguagens escolher para realmente começar a estudar ela e me aprofundar no Back-End (sei que existem muitos outros tópicos além de apenas uma linguagem de programação).

Por isso, peço a ajuda de vocês a me ajudarem a escolher uma delas e o por quê. Além disso seria útil considerar qual tem o maior mercado ou é mais versátil ou tem o maior ecossistema e coisas assim.

Desde já, obrigado!

Você não deu nenhum parâmetro então as pessoas estão livres para falar o que elas gostam mais e a informação será pouco útil para você. Só não é um grande problema, porque mesmo com parâmetros a chance da pessoa dizer o que gosta mais é grande.

Então já vou falar que gosto mais de C#.

Eu podia escolher qualquer linguagem porque estudo todas e trabalho com isso há 40 anos. Eu estudo sobre linguagens, não só as linguagens. Então isso te dá uma ideia do que estou falando.

Em termos de mercado acho que todos vão concordar que C# tem muito mais mercado que Ruby.

Você quer mais eficiência, robustez e produtividade de longo prazo ou mais facilidade e produtividade de curto prazo? Aí você escolhe C# ou Ruby respectivamente. Ambas podem fazer "tudo", mas C# fará com mais qualidade se o programador for bom.

Eu não sei avaliar bem o ecossistema de Ruby e posso falar besteira. Sei que é grande, de C# eu sei com mais conhecimento de causa e me dá a impressão de ser maior, pelo menos de forma mais estável, mas eu tenho viés.

Até onde eu sei Ruby está tendo cada vez menos adoção. Eu já esperava isso, não porque a linguagem é ruim, ela é melhor que muita coisa que está mais firme e está melhorando mais ainda, mas ela não diz a que veio, ela não tem nada de especial para adotar. Curiosamente aconteceu de uma outra linguagem manter popularidade depois que ela se modificou e passou ser igual a tantas outras melhores.

C# é um pouco mais enterprise, então ela é mais discreta do que Ruby que é mais de comunidade.

Dá para avaliar vários outros aspectos, de acordo com o cenário específico. perguntas mais específicas ajudam mais.

Faz sentido para você?

Espero ter ajudado.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

Obrigado pela resposta, ainda mais considerando toda sua experiência, então, de fato, é melhor seguir os conselhos dos mais velhos (com todo respeito). De certa forma, acredito que não ter dado nenhum parâmetro (nem sei quais seriam) foi útil, pois pude analisar e compreender melhor sua resposta, mesmo que enviesada. Melhor uma resposta enviesada, mas com fatos e argumentos concretos, do que uma resposta "imparcial" que defenda as duas tecnologias e não me ajude a escolher uma. Em termos de mercado, devo concordar com você, desde Julho venho pesquisado vagas para Ruby e são raras as que encontrei para estágio ou junior, sendo a maioria sênior. Ao que me parece, realmente tem poucas vagas para iniciantes ou a maioria estão sendo preenchidas através de networking e indicações. Quanto a curto ou longo prazo, prefiro longo prazo. Uma stack que esteja comigo desde o meu primeiro `Hello, World` até alguns anos de experiência consolidada. Dessa forma, com base em tudo o que você me enviou, é notável que C# é a melhor opção (para mim), pelo menos até agora. O que me resta, agora, é finalizar o Ensino Médio e entrar na universidade ano que vem. Obrigado por compartilhar sua opinião, foi de extrema importância 🫶!
Pesquisar vagas nem sempre é um bom parâmetro. Boa partae das vagas de C# não são anunciadas. Ruby deve ocorrer também, mas sei que em C# ocorre muito. Outras tecnologias também.
Isso é verdade, mas com uma pesquisa simples e em pouco tempo, eu encontrei mais vagas para desenvolvedor .NET do que Ruby, em mais de uma plataforma.
Quando falam dessas vagas que não são anunciadas quer dizer que os recrutadores que vão atrás ou que essas vagas são voltadas para indicações?
Geralmente indicações, mas também tem casos de apenas ficarem procurando as pessoas no Linkedin ou outras formas, em menor quantidade, ou pelo menos não tão diferente de outras linguagens.

Para aprender a programar e os conceitos, use a que mais gostar. Mas aqui coloca um ponto bem grande.

No fim, os conceitos são mais importantes que a linguagem que primeiro aprende. A grande maioria segue padrões matematicos e da industria, que depois verá igual ou parecido em qualquer outra.

Daí aprendido a programar e os conceitos, tais como paradigmas de OO e funcional, estrutura de dados, algoritmos, padroes de projeto, enfim, ai sim voce olha o mercado e cai em estudos nas tecnologias para conseguir seu primeiro trabalho.

Eu já gastei anos nessa paranoia de nao saber qual começar, e troquei umas 7 vezes de linguagem. Depois me deu esse insight de que mais perdi tempo escolhendo do que se tivesse pego uma só! O que é mais importante são os conceitos, então logo peguei a que mais gostei (Ruby) e segui com ela.

Como hoje já necessito procurar trabalho, inclui junto Java no estudo (bem melhor de mercado que Ruby). Todavia, deixo a Ruby como foco de assuntos novos e depois vendo como fazer na outra. A mim funciona, então levo assim.

Mas voce agora, novinho, no inicio ? UMA SÓ E SEGUE COM ELA.

Compreendo perfeitamente o que você quis dizer e é isso o que irei fazer, estudar apenas uma linguagem, além de todos os outros tópicos necessários para se tornar um desenvolvedor back-end. Obrigado pela resposta, bom domingo!

aí é fácil. é pesquisar em sites de emprego o que tem mais. c# ou ruby. o que tiver mais tu estuda. já adianto que o mercado de Ruby no BR é minúsculo e praticamente web. c# é mais abrangente web, desktop, jogos e mobile(mas quem que usa xamarim?)

Xamarin foi descontinuado pela Microsoft desde ano passado.