A Vital Importância de Saber Trabalhar Com Mais de Uma Linguagem de Programação
Tags: javascript, python, devops, programming
Published: 2023-10-22 14:06:36



No anime Naruto Shhippuden, existem diversos clans diferentes, cada um com um nivel de shakra (poder no anime) e habilidades diferentes. Cada um, com um jutsu bem diferenciado e mais forte do que outro.


![Image fonte: Nerd Sensei](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ge59f22g0c08dd9jqmb.png)

Junto com eles, temos os poderes oculares. Que são uma das maneiras mais primordiais do anime de concentrar chakra. 
O poder ocular mais famoso do anime, é sharingan.

![Image Sasuske com Mangekyô ativado](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k20vg7s0f0j67ozxvgzc.png)

E todos eles, todo o chakra presente no anime, veio de uma fonte singular, que foi a Kaguya, mãe de todos os chakras e poderes oculares na Terra.


![Image Kaguya](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cep0go44zxh0cpvnrzd2.png)


Ela obteve todo esse poder, ao comer do fruto da Arvore Divina.



![Image Arvore Divina](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7vz92q4pj44euap694q3.png)

E dessa linhagem dela, e de outro ser que veio junto com ela, surgiram as diferentes linhagens presentes no anime, cada um tipo de poder e dominação diferente.

![Image linhagem de Naruto](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6tel34qyohr6sm0m0373.png)

Mas por quê diabos começar o artigo falando da linhagem dos clãs de Naruto?
É simples, pequeno gafanhoto. Para poder entender essa analogia, devemos recorrer na história da programação, o mesmo caminho que usamos para poder compreender a diferença entre os clãs em Naruto.
<br>
## A História das Linguagens de Programação 

![timeLine Languages](https://www.cdslab.org/matlab/notes/preliminary-foundations/programming-history/PLchart.png)
_Original ->_ [timeline Language](https://www.cdslab.org/matlab/notes/preliminary-foundations/programming-history/PLchart.png)



Podemos afirmar, que toda a história das liguagens de programação começou ainda na decada de 1940, em que a **linguagem primordial** (a **raiz** da **Arvore Divina**) foi a famosa **linguagem de máquina**, que nada mais eram do que os códigos binários, que eram diretamente programados e executados pelas máquinas na epóca. Programar nesse nível era extremamente complexo e propenso a erros.

Depois dela, na decáda de 1950 tivemos a linguagem como **Assembly** (o **fruto** da **Arvore Divina**), que representava instruções de máquina com abreviações mnemônicas. Isso tornou a programação um pouco mais legível, mas ainda estava intimamente ligada à arquitetura do hardware.

Logo em seguida, de grande impacto, na decáda de 1960, surgiu a linguagem de programação chamada **Fortran** (**Clã Otsukisuki** depois que comem os **frutos** da **Arvore Divina**), que viria a se tornar a principal linhagem de muitas das linguagens de programação que temos hoje, como, **Perl**, **Swift**, **Go**, **rust**, **C** e **C++** que é por sua vez mãe do **Python**, **Java** e que por sua vez deu linhagem a linguagens como **Kotlin**, **Dart** e **C#**. O **C** influenciou na construção e design de diversas linguagens modernas, com detalhes de sintaxe e semântica, modelo de programação imperativa, construção por modulos, bibliotecas e APIs, portabilidade de códigos, alocação de memória manual, desempenho e entre outros pontos que vieram a influenciar de maneira direta e indireta na construção de outras linguagens.

Entre as várias assimilações e brincadeiras que podemos fazer e criar comparando o anime com a linhagem das linguagens de programação, eu escolhi fazer essa aqui:


![meme](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nuc4tjgkbdwjnjjdkjx0.jpg)

Assim podemos ter uma compreensão bem mais didática (mesmo que pareça ser algo muito forçado como no meme acima) das origens e linhagem de cada linguagem de programação até aqui apresentadas (e de outras que nem iremos citar).

## Diferentes linhagens, diferentes tipos de poderes.


Como todo fã desse anime sabe e conhece muito bem, cada linhagem de clã diferente possui um tipo/conjunto de poderes diferentes, em que esses poderes foram herdados de acordo com a sua experiência de vida e/ou linhagem de seus antepassados.
Por incrível que pareça, podemos fazer essa mesma analogia ao **nível de produção e potência de cada linguagem** e é exatamente este o **ponto primordial desse artigo**. 

Como as linguagens possuem cada **foco de produção diferentes** e **linhagens diferentes**, sempre terá produções que uma irá conseguir fazer que outra ou não vai fazer de jeito nenhum ou não vai fazer no mesmo patamar de excelência de outra linguagem.

O que eu quero dizer com isso, _pequeno gafanhoto_, eu quero dizer, que assim como em Naruto, o grandioso Uchiha Madara, **usou o hack de juntar o poder das 9 biju, e a linhagem de sangue de uchiha com ninju e assim vencer** o time 7, (porque ele venceu mesmo, só foi traído pelo zetsu negro no final), você, como estudante iniciante de programação, **tem que conhecer e saber produzir com mais de uma linguagem de programação diferente**, pois assim, bem como o Madara, **você estará de hack comparado a concorrência média**. Para ser sincero, você estará de hack até só para você mesmo em suas produções pessoais no que lá for que você queira fazer. Pois, meu nobre, **são muito poucos os que conseguem dominar diferentes linguagens com diferentes lógicas de sintese**. Como uma colega de área mesmo disse, os que conseguem fazer isso, **podem ser chamados de deuses** (e eu consigo também, por isso que estou lhe escrevendo isso, para você ser também).


![Madara com todas as linhagens de clã e poderes em suas costas](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/buffi18opimxkqocy9bp.png)




## Com Grandes Poderes, Vem Grandes Vantagens Naturais

Ao passo que você tiver domínio sobre mais de 3 linguagens de kernel (linguagens propriamente ditas, como C/C++, Rust, GO, Python, Java ...) você vai conseguir ver de maneira nítida, a limitação de cada uma. Seja em sua sintaxe ou em sua produção. Você irá conseguir fluir facilmente de uma linguagem para outra, impedindo que qualquer das linguagens que você for usar atrapalhe sua produtividade. 
Para grandes Devs, isso é um poder único e muito surreal.

Juntando esses poderes/linguagens então...


![Narutin Dev](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nq7quf7ld3oyyr2qgxdf.jpg)

Quando começar este tipo de brincadeira, você talvez vai querer está que nem eu, **escrevendo sobre a experiência e a importância desse tipo de poder**.