Poliglota em linguagens de programação

Por analogia, ao significado etimológico do termo, um poliglota em linguagens de programação deve saber escrever em pelo menos 4 linguagens. Agora, será que ser um poliglota importa na hora de programar?

poliglota em linguagensPoliglota em linguagens

 

1. A série Poliglota em linguagens

Um poliglota é quem fala várias línguas. Normalmente, mais de 4.

Um poliglota em linguagens de programação, por comparação, deve dominar pelo menos 4. Agora, será que isso importa mesmo?

Ser um poliglota em linguagens de programação ajuda efetivamente na hora de programar e desenvolver software?

Para responder essa pergunta produzimos a série Poliglota, no capricho, com uma coleção de 24 posts. Alguns são sequenciais e outros opcionais para reforçar algum conhecimento que eventualmente você não tenha. Todos os textos são embasados em referências consolidadas e também contam com nossa experiência em entregar projetos de TI.

Caso consiga concluir a série assimilando todos os conhecimentos, você poderá se considerar um especialista no tema.

2. O caminho para ser poliglota

Precisei de alguns anos na graduação para ter um conhecimento valioso: saber programar é muito mais do que apenas conhecer uma linguagem de programação. Um programador experiente, que já sabe programar em algumas das principais linguagens de programação, tem pouca ou nenhuma dificuldade para aprender uma nova linguagem. Ele idealiza o algoritmo (a descrição de passos que resolvem o problema) e o expressa usando uma linguagem de programação (desde que, claro, a linguagem e a demanda sejam compatíveis).

É equivalente ao que acontece com linguagem humana. Se você já sabe português e aprende inglês e espanhol, o idioma alemão e o francês serão mais fáceis de serem aprendidos, pois algumas palavras e construções possuem similaridade com outras que já conhece. Em linguagens de programação, existem conhecimentos comuns a todas as linguagens de programação. Conforme se aprende algumas, outras se tornam mais fáceis de serem assimiladas. Elas representam meios para você dizer ao computador o que precisa que ele faça e existem diferentes formas de fazer isso. Saber programar é saber escrever soluções para problemas usando uma linguagem de programação. Envolve a apreensão da lógica de programação.

3. Atributos de um programador

Nosso blog serve como material complementar aos conteúdos didáticos que temos no portal. Lá, você escolhe o personagem que mais o representa no mundo de TI e começa a aprender tecnologia jogando. Um dos personagens é o programador. Suas características podem ser representadas em um hexágono no qual cada um dos seus vértices representa um atributo:

poliglota em linguagens

software: representa o quanto o programador conhece sobre sistemas operacionais (SO) e ferramentas de desenvolvimento.

algoritmos: representa o quanto o programador tem de conhecimento e experiência na escrita de algoritmos.

linguagens: representa o quanto o programador tem de conhecimento em linguagens de programação.

projetos: representa o quanto o programador tem de experiência em usar seus conhecimentos para entregar projetos no mercado de TI.

lógica: representa o quanto o programador tem de conhecimento em matemática e raciocínio lógico.

hardware: representa o quanto o programador sabe sobre equipamentos e infra-estrutura.

Caso você não saiba ainda o que significa algum desses nomes, não tem problema. A viagem está apenas começando e durante a trajetória você encontrará todas as explicações. Nesta série, focaremos em lhe ensinar conhecimentos do atributo de linguagens, com leves pitadas sobre algoritmos e software.

O post de partida tem o propósito de explicar o que é uma linguagem programação. Clique aqui para começar ou veja a lista de todos os posts abaixo.

4. Posts da série

A série é composta por uma sequência de posts organizados em uma trilha principal. Alguns deles possuem links para explicações complementares e, assim, criam trilhas secundárias que variam em termos de comprimento.

Eu recomendo que você siga a trilha principal até o fim, a menos que não consiga entender algum post. Se isso acontecer, existem duas opções:

  • Deixe um comentário com a sua dúvida que ela será respondida o mais rápido possível.
  • Clique em um link que sai da trilha principal e vá para uma secundária para complementar seus conhecimentos.

A seguir, coloquei todos os posts da série, em ordem de publicação, e destaquei com negrito os que são da trilha principal.

Parte I:

Post [0]: Poliglota em linguagens de programação (este!)

Post [1]: O que é uma linguagem de programação

Post [2]: Linguagem vs Saber Programar

Post [3]: Aprender a Programar

Post [4]: Características de linguagens

Post [5]: Elementos de linguagens

Post [6]: Implementador de linguagens

Post [7]: Principais Linguagens de Programação

Por que começa em 0 e vai até 7 ao invés de começar em 1 e ir até 8? O motivo será revelado na segunda parte, mas já adianto que faz parte do nosso assunto de estudo.

Parte II:

Post [8]: Melhores linguagens de programação

Post [9]: Classificações de linguagens de programação

Post [10]: Critérios de linguagens de programação

Post [11]: Ranking de linguagens Utec

Parte III:

Post [12]: Linguagem Javascript

Post [13]: Linguagem PHP

Post [14]: A linguagem C e suas parentes C++, C#, objective-C e mais uma que falo no post.

Post [15]: Linguagem Java

Post [16]: Linguagem Python

Post [17]: Linguagem Ruby

Post [18]: Linguagem Swift

Post [19]: Linguagem Perl

Post [20]: Linguagem Swift

Post [21]: Linguagem Go

Post [22]: Linguagem Kotlin

Post [23]: Linguagem Scheme

 

 

 

Sobre o Autor

Leandro Pinho Monteiro

Leandro Pinho é engenheiro de computação, graduado em Ciência da Computação na Universidade Estadual de Maringá (UEM) e mestre em Engenharia da Computação na Faculdade de Engenharia Elétrica e Computação (FEEC) da UNICAMP, ambas formações com foco em Computação Gráfica. Possui experiência no desenvolvimento de sistemas interativos 3D para pontos de venda, marketing e eventos. Atualmente trabalha como consultor de tecnologia e é o responsável pela coordenação dos cursos oferecidos na Universidade da Tecnologia.