Eis a pergunta de milhões! Eu já tive essa dúvida. Muitas pessoas da área de desenvolvimento também já tiveram essa dúvida. E eu costumo receber essa pergunta com bastante frequência: afinal de contas, qual deve ser a minha primeira linguagem de programação? E eu juro para você que dava para encerrar esse artigo respondendo: depende. Porque realmente depende. Mas vamos elaborar uma discussão um pouco mais aprofundada sobre o assunto e fique à vontade para trazer suas considerações nos comentários.
Antes de mais nada...
É importante entender que a linguagem de programação, independente de qual seja, será sempre apenas uma ferramenta para que você possa alcançar seu objetivo. No final, você precisa construir uma sequência de comandos que funcione e atenda ao projeto que estiver trabalhando. Certo? Certo.
E como qualquer ferramenta, o mais importante é entender os conceitos e como ela funciona. Então antes de mais nada, precisamos ter em mente que não importa qual será sua primeira linguagem de programação. O que importa é que você deve começar a estudar programação pelo conteúdo de lógica de programação, algoritmos e estrutura de dados.
Expectativas alinhadas, vamos partir para o próximo ponto da discussão.
Por que estudar lógica de programação
Ela é a base para qualquer linguagem. Independente da sua escolha ou da escolha que fizerem por você, a base sempre será a lógica. Porque nela você vai aprender sobre tipos de dados, algumas estruturas, como a de repetição e a condicional, entre diversos outros conceitos similares para as linguagens de programação.
Algoritmos e estrutura de dados, que citei no tópico anterior, serão complementos desses estudos e também uma base importante para você entender como algumas coisas funcionam nas diversas linguagens.
E vai por mim, não pule etapas! Se você não estudar a base, em algum momento você vai sentir falta disso. E mesmo que seja "só a base", em diversos momentos você vai recorrer a ela e até estudar novamente para que possa evoluir cada vez mais na sua carreira de desenvolvimento, independente do tempo de experiência que tiver.
Aliás, isso também é importante citar: quer entrar na área de programação? Ótimo. Mas saiba que você terá que estudar para o resto da sua vida. E isso não é para te assustar, nem afastar da área. Pelo contrário. É mágico, ao meu ver, sempre termos coisas novas para aprender. Em alguns momentos pode ser cansativo, mas é sempre bom renovar e aprimorar nosso conhecimento. É isso, e a prática, que nos fará evoluir como pessoas profissionais.
Como escolher uma linguagem de programação
Depende.
Eu não estava brincando quando disse que essa seria a resposta certa, mas sei que prometi algo mais aprofundado, então vamos lá.
Enquanto você estiver estudando lógica de programação, algoritmos e estrutura de dados, provavelmente haverá alguma linguagem de apoio no conteúdo que você estiver estudando. Muitas faculdades e universidades usam C ou C++ para isso. Alguns cursos livres, artigos, livros e demais conteúdos na internet, usam JavaScript ou Python.
Então, provavelmente, nesse contexto, não será bem uma escolha sua, mas sim da pessoa instrutora do que você estiver acompanhando.
Se não for esse o caso, vamos analisar alguns pontos para essa tomada de decisão.
Pesquisando o mercado
Eu sei que a programação é um mundo infinito de possibilidades. Então vale muito a pena fazer pesquisas de vagas, por exemplo.
Uma forma de fazer isso de maneira mais efetiva é pesquisando sobre as diversas linguagens que existe e o que pode ser construído com cada uma delas. E muitas vezes esse "o que pode ser construído" pode acabar te chamando mais atenção.
O que eu quero dizer com isso é: existem linguagens mais efetivas para desenvolvimento frontend, outras para backend, outras para desenvolvimento de aplicativos, outras para criar jogos, outras para criar automações e scripts que facilitem o dia-a-dia das pessoas de acordo com o contexto do negócio, entre muitas outras aplicações.
É possível que uma ou mais áreas te chamem mais a atenção. E você pode entender a partir dessas áreas, as linguagens mais utilizadas.
Sei que esse ainda não é um filtro que vai definir completamente. Mas pode ser um caminho.
Privilégios e tempo
Nem todas as pessoas tem o privilégio de ter um tempo de estudo e pesquisa prolongado para tomar uma decisão. Nem mesmo para escolher que carreira seguir dentro da programação.
Nesse caso, talvez faça mais sentido conversar mesmo com pessoas da comunidade, principalmente aquelas que já tem alguma experiência. Mas lembre-se de que essas pessoas e a comunidade não vão tomar a decisão para você. Essa conversa não serve para elas te dizerem o que fazer, mas ao compartilhar a experiência delas, o dia-a-dia delas, a decisão que aconteceu, entre outros aspectos, você pode tentar entender o que faz mais sentido para você.
Pesquisas
Existem algumas pesquisas que informam anualmente as linguagens mais utilizadas ou mais procuradas pelas pessoas. O GitHub e o Stack Overflow, por exemplo, são ferramentas que você vai acabar esbarrando na sua carreira e trazem pesquisas sobre esses pontos.
Em diversos casos, às vezes compensa mais entendermos as linguagens mais usadas no mercado para começar a aprender por elas.
Após a minha decisão, não tem mais como mudar?
Muito pelo contrário. Pode, inclusive, acontecer de você trabalhar com diversas linguagens de programação. E, aqui, mais uma vez reforço a importância de se preocupar em estudar a base que citamos lá no começo desta nossa conversa.
É bem comum ter mais de uma linguagem de programação em um mesmo projeto, ou até mesmo trocar de linguagem a cada novo emprego ou oportunidade que você tiver.
Além disso, existem empresas que chamamos de consultorias. Elas também podem te fazer mudar de linguagem de programação a cada projeto, visto que uma consultoria pode atender tipos de empresas diferentes com objetivos de projetos diferentes. Não é uma regra, mas pode acontecer.
E como eu vou lidar com essa mudança de linguagem de programação se ela acontecer?
Lidando. Eu sei que essa resposta é horrível, mas faz parte da carreira e do dia-a-dia. Lembra da recomendação de estudar a base? Quando você entende a base, trocar de linguagem de programação vai ficar um pouco mais tranquilo.
Não quer dizer que vai ser fácil. É importante ressaltar que cada pessoa tem uma curva de aprendizado diferente e não tem nada de errado com isso. Mas a prática e os estudos vão ser um grande apoio para evoluir sua experiência na hora de encarar situações assim.
Mas e a tal da carreira em T?
De fato, muitas pessoas indicam esse formato para "emoldurar" sua carreira. E eu concordo que há sua importância em ter um conhecimento generalista sobre a programação e ter uma linguagem em que você vai se especializar durante a sua vida como pessoa programadora.
O meu ponto nos tópicos anteriores é para alertar que são coisas que podem acontecer. É muito possível você trocar de linguagem de programação. Lembra que mencionamos que a linguagem é apenas uma ferramenta? Então... cada objetivo pode precisar de uma ferramenta diferente.
Contudo, a recomendação de se especializar em uma linguagem de programação é fortemente encorajada. Se você puder, faça isso. A maioria das linguagens tem um grande mercado para ser atendido, então ser especialista em uma delas pode te ajudar a ser referência naquilo que você faz, conforme você vai evoluindo, dentro do seu tempo.
Mas isso não precisa ser uma decisão a ser tomada agora. Sua primeira linguagem de programação não necessariamente será a linguagem que você vai acabar se especializando. E essa nem é a sua preocupação agora.
Vamos por partes. Primeiro, estude a base. Depois, analise a linguagem de programação para você começar. Conforme você crescer na sua carreira, a especialização ocorrerá normalmente, se houver dedicação para isso.
Compartilhe também seus pontos sobre esse assunto para colaborar com o conteúdo.
Obrigada por ter lido o artigo e deixo o canal aberto para troca de ideias e feedbacks.
Top comments (8)
é uma dúvida muito comum entre quem quer começar os estudos.
quem nunca ficou pulando de linguagem em linguagem e não aprendendo de fato nenhuma?!
eu acredito no ponto de tentar entender qual área quer atuar, o que te cativa e a partir dai ver as tecnologias necessárias.
Excelente texto @morgannadev !
Sim, nem me fale. Acho que muitas pessoas já tiveram isso, eu sei que eu tive kkkkk. Mas com o tempo a gente vai entendendo as coisas. E compartilhar com a comunidade ajuda bastante.
Obrigada pela sua contribuição, Gustavo! E obrigada também pelo feedback.
Eu não diria que a primeira linguagem de programação depende, eu defendo que ela não importa. Conheci muitos que começaram com programação no VisuAlg, que não é usado em nada profissional, e ela tem uma sintaxe até bem diferente das linguagens mais usadas. E se ela não importa, isso tira todo o peso da escolha. Até Scratch pode ser uma opção interessante para iniciar, só vai ter uma proposta diferente, não melhor nem pior, só diferente.
Também trocaria o "pesquisar o que pode ser construído com a linguagem" pelo que normalmente é ou foi construído com ela. A maioria das linguagens são de propósito geral, e assim podem fazer literalmente qualquer coisa. Mas como comentado no texto, normalmente uma linguagem é mais usada para construir certos programas em detrimento de outros.
Nos últimos tempos estou com a ideia de que além de conhecer bem uma linguagem, é interessante conhecer bem um framework, e principalmente como ele evoluiu com o tempo. Saber como as coisas eram feitas no passado, quais os pontos negativos dessas abordagens, para entender como são feitas na última versão (ou no novo framework que veio competir com ele). E muitas dessas ideias podem ser reaproveitadas em outros problemas que precisam ser resolvidos no dia a dia. Mas deixaria isso para um passo futuro.
Lógica de programação também é um assunto controverso, inclusive muitos afirmam que ela nem existe (como na palestra a baixo). Assim, eu diria para estudar algoritmos simplesmente. Entenda como fazer um programa que calcule a área de um quadrado, entenda como usar esse mesmo algoritmo adaptando-o para calcular a área de um retângulo, triângulo... Entenda um algoritmo para encontrar o maior valor de uma sequência, entenda como adaptá-lo para encontrar o menor valor. Muito da programação se resume em adaptar algoritmos já conhecidos, e às vezes juntar diversos algoritmos num só, é muito difícil precisar criar um algoritmo totalmente novo. E estrutura de dados é um ótimo segundo passo quando já se tem um domínio de algoritmos mais triviais.
Acho que muitos pontos podem ser entendidos no futuro pelas pessoas. Primeiro ela precisa entender como começar. E entender que a linguagem de programação depende de cada objetivo.
Sei que muitas linguagens podem ser usadas para quase tudo, mas como eu disse no texto, há aquelas mais específicas, por isso eu sugiro a pesquisa desse assunto. No meu ponto de vista, faz bastante sentido.
Eu não quero gerar a polêmica de existência ou não existência de lógica de programação nesse texto. Não é o objetivo do conteúdo abordado. Mas sim dar alguns passos de como começar. E que a linguagem de programação vem em decorrência de outras situações, não apenas a escolha.
No meu ponto de vista, a lógica de programação existe. E vejo sentido em estudá-la.
Quero seguir em front-end, já que gosto muito de construir sites. Tentei ir pelo JavaScript, mas não sei se foi o curso ou não, acabei me perdendo muito rápido nas explicações.
Dei um tempo, espaireci, e agora voltei a estudar programação pelo Python. Não só mirando em Django mais para frente, mas também porque sempre ouvi falar que "é fácil". Até agora, tenho compreendido tudo o que estou estudando, e pescando até algum sentido no que estudei no JavaScript e não havia entendido, antes.
Mas finalmente estou indo para algum lugar! :)
Eu vejo que é super normal ter mais dificuldade em uma linguagem que outra. E aí quando a gente entende alguns conceitos, a outra linguagem até começa a fazer um pouco mais de sentido, exatamente o que aconteceu contigo.
Uma época eu tive que usar Java na faculdade e no trabalho e senti bastante dificuldade. Mas quando tive que trabalhar com Kotlin no backend, muita coisa no Java começou a fazer sentido na minha cabeça.
Acho que faz parte da nossa evolução nos estudos e tá tudo bem. Que bom que você se encontrou no Python e teve oportunidade para testar outras linguagens também. Torcendo pra você evoluir cada vez mais! Parabéns!
E muito obrigada por vir compartilhar tua história com a comunidade, relatos assim são bem importantes!
amei! galera inclusive, ces podem me dar uma dica? eu to fazendo um cursinho full stack, ces acham que compensa ficar revisando logica e algoritmo e estudando o cursinho? falo isso por que to em transição de carreira e tal, já tive contato com logica e algoritmos mas fico com receio de não ter uma base tão boa e acabar me prejudicando. sucesso!
Eu acho super válido sempre dar uma revisada na lógica e em nossos conhecimentos de algoritmos. Mesmo que a pessoa esteja no começo da carreira ou até mesmo tenha anos de experiência. A base é bem importante, então revisar ajuda bastante.
Então não vejo problema algum no que você está fazendo de, mesmo já tendo estudado isso, trazer os pontos para revisão. Acho até muito recomendável que todes façam o mesmo!
Espero que dê tudo certo e que você evolua cada vez mais. Qualquer outra dúvida, pode mandar!