6

Qual linguagem de programação escolher e por quê Python?

#Python
André Vicente
André Vicente

De fato não existe uma linguagem que seja uma "bala de prata", mas creio que Python chegue bem perto.


Em todos os meus anos de programação, já passei várias linguagens (e ainda passo por algumas delas), tais como Portugol, Pascal, Fortran, Assembly, C, C++, Java, JavaScript, Lua e quem sabe alguma outra que nem me lembro. Depois de comparar tudo até hoje eu penso algo como "Python é vida, Python é amor", kkkk.


Mas você, iniciante, pode estar se perguntando por qual motivo escolher Python dentre tantas outras.


Primeiramente, Python é uma linguagem dinamicamente tipada, com uma sintaxe simples que faz parecer que você está conversando com o computador ao invés de programando (bom, de fato é isso, não é?). É muito fácil começar e fazer as coisas funcionarem sem ter as dores de cabeça temos com C quando começamos (é tão bom as strings te respeitarem). Resumidamente, o ponto forte aqui é a baixa curva de aprendizagem se comparada com praticamente qualquer outra linguagem popular.


Em segundo lugar, Python serve para quase tudo. De fato, o que costumamos dizer é que o único defeito de Python é ser uma linguagem pesada (se comparada a outras), mas fora isso quase sempre é a melhor escolha, pois para quase tudo que você quer fazer quando se é iniciante, você deve estar a no máximo um ou dois "pip install" de distância e no máximo umas 20 ou 30 linhas de código. Até hoje eu me impressiono!

Acho que o único lugar onde eu prefiro continuar usando C é em sistemas microcontrolados, pois o controle do hardware é muito importante. Fora isso, já fiz back-end de sites e sistemas web, chatbot de Telegram, web scrapper, editor de vídeo em massa, editor de imagens em massa, automatizador de fluxo de trabalho com git, controle automático do desktop, enfim, muita coisa diferente, tudo com a mesma linguagem, isso fora o que eu nunca fiz.

Além disso, aquele defeito de "linguagem pesada" se aplica pra caso você queira desenvolver frameworks de alto desempenho na linguagem, mas não se você quiser usar eles. É só pensar: se Python é pesada, por quê usam para tarefas pesadas como por exemplo Inteligência Artificial, Data Science e etc? Simples. A maioria dos frameworks está escrito em um C da vida, e você apenas usa isso em Python. Minha última surpresa foi enquanto tentava aprender um pouco sobre programação para a plataforma CUDA em .cu (uma espécie de .cpp modificado para incluir coisas específicas da NVIDIA) e em seguida descobrir que estava a um pip install de distância de conseguir fazer o mesmo, só que com Python.

Resumidamente, o ponto forte aqui é que dá pra fazer de (quase) tudo com Python.


Em terceiro lugar, e isso eu venho notando agora conforme me torno um programador melhor e mais organizado, me preocupando com questões como qualidade de código, estrutura dos arquivos, etc, Python me dá espaço para crescimento em organização.

É impressionante como você pode programar de qualquer jeito, mas como a comunidade te diz todo o jeito certo de programar.

Por exemplo, certo dia descobri que posso utilizar quaisquer caracteres para nomear variáveis (sim, testei acentos e inclusive kanjis, ideogramas japoneses, e simplesmente funciona!), mas é meio óbvio na comunidade de programação que variável não tem acento.


def somar(número1, número2): # Reparem no acento

    return número1 + número2


Entretanto, isso se expande pra questões importantes, como por exemplo documentação, tipagem, e pra quem quiser ler a PEP8 (pesquisem no google =D), basicamente TUDO sobre como formatar seu código, desde quantas colunas ele deve ter, onde realizar a quebra de linha, onde colocar os operadores, quantos e onde colocar espaços entre variáveis, tudo isso bem documentado para quando você precisa fazer algo direito.

Sobre a parte de documentação, boa parte dela pode ser feita diretamente no seu código, basta criar uma docstring (basicamente um comentário multilinha) logo abaixo das declarações de funções ou de classes, etc. Com as docstrings você consegue documentar seu código, colocar informações sobre parâmetros, valores de retorno, funcionalidades, etc, e até mesmo (PASMEM) colocar trechos de código para servir como testes da função, tudo sem precisar fazer isso separadamente, só com as docstrings. Isso mesmo meus amigos, dá pra escrever alguns pequenos testes diretamente na função!


def somar(numero1, numero2):

    """Soma dois números


    Esta é uma função que vai somar dois números quaisquer


    Parameters

    ----------

    numero1 : [type]

        O primeiro número a ser somado

    numero2 : [type]

        O segundo número a ser somado


    Returns

    -------

    [type]

        O resultado da soma


    >>> somar(2,3)

    5

    """

    return numero1 + numero2

Rodando este arquivo com umas linhas adicionais para doctest:

python meu_programa.py -v
Trying:
  somar(2,3)
Expecting:
  5
ok
1 items had no tests:
  __main__
1 items passed all tests:
  1 tests in __main__.somar
1 tests in 2 items.
1 passed and 0 failed.
Test passed.

Essa documentação pode ser inclusive manipulada programaticamente, o que possibilita uma fácil geração de material em PDF, por exemplo, de forma muito simples. Lembrando que você pode não usar se quiser, é completamente facultativo.

Agora um pouco sobre anotações de tipo. Você deve ter percebido aquele [type] no exemplo anterior. Muita gente reclama de linguagens dinamicamente tipadas pois você nunca sabe se aquela variável é um int, uma string ou o quê. Python pode resolver isso pra você com type hints.


def somar(numero1: int, numero2: float-> float:

    """Soma dois números


    Esta é uma função que vai somar dois números quaisquer


    Parameters

    ----------

    numero1 : int

        O primeiro número a ser somado

    numero2 : float

        O segundo número a ser somado


    Returns

    -------

    float

        O resultado da soma


    >>> somar(2,3)

    5

    """

    return numero1 + numero2


Pronto, agora sabemos que a função recebe um inteiro e um float, e retorna um float. E não, em tempo de execução Python não vai checar se você passou um inteiro e um float. Você passa o que você quiser. Mas Python sabe que você é adulto e pode fazer o que quiser, arcando com as consequências.

Além disso, temos também uma espécie de guia de como codar melhor: o Zen do Python. Recomendo a todos que leiam. Dentro do interpretador Python é só digitar "import this", ou pesquisar no google sobre. É um guia que descreve (sem sintaxe, só na base do "zen") como você deve criar seus códigos para que eles sejam bons.

Resumidamente, o ponto forte aqui é que a linguagem te trata como adulto, te ensina como você deve fazer as coisas, mas não te obriga a fazer nada.


Enfim, estas são algumas das razões pelas quais eu adoro esta magnífica linguagem de programação, e recomendo a todos que deem uma tentativa a ela =D


E você, já usou Python? O que achou? Larga aí nos comentários!

2
107

Comentários (2)

0
Santiago Souto

Santiago Souto

17/12/2020 21:42

Minha primeira linha de codigo foi em python e ja me apaixonei de cara. Ainda me lembro do primeiro projeto, raspagem de dados do instagram (não terminei o projeto).

2
Joel Jacinto

Joel Jacinto

12/12/2020 08:36

Para mim foi paixão a primeira vistas, quanto mais conheço das outras linguagens mais gosto de Python.

Além de ser ótima para trabalhar, os criadores tem mantido atualização para a versão anterior com tempo para lá de hábil para ninguém ficar agoniado para atualizar projetos antigos, coisa rara em outras linguagens.

Acredito, já vi muito comentários nesse sentido, que Python deveria ser a primeira linguagem de todo curso de inicialização em programação.

No momento estou estudando outras linguagens, aprendendo e me atualizando, mas não vejo a hora de aprender ainda mais sobre essa maravilhosa linguagem.

Segue um material que achei muito bom para quem está na dúvida se deve, ou não, aprender Python.

https://python-guide-pt-br.readthedocs.io/pt_BR/latest/

None

Brasil