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

A guerra das linguagens 😪

Vejo muito debate entre linguagens onde devs discutem sobre a linguagem ser ruim ou a melhor.

Estou a 1 ano e pouco nesse mundo de development e minha stack atual é JS (React, React Native) e vejo bastante coisas desmotivadoras para eu que estou iniciando, de um lado dizem que JS não presta que deveria aprender Java ou qualquer outra que seja.

Fico pensando se o que estou fazendo é certo ou errado, se tenho chance de alguma oportunidade de trabalho com isso que sei ou se não é 9 suficiente.

Essa guerra onde uns defendem com garras e unhas eu não entendo bem e me desmotiva bastante a ponte de pensar se troco de linguagem ou permaneço na atual e me aprofunde e não ser um medíocre.

Obrigado por ler até aqui e desculpa se em algum momento escrevi errado kkk. ✌😎

Carregando publicação patrocinada...
8

Quase todas as discussões deste tipo não produzem bons resultados. No mínimo as pessoas fazem simplificações que atrapalham. Eu faço, não tenho como não fazer. Para fazer algo bom precisa de um livro.

"Melhor" é algo que precisa ser definido de antemão. Sem isso, nem dá para começar discutir qualquer coisa.

As pessoas ficam perdidas com essas discussões por uma questão mais importante. Isso é sintoma. A pessoa só está preocupada em aprender uma linguagem, bem pouco dela, e se basear no que os outros pensam. Isso é chamado "seguir modinha".

Para acabar com isso precisa fazer o que na maioria não quer. Precisa estudar profundamente a computação, para criar suas próprias convicções, sem depender dos outros. E de preferência fazer isso com sensatez, entender todas as variáveis dessas discussões, principalmente as não técnicas. Então não é só se preparar para a computação, é muito mais amplo.

E precisa de uma base boa, até para resolver seguir o conselho de alguém. Saber escolher a pessoa certa que vai ouvir. Saber fazer perguntas certas para essa pessoa que você está debatendo ou interrogando, para que ela dê as melhores respostas, e que você possa ir direcionando para onde precisa.

A vida não é simples. Mas sem tudo isso, a pessoa fica na mão de qualquer bobão, e se der errado, vai "choramingar" por ai.

O que eu posso fazer de melhor é mostrar que o caminho é este. Tem quem vai se desmotivar mais ainda, tem quem vai se fortalecer, pegar isso e fazer a mais gostosa limonada do mundo.

Se a pessoa fala "X não presta" e "deve aprender Y", sem apresentar justificativas fortes, fazer as devidas ressalvas, ter um certo equilíbrio, mostrando que tem condições de falar sobre isso de forma completa, essa pessoa provavelmente não deveria ser considerada. A pessoa provavelmente está fazendo uma monumental simplificação, até porque ela não sabe mais que isso.
Chance depende de cada pessoa, não da tecnologia que ela escolhe. Claro que isso pode ter alguma influência. Tem linguagem que alguns dizem que está morta, ou que eu falo o nome e 99% aqui nunca ouviram falar (os velhos não contam), e tá cheio de emprego por aí, até porque poucos sabem ela.

Todas as linguagens podem realizar qualquer tarefa. Que tarefa você vai fazer? Algumas são mais adequadas.

Eu sempre falo, o problema é a atitude certa, mais do que qualquer coisa. Se eu resolver fazer alguma coisa que eu goste e tenho um mínimo de talento (a maioria das coisas não dá), eu vou conseguir em pouco tempo, porque eu vou fazer o que é preciso. Quem não consegue fazer isso tem que se contentar com limitações na vida.

Tente aproveitar o que tem de bom nessas discussões (algumas podem não trazer nada de bom). Essa atitude ajuda. Mantenha a mente aberta. Preste atenção (muita gente não evolui porque nem lê direito o que está na frente dela, muitas pessoas não leem o que está abaixo - eu consigo medir quando leram, e pode ser que esta vão ler, porque eu avisei para ler). Fugir de algumas delas pode ser bom. Pedir para as pessoas melhorarem o que estão dizendo para ajudar você a tomar uma decisão pode ser bom (ou não). Não ser passivo pode ser a melhor ação.

Tudo que você faz na vida tem influência, mesmo que você não perceba, e o que os outros (e outras coisas) fazem, também, na sua vida. E não fazer é algo que se faz também. É aquela coisa "não tomar uma decisão é uma decisão".

Faz sentido para você?

Espero ter ajudado. Em geral estou à disposição na plataforma (sem abusos :D)


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).

2

Cara, eu sinceramente gosto muito do ecossistema que o JavaScript vem montando, e sua comunidade o alimenta de uma maneira feroz. É possível ver a todo instante novos frameworks, libs, bibliotecas que estão revolucionando a parada. Dino, Bun, Node.js, React.js, Vue, Astro, entre outros. O JavaScript é eficaz em grande parte dos casos, mas a grande resposta à sua dúvida será um "depende". No meu emprego atual, o Node.js cai como uma luva, e meus companheiros de trabalho desenvolvem com qualidade e velocidade absurdas com React Native.

Cada linguagem tem sua peculiaridade, mas não se prenda muito a isso. Estude algoritmos, aprimore suas soft skills, e aprenda que nem tudo gira em torno da web. Questões de aplicações embarcadas são quase impossíveis de desenvolver sem o uso de C ou C++.

Entenda que a linguagem não faz o programador. Se a linguagem te oferece velocidade, escalabilidade, e é mantida por uma comunidade, perfeito. Seja ela qual for. Se você gosta da área em que está e a sua linguagem supre esses critérios, não vejo necessidade de uma mudança.

1

Eu trabalho com Node e tambem é minha stack principal, porém após 2 anos trabalhando com node eu consigo ver suas falhas e erros, e to cogitando mudar, ir para um Java para aproveitar que tambem pego um pouco no trabalho.

1

Eu sinceramente gosto muito do Java, acho bem robusto e moderno.
Mas igual eu disse, O node vem suprindo minhas demandas, e as libs que ele tem são maravilhosas. Desempenho a mil.

2

Como não se perder nessa guerra de linguagens: Seja o melhor na linguagem que você escolheu, não o pobre ou o medíocre no que faz, mas o excelente, aí ninguém terá nada a dizer contra você ou sua linguagem, pois não fará metade do que você faz com sua linguagem escolhida. Não seja o fanboy, seja o desenvolvedor.

2

Trabalho com JS e atende minhas necessidades na empresa que eu trabalho.
Particularmente tenho várias críticas à linguagem, mas não existe linguagem perfeita.
Se você tem dúvidas sobre o que está fazendo, tenta sistematizar ela numa pergunta mais específica que a galera pode te ajudar por aqui.

2

Uma coisa que tenho percebido é que a maioria dos cursos introdutórios não ensinam programação, ensinam frontend. Você aprende muito mais começando com linguagens como C do que com javascript. Não quero dizer que o melhor é programar em C, mas sim que quanto menos abstrações você tiver, mais você irá aprender realmente.

Começar com HTML, CSS e JS pode ser uma vantagem por ser mais rápido de ver as coisas na tela, construir elementos, fazer aparecerem coisas do nada, mas isso ensina apenas superficialmente. Por exemplo, você sabe encontrar uma substring dentro de uma string? Você só sabe se usr alguma função pronta? Se sim, então você não entende realmente o que está sendo feito. Muitos passos são pulados, tipos primitivos, valor e referência, tipos dinâmicos, alocação de memória e etc. Se tudo parece "mágico", é porque você não entende.

Eu escrevi tudo isso apenas para mostrar que muito do hype do javascript é por conta disso, pessoas que começaram a aprender frontend ao invés de programação. Não entenda errado também, não há nada de errado em aprender a programar com linguagens de alto nível, eu mesmo comecei com Python, contudo, essas linguagens te dão a oportunidade de pular etapas e isso faz com que pegue o caminho mais fácil, que não ajuda muito a entender as coisas.

Quem debate linguagem A x linguagem B é alguém que está em início de carreira, geralmente. A melhor stack é a que paga os seus boletos e isso é irrefutável. Se você paga as suas contas com Javascript, então javascript é a melhor linguagem, se é Cobol, então será cobol. Linguagens de programação são ferramentas, quem programa é você. Se você está dependendo da sua ferramenta e acha que só ela é boa, então você não está realmente programando. Nunca vi discuções sobre qual tipo alicate é o melhor, mas já vi discuções sobre qual tipo de alicate é melhor para determinadas ocasiões. Tente cortar um cabo com um alicate de pressão e entenderá o que estou falando.

1

Concordo totalmente, a melhor linguagem é aquela que atende a sua necessidade, não vejo motibo de ficar criando rivalidade em linguagens. Parece até ser instinto do ser humano fazer divisão com as coisas.

Por exemplo, eu comecei a programar em C, depois parti para Java e eu gostei muito. Comecei com Frontend na faculdade e até entendo, talvez para tirar o medo de "tela preta cheia de códigos malucos", mas vemos que não é bem assim depois de um tempo.
Um amigo trabalha com C# e não é fã de Java, eu gostei quase como um "primeiro amor", mas ela, como qualquer linguagem, vai ter suas limitações e tudo mais, por exemplo, herança múltipla, C# tem, Java, não.

E falou muito bem sobre falar da substring e ainda adiciono mais, saber o que acontece na Stack, Heap, pilha, herança... Tem que aprender a base mesmo, igual jogar basquete profissional sem ter o domínio pleno da bola e saber arremessar de forma efetiva.

1

Uma linguagem de programação é excelente quando se alinha com suas necessidades específicas. Não existe uma superior à outra. Cada uma tem seu propósito, e se aquela que você conhece satisfaz suas necessidades, então é a melhor para você. É sábio absorver o que os outros dizem, adotando as vantagens, já que muitas linguagens se complementam entre si.

1

A linguagem predominante no mercado será aquela que tem o melhor custo beneficio. Aquela que consegue unir facilidade, segurança, bom desempenho e baixo custo computacional. Por isso Python e Js se tornaram tão populares, não tem como ter excelencia em tudo ao mesmo tempo mas elas conseguem ser médias em tudo isso que foi citado.

1

Essa guerra de linguagens nada mais é do que a famosa guerra de opiniões que o ser humano ama fazer. Não é só na nossa área, é em todo lugar (até em marca de arroz ou videogame). Sugiro só deixar de lado esse tipo de conversa porque não nos leva a nada. As perguntas que você deve fazer são:

  • Essa linguagem paga minhas contas?
  • Estou satisfeito com meu trabalho atual?
  • Consigo enxergar futuro neste meu trabalho?

Se todas essas perguntas recebem respostas afirmativas, ótimo, continue assim. Use isso como parâmetro e não a opinião de um ou de outro "guru da programação".

1

Cara, se vc aprendeu JS e está gostando, tá pagando suas contas com JS, continua meu amigo, não vejo problema. Existem sim linguagens mais usadas e menos usadas. No passado, ouvia, se não programa em JAVA estará desempregado, e foi assim com Clipper, VB, Delphi, Cobol e por aí vai. Hoje no Brasil, temos empresas usando de tudo um pouco, mas olhando para grandes empresas, onde está o maior número de vagas, vemos muita vaga em JS (angular/react/node), muita com coisa em .Net C# e muita coisa me Java, fora os nativos né, como Kotlin e Switch. Pensando em carreira, trampo e tal, JS sim, tem muita vaga. Avance nos conceitos, aprenda o typescript, conheça bem os frameworks de JS para server, aprenda arquitetura e desenvolvimento seguro, banco de dados NoSQL e SQL, conceito de devops e terá maior evolução para competir em vagas mais atrativas com JS. Mas não pare aí, aprenda outras linguagens, mesmo que superficial, pois poderá aparecer oportunidades, e tendo conceitos, arquitetura e padrão na cabeça, vc se adaptará fácil em qualquer "idioma". Qualquer previsão que linguagem tal vai acabar, frontend web vai acabar e x vai sumir e tal, é mera especulação. Nosso trabalho é se adaptar. Tá fazendo front web, agora a moda é front no metaverso, temos de aprender, mas tudo isso é processual, demora um tempo e a gente precisa ir lendo o mercado, dia-a-dia e se moviventar para não ficar para traz.

1

cara. guerra de linguagem sempre vai existir. o negócio é reclamar de todas.

aprenda Javascript, mas Javascript, não apenas react. veja onde o Eric Wendel chegou só com Javascript.

uma alternativa é você experimentar outras linguagens e ver se aind prefere o Javascript.

hoje eu navego entre Javascript , python e C#. normalmente Javascript no frontend, backend principalmente em c#, alguns em python. aí tbm algumas aplicações console com python ou c#.

às vezes ao fazer algo rápido só pra resolver uma tarefa esporádica eu penso em qual das 3 linguagens vou fazer mais rápido.

1

se eu fosse vc focava na stack, dps de um tempo empregado me preocuparia em trocar de tecnologia, no fim vc é um programador e não javascripteiro, então não liga pra essas coisas, vai ter fã de linguagem x e y, mas todas tem seus problemas. A questão no fim é, vc quer resolver que tipo de problema? se for soluções web e mobile, web obviamente stack js, e mobile eu particularmente iria preferir tbm js, menor curva de aprendizado com a ferramenta, agora como vi a glr falando aqui, é verdade que os cursos online tão vendendo sonhos e te ensinando o básico do básico das ferramentas, mas vc acaba não aprendendo muita coisa importante da área, por exemplo algoritimos, estrutura de dados (não, não é só array) e etc... então recomendaria ver os fundamentos da programação nessa sua jornada tbm, pq sendo bem franco aqui, a maioria só sabe fazer um crud mal feito, o suficiente para ser contratado, mas que na primeira oportunidade a empresa remove esse empregado.

0

Linguagens giram em torno dos problemas em que ela se propõe a solucionar.
Se há um problema e já existe uma linguagem específica para ele, então tem que usá-la, claro não se aprende uma linguagem de ontem para hoje, mas se você já sabe em qual nincho vai atuar, escolha uma linguagem compatível.
É um problema em WEB? Vai de Bun, PHP (WordPress) ou outra.
É um game de alta performance? Vai de C++ ou outra.
É um game multiplataforma? Vai de Unit ou outra.
É I.A.? Vai de Python ou Julia.
É um sistema para Linux e Windows? Vai de Java ou outra.
É eletrônica? Vai de C ou assembly.
É um sistema muito distribuído? Vai de Erlang ou Elixir.
É um sistema de segurança? Vai de Rust.
É automação de rotinas de escritório? Vai de Autohotkey ou outra.

1

Eu concordo com este posicionamento, ou seja, procure a area que voce que trabalhar; em seguida procure as tecnologias daquela area.

0

Por isso a minha Stack vai ser sempre a que paga boletos. Estudo Front-end, se necessário, estudo Back-end. Se precisar de: PHP, Java, Dart, Pearl, Python ou qualquer que seja, eu aprendo. Se apegar uma ferramenta é uma problema de... Linguagem de programação é um meio e não um filho. Não se desmotive por isso

0

Bom, confesso que tenho pouquíssima experiência para falar, mas que o que vou falar agora é real.
A melhor linguagem é aquela que te paga os boletos. E falo isso sem medo de errar.

O que adiantaria aprender Ruby se o projeto da empresa é PHP ou JS? Por outro lado, será muito relevante para a sua carreira ter conhecimento avançado em uma linguagem, mas ter noções de outras.

Se quiser um conselho, continua no JS. Aprende desde a base até o ponto mais avançado que puder. Dependendo da carreira ou Stack que desejar seguir, quando entender que tem bagagem suficiente, estuda NodeJs e algum framework. Pelo o que entendi você já tem intimidade com React e R Native. Por que descartar todo esse tempo de estudo?

O mercado de fato não está mais como antes, mas como em qualquer profissão, quem se mostrar muito bem qualificado vai sempre ter oportunidades no mercado. Penso que JS é sim uma boa linguagem e que você não deveria abrir mão do que estudou até aqui.

Observe o mercado e entenda o que as empresas buscam.

-1
-3

Não é suficiente. JavaScript so serve para a Web!!!!! Nada contra JavaScript, eu gosto dele. É so que embora seja toda hype (ontem, hoje nem é mais) desenvolvedor Web é uma carreira sem futuro.

Você precisa necessariamente no mínimo aprender um linguagem verdadeiramente de proposito geral para poder pensar em considerar um programador!

3

Poderia comentar um pouco melhor sobre isso:

desenvolvedor Web é uma carreira sem futuro.

Gostaria realmente de entender seu ponto de vista sobre esse comentário, pois tudo hoje parece convergir para web.

2

De fato, mas a web muda muito, muito rapido mesmo. A Web de daqui 10 vai ser completamente diferente da de hoje. Suas habilidades com as últimas tendencias do "JS Moderno" vão ser tão relevantes como é dominar JQuery ou até Flash hoje!

Se você aprender só isso sem entender de fato o que significa ser um programador simplesmente não vai conseguir se adaptar as grandes mudanças que acontecem de forma muito veloz.

2

Entendo sua linha de raciocínio, mas se formos só nos preocupar se a linguagem/stack que eu pretendo focar estará viva daqui há 10 anos, é melhor deixar de trabalhar com tecnologia e ir pra artesanato.

Temos alguns exemplos de linguagens que estão no mercado há muito tempo e tiveram pouquíssimas mudanças e ainda são muito relevantes (um salve pro Javão e C++), mas tivemos linguagens que foram absurdamente utilizadas durante muitos anos e acabaram "morrendo" por vários fatores externos (saudades Delphi e VB).

Acredito que sim, é importante tentar ter uma stack que vá ser relevante daqui alguns anos, mas independente disso, nessa área de atuação, vc terá que sempre estar de olho no que tá rolando e se atualizando de alguma maneira.
Pq de uma forma ou de outra, as chances de vc ter que interagir com linguagens/frameworks que surgiram quando vc já tinha se estabelecido na carreira, é muito alta.

Não acho que vc precise ser o João Hype, mas também não vejo que seja o muito saudável vc pensar em aprender algo pensando que só vai aprender aquilo pq estará em uso daqui X anos.

1
2

Com o Node.js, Dino e Bun, JavaScript agora está no back-end podendo fazer quase tudo que outras linguagens já fazem.

Entendi seu ponto, só quem tomou reset várias vezes vai entendê-lo.
Eu também me cansei. Quem é adulto, tem filhos, faz faculdade, fica quase impossível de acompanhar.
Mas temos que entender que há pessoas jovens com muito fôlego, ociosas e com fome de aprender então essas mudanças repentinas são ondas gigantes para surfar, é isso que eles querem, desafio.
Então dizer para eles que "não há futuro", não faz sentido algum, pois eles possuem sim potencial para encarar esse mar.

1

Desculpe, mas não faz sentido isso que disse. Tabalho a mais de 10 anos em corporações que atendem com sistemas o Brasil e o exterior e usamos stacks diversas sim, mas JS é a stack de longe mais usada. Hoje atuando em banco com milhões de clientes, temos sistemas, apps, apis e serviços em angular e node, obviamente usando typescript por sua facilidade, mas sabemos que por baixo é tudo JS. Sustentamos aplicações criticas em JS com node e temos centenas de apis em node rodando com milhores de requisições simultaneas. Quando falamos de aplicação de grande porte, não existe exército de 1 homem só. Cada um no seu quadrado. Temos devs, arquitetos pensando em como melhorar código e performance, DBAs focado em melhorar os dados e performance, red team trabalhando e direcionando para ajustar e resolver problemas de segurança, ou seja, é uma área inteira de pessoas trabalhando para deixar a aplicação segura, robusta e eficiente. E isso é pra qualquer linguagem que usamos aqui: C#, VB, F#, python, JS, Cobol e lisp e etc. Temos de tudo, mas temos gente para cada coisa. A equipe é o essencial, a linguagem é ferramenta e no que tange o assunto, sim, JS resolve todo problema comercial que precisamos resolver. Não sei se se programar um cockpit de um caça faça sentido em JS, mas comercial, no dia-a-dia, podemos sim resolver qualquer problema.