Python: o que é e para que serve a linguagem
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:
- Bonito é melhor que feio;
- Explícito é melhor que implícito;
- Simples é melhor que complexo;
- Complexo é melhor que complicado;
- Legibilidade faz diferença.
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:
- “Curso em Vídeo” do João Pedro Araújo.
Livros muito bons, como:
- “Python Crash Course”,
- “Dive into python 3” (gratuito),
- “Automate the Boring Stuff with Python”.
As plataformas de e-Learning que oferecem cursos:
Existem fóruns no Facebook sobre a linguagem, como:
- o grupo “Python Brasil – Programadores”, para discussão da linguagem,
- a página “Python Brasil” evento anual da comunidade no Brasil,
- o grupo “Python Programming Language” que é mundial em Inglês.
No Twitter, tem algumas pessoas influentes no aprendizado de Python, como:
- Fernando Masanori (@fmasanori) professor na Fatec e criador do curso online gratuito “Python para zumbis”.
- Luciano Ramalho (@ramalhoorg) autor do livro Fluent Python, entre outros.
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)