João Gilberto Saraiva

desenvolvedor de software | professor | escritor


Python: o que é e para que serve a linguagem | João Gilberto Saraiva

Python: o que é e para que serve a linguagem

13-12-2020

Diversas pessoas me perguntam: Por onde eu começo a programar? O que é esse tal de Python? Afinal, para que serve isso?

Para responder essas e outras perguntas, vou compartilhar o excelente texto introdutório de Alejandro Perez (programador sênior que estuda/ trabalha/escreve em diversas linguagens de programação como Python, Java e C++). Ele trata da história da linguagem, para que ela é utilizada em diversos campos. Ao final ele disponibliza uma série de links para  vídeos, livros, cursos, etc. para quem quer começar a aprender e utilizar Python.

Texto originalmente postado em: https://www.zup.com.br/blog/python-o-que-e

Alguns termos específicos de programação tem explicação entre [ ] ou links o leitor saber do que se trata.

Boa leitura!

Sobre o Python e sua história

Aos que têm curiosidade sobre a linguagem Python, vamos falar um pouco sobre sua origem. Ela teve sua primeira versão em 1989 e originou-se como sucessora da linguagem ABC. O Python combinou a estrutura simplificada e intuitiva da linguagem ABC, a orientação a objetos do Java, a liberdade da tipagem dinâmica (famoso duck type) e possui suporte à programação funcional seguindo a tradição da linguagem Lisp.

O Python é uma linguagem com a filosofia de ser intuitiva e com código de fácil leitura e entendimento em geral. Sendo assim, inclusiva por ser mais fácil de aprender.

Ao adentrar o mundo Python, você se depara com o adjetivo: “isto é pythonico”, ou seja, um código que respeita a legibilidade, o estilo de escrever métodos, funções e classes (leia sobre pep8). Estas características possuem uma filosofia própria, descrita pelo Zen of Python (um easter egg na linguagem, quando se executa “import this”). Algumas delas são:

Essa história fez com que a linguagem Python mantivesse sua essência de linguagem amigável, de fácil compreensão e com uma curva de aprendizado bem favorável. Afinal, é uma vantagem ter menos atritos com a linguagem, já que isso permite focar na solução do problema.

Para o que pode ser usado Python

O Python é uma linguagem muito versátil. A seguir vamos conhecer algumas de suas aplicações, como por exemplo, para projetos Web, DevOps, na ciência de dados e muito mais!

Web

No início, Python foi muito usado para desenvolvimento Web, como uma alternativa ao Java e ao PHP. A linguagem nativamente possui algumas ferramentas web, como o próprio servidor web embutido na linguagem para testes, diversas facilidades como a manipulação de Strings, os tipos dinâmicos de variáveis e a simplicidade de estruturar dicionários e listas.

Os principais frameworks [estruturas para desenvolvimento] que temos hoje para Web no mercado são:

Django: um MVC completo que possui seu próprio ORM para banco de dados, versionamento de banco de dados e templates para gerar telas. Tem extensões como: um framework robusto de criação de REST, ferramentas de autenticação como Oauth2 entre outros. Muita documentação e grande comunidade.

Flask: Um framework web muito leve, plugável, estende facilmente frameworks de ORM, Nosql e template. Feito para ser simples, leve e facilmente customizável.

DevOps

Python e automação sempre tiveram muita ligação, pela facilidade de se escrever scripts com boa legibilidade (mais fácil entendimento), executar comandos em terminal e gerenciar execuções em poucas linhas de código. Além de ter bibliotecas e integração com as principais ferramentas de DevOps, a linguagem Python tem sido adotada para gerenciar integrações.

Algumas ferramentas:

Fabric – Uma ferramenta “pythonica” simples para execução remota e deploy [instalar uma aplicação para disponibilizar ela para seus usuários].

Docker Compose – Rápida, para criação de ambientes isolados usando Docker.

Ansible – Uma ferramenta radicalmente simples para automação de plataformas de TI.

Ciência de dados

O que popularizou Python como linguagem para a ciência de dados foi a facilidade de integrá-la com outras plataformas. Python pode executar rotinas de C++ e outras linguagens de alta performance de forma mais natural. Isso facilitou muito a vida de cientistas de dados, acostumados com Fortran e Matlab.

A primeira biblioteca que revolucionou a ciência de dados foi o NumPy, que combina a simplicidade do Python com a alta performance do C++ e Fortran. Depois vieram outros, como o SciPy, que traz uma extensa biblioteca de operações matemáticas para manipular o NumPy.

Algumas ferramentas:

Jupyter: não é necessariamente para ciência de dados, mas ajuda a demonstrar teorias e fazer experimentos. É uma interface Web para executar Python baseada no antigo iPython de terminal, porém robusta para gerar gráficos, mostrar imagens, sons e resultados.

PySpark e Pandas: ferramentas de manipulação de dados, traz muitas ferramentas do SQL e permite alto processamento usando recursos de GPU. O PySpark é uma interface ao Spark, que é um framework de clusterização (processamento distribuído em servidores), que integra com Hadoop, bancos de dados etc.

Matplotlib: para fazer gráficos e representar dados, funciona integrado ao NumPy. Pode ser usado no Jupyter. Gera gráficos por imagem e pode ser usado em interfaces gráficas.

Pytorch, Tensorflow: Deep Learning [um ramo da aprendizagem de máquinas].

NumPy: ferramenta de otimização de execução de numpy e outros.

Outros usos

O Python é eclético. Existem também recursos para IoT [internet das coisas] como, por exemplo, a placa de desenvolvimento Raspberry PI. Ela começou como ferramenta para de educação e robótica com o uso do Python e hoje é amplamente usada para IoT, pela facilidade de aprendizado da linguagem e sua versatilidade em se integrar com plataformas.

Também existe programação embarcada com o MicroPython, para fazer programação diretamente para placas de desenvolvimento (ESP8266, por exemplo).

Como começar a aprender a usar Python?

Existe muito material na internet para começar a aprender Python, por exemplo:

Cursos completos no YouTube para aprender o básico da linguagem, como:

Livros muito bons, como:

As plataformas de e-Learning que oferecem cursos:

Existem fóruns no Facebook sobre a linguagem, como:

No Twitter, tem algumas pessoas influentes no aprendizado de Python, como:

A universidade americana de Massachusetts (MTI) oferece o curso: “Introduction to Computer Science and Programming in Python” gratuitamente para começar a programar. Uma recomendação para sua carreira, esteja você começando ou não.

No mundo de programação, a língua que sempre lhe fará mais falta é o Inglês. As comunidades das linguagens de programação se comunicam em Inglês por redes sociais, listas de e-mail, Discord, Telegram etc. Inclusive, a documentação sempre é mais completa em Inglês, pois é onde começam. Depois são traduzidos para o português, espanhol e o que vier para o resto do mundo.

Gostou do texto? Siga o Alejandro Perez nas redes sociais:

Fotografia: Ck Lancadazo, 2019 (imagem de uso livre)

image