programação de computadoresotton/graduacao/programacao/04_uma_historia_do_python.pdfprogramação...
TRANSCRIPT
![Page 1: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/1.jpg)
Programação de Computadores
Instituto de Computação UFFDepartamento de Ciência da Computação
Otton Teixeira da Silveira Filho
![Page 2: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/2.jpg)
Porque Python?
Fato importante!
![Page 3: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/3.jpg)
Porque Python?
Fato importante!
Foi esta linguagem que a coordenação de seu curso solicitou ao Departamento de Computação
![Page 4: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/4.jpg)
Python
Mas porque Python?
![Page 5: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/5.jpg)
Python
Existem centenas de linguagens de programação
![Page 6: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/6.jpg)
Python
Uma lista de linguagens de programação
https://pt.wikipedia.org/wiki/Lista_de_linguagens_de_programa%C3%A7%C3%A3o
![Page 7: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/7.jpg)
Python
Uma lista de listas de linguagens de programação
https://en.wikipedia.org/wiki/Lists_of_programming_languages
![Page 8: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/8.jpg)
Python
É uma linguagem de uso geral
![Page 9: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/9.jpg)
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.
![Page 10: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/10.jpg)
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
![Page 11: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/11.jpg)
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
![Page 12: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/12.jpg)
Python
● OSI é a Open Source Initiative
● GPL é a GNU General Public License
![Page 13: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/13.jpg)
Python
● OSI é a Open Source Initiative
Uma organização dedicada a promover o software de código aberto.
● Mais detalhes em http://opensource.org
![Page 14: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/14.jpg)
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
![Page 15: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/15.jpg)
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
![Page 16: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/16.jpg)
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
![Page 17: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/17.jpg)
Zen do Python
A versão completa do Zen do Python pode ser encontrada em
https://www.python.org/dev/peps/pep-0020/
![Page 18: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/18.jpg)
Python
Mas porque este nome?
![Page 19: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/19.jpg)
Python
O criador de Python,
Guido van Rossum...
![Page 20: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/20.jpg)
Python
...adora o grupo
de comediantes
Monty Python
![Page 21: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/21.jpg)
Python
Python não foi criado especificamente para ensino como, por exemplo, Pascal
![Page 22: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/22.jpg)
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...
![Page 23: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/23.jpg)
Python
Python acabou sendo adotada como opção de linguagem de aprendizagem
![Page 24: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/24.jpg)
Python
Então, aprendendo Python não será necessário aprender outra linguagem?
![Page 25: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/25.jpg)
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
![Page 26: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/26.jpg)
Python
Python será útil no seu aprendizado, poderá ser útil para você durante um certo tempo.
Tudo depende do que você necessitará no futuro
![Page 27: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/27.jpg)
Python
Você quer alto desempenho em processamento numérico?
![Page 28: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/28.jpg)
Python
Você quer alto desempenho em processamento numérico?
Então você poderá usar
● FORTRAN
● C
● Julia
![Page 29: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/29.jpg)
Python
Você deseja processamento em estatística?
![Page 30: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/30.jpg)
Python
Você deseja processamento em estatística?
Talvez você necessitará de
● R
![Page 31: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/31.jpg)
Python
Fará modelagem de processos?
![Page 32: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/32.jpg)
Python
Fará modelagem de processos?
Talvez você fique satisfeito com
● Scilab
● Modelica
![Page 33: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/33.jpg)
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//
![Page 34: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/34.jpg)
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 é
![Page 35: Programação de Computadoresotton/graduacao/programacao/04_Uma_Historia_do_Python.pdfProgramação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação](https://reader035.vdocuments.site/reader035/viewer/2022081400/604b9e04f533dc01167eedca/html5/thumbnails/35.jpg)
Python e outras linguagens
Comparação entre linguagens e alguns algoritmos (C = 1) escala logarítmica