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

Todo mundo só fala em JS, então devo estudar Ruby, C# ou JAVA e correr contra a maré?

Esse topico foi criado com o intuito de cada um com sua experiencia de programação ou trabalho (+1y) dê sua opinião.
Atualmente a maior parte de conteudos em comunidades dev é sobre Javascript e FRAMEWORK'S, mas a questão é:
1: Uma pessoa estudando JS e frameworks entra mais rapido no mercado? sim, mas a longo prazo nenhum framework se mantem, se a pessoa saturou o mercado e não tem bons fundamentos de programação em si, ela vai ficar defasada? ou o mundo está se encaminhando para low-code?

2: Linguagens de baixo nivel (nada como assembly, um C# e JAVA já está otimo) a longo prazo são as melhores linguagens e o melhor caminho para iniciantes? mesmo que todo mundo só fale de JS e critique JAVA?

3: A segurança das linguagens tem algum peso realmente relevante ou é o dev que faz ela ser segura ou não? por exemplo, a tag private em typescript não é realmente privada quando compila para JS, mas isso tem algum peso, ou o unico problema seria dentro da propria equipe alguem fazer caquinha? (posso estar errado, mas nodejs não é usado para tratamento de dados realmente sensiveis como saldo bancario e transações?)

4: Vale a pena passar trabalho e quebrar a cabeça estudando C# com tipagem em tudo que é metodo ou é melhor seguir a maré e se manter em TS, JS e frameworks que facilitam a nossa vida mesmo que a cada atualização quebre o codigo?

5: Framework's ajudam ou atrapalham ao longo prazo???

Obs: Pode conter erros nas perguntas, correções e questões mais importantes são a chave de um bom topico bem comentado.

Carregando publicação patrocinada...
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).

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

2

. Linguagens de programação mudam a cada semestre, brota um framework a cada semana, aparecem tecnologias de apoio para todo lado, há umas 3 IDEs populares, as empresas querem que você saiba de tudo.
. Seu eu fosse mais jovem eu investiria meu dinheiro em ABAP da empresa SAP, banco de dados Oracle, Salesforce ou Protheus da empresa Totvs.
Você precisa saber unicamente uma delas.
Pagam bem.
Não mudam muito com o tempo.

2
2

Pra começo, creio que isso seja muito de OPINIÃO, e aqui vai a minha:

  1. Eu creio que sim, o meu caso foi assim, estudando web (na época era JS e PHP) eu consegui um emprego relativamente rápido, mas frameworks não ficam desfasados assim (trabalho com react já tem 5 anos e não acho que eu vá parar tão cedo), com a experiência que você tem em um trabalho você não aprende só o framework, você também ganha experiência para conseguir migrar se necessário.

  2. Não acho que a linguagem vá ditar o seu futuro, a minha dica seria: aprenda o que gostar mais. Só assim você vai se interrar o bastante para aprender mais e se destacar.

  3. Toda linguagem tem falhas mas 99,9% das falhas são feitas pelo programadores, não pela linguagem.

  4. Para qualquer estudo você tem que ter uma base, se aprender bem a base de programação, não vai ter muito problema em migrar de uma lingua pra outra, qualquer framework que for estudar, tem que entender bem como ele funciona e pra isso tem que entender bem a linguagem que ele usa, e se estiver num framework que quebre o código a cada atualização, pode largar esse framework de lado.

  5. Não vai te atrapalhar, aprender algo é sempre conhecimento e conhecimento sempre é vantagem, e como disse, para o mercado, trabalhar com o framework não é uma condenação.

2

Eu diria que um iniciante deveria começar com JS, justamente por ser mais fácil, ter muito conteúdo por ai, é fácil buscar ajuda (mesmo que seu erro seja "inédito", tem tanta gente que programa em Js que não deve ser difícil achar alguém para te ajudar), e te coloca no mercado mais rápido.

Uma vez no mercado, você vai praticar programação "o dia todo", logo, vai melhorar significativamente suas habilidades (bem mais do que quando você passava apenas algumas horas do dia estudando e criando pokedéx).

Dai, a medida que você melhora como programador, vale a pena você estudar uma linguagem mais baixo nível. Essas linguagens são mais dificeis de aprender, um iniciante começando por elas, provavelmente desistiria da programação. Mas alguém que já manja do básico, vai passar raiva tmb, mas menos kk.

E claro, é sempre bom saber algo que "poucos sabem", pode ser esse seu diferencial para se manter no mercado.