Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação...

Post on 14-Oct-2020

5 views 0 download

Transcript of Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação...

Programação de Computadores

Instituto de Computação UFFDepartamento de Ciência da Computação

Otton Teixeira da Silveira Filho

Porque Python?

Fato importante!

Porque Python?

Fato importante!

Foi esta linguagem que a coordenação de seu curso solicitou ao Departamento de Computação

Python

Mas porque Python?

Python

Existem centenas de linguagens de programação

Python

Uma lista de linguagens de programação

https://pt.wikipedia.org/wiki/Lista_de_linguagens_de_programa%C3%A7%C3%A3o

Python

Uma lista de listas de linguagens de programação

https://en.wikipedia.org/wiki/Lists_of_programming_languages

Python

É uma linguagem de uso geral

Python

É uma linguagem de uso geral

Uma linguagem sem uso específico, diferente de linguagens criadas inicialmente com uma finalidade:

● FORTRAN (computação numérica)

● COBOL (aplicações comerciais)

● Etc.

Python

É uma linguagem rápida prototipação

● Sendo interpretada, o processo de teste é curto e mais direto

● Seu processamento será em geral mais lento que uma linguagem compilada

Python

● Tem licença de uso livre aprovada pela OSI e compatível com a GPL, embora menos restritiva.

● Tem muitas bibliotecas (módulos) nas mais várias áreas

● Muitas interfaces gráficas

● Vários sistemas de desenvolvimento integrado

Python

● OSI é a Open Source Initiative

● GPL é a GNU General Public License

Python

● OSI é a Open Source Initiative

Uma organização dedicada a promover o software de código aberto.

● Mais detalhes em http://opensource.org

Python

● GPL é a GNU General Public License

É a designação de uma licença de software livre associada ao projeto GNU da Free Software Foundation

● Mais informações www.gnu.org/licenses/gpl.html

Python

● Tem uma padronização “de fato“ (mas não formal) via Python Enhancement Proposals

● As versões comumente usadas: Python 2 e Python 3

● Usaremos a Python 3.6

Zen do Python

Algumas ideias que orientam Python são:

● Belo é melhor que feio

● Explícito é melhor que implícito

● Simples é melhor que complexo

● Complexo é melhor que complicado

● Legibilidade conta

Zen do Python

A versão completa do Zen do Python pode ser encontrada em

https://www.python.org/dev/peps/pep-0020/

Python

Mas porque este nome?

Python

O criador de Python,

Guido van Rossum...

Python

...adora o grupo

de comediantes

Monty Python

Python

Python não foi criado especificamente para ensino como, por exemplo, Pascal

Python

No entanto, devido a:

● Não ter patente e nem ser associado a uma empresa

● Ter modo iterativo

● Ser multiplataforma

● Ter sintaxe minimalista

● Ser fácil de se fazer uma aprendizagem incremental...

Python

Python acabou sendo adotada como opção de linguagem de aprendizagem

Python

Então, aprendendo Python não será necessário aprender outra linguagem?

Python

Então, aprendendo Python não será necessário aprender outra linguagem?

A suposição que uma linguagem basta (qualquer linguagem) é um grande e comum engano

Python

Python será útil no seu aprendizado, poderá ser útil para você durante um certo tempo.

Tudo depende do que você necessitará no futuro

Python

Você quer alto desempenho em processamento numérico?

Python

Você quer alto desempenho em processamento numérico?

Então você poderá usar

● FORTRAN

● C

● Julia

Python

Você deseja processamento em estatística?

Python

Você deseja processamento em estatística?

Talvez você necessitará de

● R

Python

Fará modelagem de processos?

Python

Fará modelagem de processos?

Talvez você fique satisfeito com

● Scilab

● Modelica

Python e outras linguagens

Na página abaixo você encontrará um avaliação de “popularidade“ das linguagens mais usadas:

https://www.tiobe.com/tiobe-index//

Python e outras linguagens

E na próxima tela temos o desempenho quanto ao tempo de processamento em códigos escritos em algumas linguagens de programação em várias tarefas

● A escala é logarítmica

● Quanto menor o valor mais rápido é

Python e outras linguagens

Comparação entre linguagens e alguns algoritmos (C = 1) escala logarítmica