Executando verificação de segurança...
5

Está longe de ser verdade que todo mundo só fala em JavaScript. É uma linguagem bastante falada, talvez a mais falada, não sei se a mais usada, mas a maioria das pessoas falam mais de outras linguagens do que JS. Pode ser que você observe só JS porque só quer ver isso, a internet é assim, você escolhe seu viés, até que ele começa escolher por você.

Ruby é bacana, mas nunca teve muita tração. Parece que piorou ultimamente. Eu gosto dela, mas não acho que ela deveria ter sequer a atenção que teve.

Só você pode decidir se vai embarcar nela. Só você terá as consequências boas ou ruins de adotá-la ou adotar outra linguagem. Qualquer pessoa aqui vai dizer algo de acordo com o viés dela e isso pouco ou nada te ajuda de fato.

Por que não Python ou PHP que são muito mais populares?

Ou por que não TypeScript que é perto de JS, mas é mais adequada para fazer aplicações?

Até aqui estamos falando de linguagens de script.

Quando falamos em Java ou C# a conversa começa ficar mais séria. De modo algum é nadar contra a maré, pelo contrário. E se for para fazer aplicações mais sérias, qualquer maré que se afastem delas e outras linguagens do tipo, é uma maré ruim do ponto de vista de engenharia, ainda que dê resultado, especialmente em coisas menos importantes.

Quase tudo o que encontrar na internet é o marketing mais vigente e não a engenharia mais adequada. Não é de hoje que descobriram isso e cada vez mais ele é usado. Não use a quantidade de conteúdo que tem na internet ou que você vê, até mais que do que existe, como definidor da ferramenta mais adequada.

Mesmo querendo falar de popularidade, que leva a pessoa pensar sobre ter vagas, é um enorme erro, porque o que é menos popular tem menos concorrência e por isso costuma ser até mais fácil achar vagas boas, em alguns casos paga-se muito mais justamente por ter pouca disponibilidade de mão de obra qualificada.

Aliás, aqui faço um ponto sobre qualificação. Linguagem não qualifica ninguém. Quem depende de uma delas não é qualificado para resolver problema, que é o necessário. A decisão de linguagem para estudar é absolutamente secundária e desvia do que importa de fato.

Entra mais rápido no mercado que tem mais capacidade para isso. Quem faz o adequado, quem sabe se vender, quem já está preparado em matemática, comunicação e expressão, ciência, quem tem pensamento lógico, capacidade de pesquisa, e de dar soluções para problemas. Se a pessoa for boa nisso entra até sem saber linguagem, se souber procurar. Porque é isso que falta, não é quem sabe linguagem.

Existem mercados e mercados. Eu só conheço o mercado de profissionais em desenvolvimento de software que tem alta demanda e baixa oferta. Mercados de pseudo programadores eu não conheço e não posso falar. Pode ser que ele seja maior no futuro, mas a concorrência também será, qualquer um pode entrar nele. IA pode ajudar muito nesses casos, em futuro talvez não tão distante.

C# e Java não são de baixo nível, nem C é, então a premissa está errada. Eu já respondi sobre isso em outras plataformas, há muito mito sobre o assunto.

Todas as linguagens são criticadas, JS mais que Java, junto com PHP, talvez sejam as mais criticadas. E quase sempre com propriedade. E tem sempre fanboys de qualquer linguagem que ficarão furiosos com a crítica porque eles amam a tecnologia. É até bonito de se ver, é romântico, mas não é engenharia. Todas as linguagens são criticáveis, algumas mais que outras, e todas as mais usadas são suficientemente boas para serem bem usadas, e por isso todas elas possuem milhões de usuários. Não estou falando de meia dúzia. Tem quem estude o assunto, linguagens de programação é a área da computação das mais fascinantes e que mais gosto. Nem todo mundo têm opiniões sem base pra criticar ou elogiar uma linguagem, mas a maioria sim. Porque a pessoa não tem esse estudo não quer dizer que todo mundo não tem.

Existe linguagem para iniciante aprender a computação e existe linguagem para iniciante começar trabalhar. Para começar trabalhar depende muito do contexto, eu não vejo muita diferença qual linguagem vá, desde que ela tenha vagas e a pessoa se vire bem com ela. O início depende mais das atitudes da pessoa. Claro que algumas linguagens podem ser mais fáceis de abrir portas, eu tenho sérias dúvidas que alguém possa responder qual seria, de forma confiável. Em geral será só uma opinião não muito mais útil que eu te dar os números da Mega Sena para jogar esta semana. Todas mais mainstream podem ir bem.

Para aprender computação de forma séria, eu indico C. Se quer mais detalhes procure sobre meus conteúdos. Isso não é algo que eu decidi sem base, foram 40 anos trabalhando na área, conhecendo muitas experiências, dando aulas, e estudando sobre o assunto, eu sei das desvantagens dela nesse contexto, eu acho que eles são aceitáveis e até mesmo desejáveis. Não é para trabalhar com ela, é para aprender.

Eu sei que a maioria das pessoas não desejam se inserir no mercado de forma séria, só querem um emprego rápido. Eu não posso ajudar com isso, só posso lamentar e desejar boa sorte, o mercado precisa de gente séria entrando. Sem seriedade entra muita gente todos os dias e algumas já reclamam que não tem espaço para elas. Mas ainda tem vaga para muita gente assim, então sem alarmes para quem não gosta do que eu digo. Escolha seu caminho, eu não vou jogar pedra em quem escolhe outros que eu não gosto, não sei o que é melhor para todo mundo.

Linguagem não tem segurança, segurança se dá pela capacidade das pessoas fazerem com segurança. Em todas as linguagens pode-se fazer coisas inseguras. Talvez a linguagem que mais tem insegurança vista por aí seja PHP, mas pode ser JS. Não que elas tenham qualquer problema com isso, é que elas são usadas por pessoas com menos conhecimento sobre o assunto. Mas tem muita gente, muita mesmo, que faz tudo seguro nelas. Minha observação lindando com muita gente, só vejo essa tendência maior porque são as linguagens mais populares e que algumas pessoas acham mais fáceis. É só uma questão de atração. Mas vejo alguns desses erros sendo cometidos em Java ou C# também.

Claro que tem linguagens que facilitam um pouco fazer coisas mais inseguras, mas facilitar não é o mesmo que ser inseguro. Elas facilitam também obter certos resultados que não consegue ou não é fácil em outras linguagens. C é uma dessas linguagens, Por isso não a recomendo para a maioria das pessoas. Se você entrar seriamente no mercado saberá se ela é para você no momento oportuno.

É necessário fazer escolhas com base em fatos, não é achismo, nem opiniões alheias. O conhecimento é que dá poder para as pessoas, inclusive de obter vagas e ganhar mais. Repetir o que todo mundo faz sem entender o que está fazendo tem nome, é analfabetismo funcional. Fuja dele, prepara-se. Saiba porque decidir por uma coisa ou outra, com fatos.

private nada tem a ver com segurança, é algo sobre manutenibilidade. De qualquer forma vale o mesmo para todas as linguagens. Não se preocupe com segurança agora, inclusive não aprenda errado. Se treinar o erro é ele que fará para sempre. Segurança é um tema mais avançado que poucas pessoas estão preparadas no começo.

Não quer usar tipos no código? E não vai criar testes para verificar se isso está certo, e que é bem mais trabalhoso que colocar o tipo no código, fora que é mais fácil cometer erros, e assim parecer que dá menos trabalho? Bem, então você não quer robustez. Sem tipagem estática e sem extensivos testes de unidade em "linguagens dinâmicas", esqueça robustez. Isso não é programação séria.

Eu prefiro "linguagens estáticas" para aplicações, para robustez. E prefiro "linguagens dinâmicas" para scripts que terão pouca ou nenhuma manutenção ou tem uma complexidade mínima. Eu aumento a produtividade para criar e quase não tenho custo extra depois, e tenho robustez no "olhômetro" porque é algo simples. Mas quando faço aplicações eu preciso muita robustez, não preciso ser produtivo para criar, preciso ser para dar manutenção, e muitas vezes preciso de eficiência do código e outras características que só certas linguagens oferecem. Robustez em linguagem de baixa cerimônia só acontece com muito trabalho de testes. Algumas pessoas não pensam assim. Eu nunca vi bom resultado fazendo diferente, mas só é problema meu no que eu estou envolvido.

Um dos motivos de eu não gostar das tecnologias web é que elas não são estáveis. Elas mudam sem muita preocupação com compatibilidade, e sem aviso. A maioria das pessoas gostam. Minha experiência me indicou outro caminho. Não posso dizer o que é bom para os outros, só pra mim.

No longo prazo frameworks só atrapalham, na maioria dos casos. Em alguns até no curto. Há alguns que podem mais ajudar que atrapalhar. Existem frameworks que são obrigatórios, mas curiosamente as pessoas nem percebem que estão usando um :) Eu não quero me estender no assunto porque começa fugir do foco e eu tenho uma posição menos aceita do que a as outras questões, ainda que alguns dos melhores profissionais que eu conheci pensam o mesmo. è um problema parecido com o anterior.

Para encerar a polêmica. Hje muitos programadores são Sandoval Quaresma. ENtendem uma parte d oque precisa entender da computação, mas acham que sabe tudo. Então eles conseguem ter propridade em alguns pontos, mas quando sai do mais raso eles se enrolam. Nenhum problema quando reconhecem isso. É um enorme problema para si próprio, porque evita ele evoluir, quando acha que não acontece com ele. A amioria das questãoes são mais profundas do que a pessoa imagina.

Sei que algumas pessoas não gostam de ouvir essas coisas, mas é a dura realidade. Eu não criei o que estou relatando, estou só passando a mensagem.

De qualquer forma você terá que tomar decisões por conta própria. Se veio aqui buscando validação gostará das respostas que dizem o que quer ouvir, mas eu sei que estou colando um contraditório para a maioria. Eu sempre estou disponível para desenvolver o assunto em perguntas especpificas. Eu sou bem comprometido. Mas quase tudo que queira saber já respondi em alguma plataforma.

Evite criar mitos baseados em informações falsas na internet. Se fizer isso já estará em diferencial.

Este caminho não é o único que funciona bem, mas esse, feito corretamente eu sei que funciona. Os outros eu não costumo ver funcionando, mesmo que algumas pessoas achem que funcione, que pareça funcionar.

Espero que tenha sido útil. Eu tento ajudar da melhor forma, sendo realista. Nem todo mundo gosta, mas eu preciso manter minha integridade.

Farei algo que muitos pedem para aprender 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).

Carregando publicação patrocinada...
1

Cara, sou programador há uns 8 anos e esse comentário seu foi tão rico que me deixou impressionado.
Repasse seu conhecimento, eu adoraria ter um cara como você como meu conselheiro.

1
1

Cara, primeiramente muito obrigado, esse comentario respondeu muitas perguntas e ajudou muito em muita indecisão pessoal sobre minha carreira e futuro profissional.
Fiquei 1 ano em JS, TS (front-end), vou manter em C# e pegar a base forte (to aprendendo bem em C#, JS e TS eu tava avançado fazendo bastante aplicação com frameworks mas sem entender, o analfabetismo funcional realmente é algo alarmante que eu não tinha notado, provavelmente essa mudança faça eu demorar mais 1 ano pra entrar no mercado de trabalho, mas enfim, pelo menos fazendo algo com total confiança que não vai dar erro em produção.

Obrigado pelo comentario, vou procurar seus conteudos pra ler mais.

1

Meu mano, to seguindo esse caminho que você já trilhou...
Gostaria de saber se está feliz com a sua escolha de migrar para o C#, e se possível um resumo de como anda seu progresso (Emprego, projetos, sua satisfação com a linguagem).
Estou bem no inicio, optei por JS porém aquela dúvida de "e se" me assombra.

1

irmao, eu fiquei dois anos estudando programação e nao tive oportunidade, larguei tudo e to focando em musica, estou de CLT em provedor de internet e montando meu home-estudio para lançar musica, mas larguei programação, eu moro no interior