Sei sulla pagina 1di 10

FUNDAMENTOS DA COMPUTAO - TURMA 10 PROFESSOR Dr.

- MARCOS NEGREIROS ALUNO: ALLAN CARLO DALLOLIO ALUNO: EDINIELSON FIGUEIREDO SANTOS

A LINGUAGEM PYTHON

Fortaleza, agosto de 2011

1. UM BREVE HISTRICO Em 1989 o Neerlands Guido van Russum entediado com suas frias de natal, decidiu ocupar o seu tempo trabalhando em um projeto de programao. E a partir desse perodo comeou a escrever um interpretador para uma nova linguagem de script. Essa nova linguagem de programao seria descende da linguagem ABC a qual Russum colaborou em seu desenvolvimento antes de desenvolver a sua prpria linguagem. Russum tinha como objetivo desenvolver uma linguagem de

programao de altssimo nvel, e que unisse as principais caractersticas de outras linguagens, proporcionado assim uma sintaxe bastante compreensvel aos programadores de outras linguagens. Um fato curioso que o nome da linguagem advm de uma srie de Tv britnica chamada Monty Pythons flying circus de um renomado grupo de teatro homnimo a srie. Em 20 de fevereiro de 1991, o Python foi liberado em 21 partes codificadas com uuencode para serem decodificadas com uudecode para compor um arquivo tar comprimido. Seu primeiro produto foi lanado em uma verso enumerada como 0.9.0.

2. DEFINIO DE PYTON A linguagem Python uma linguagem de programao de alto nvel, isso quer dizer com um elevado nvel de abstrao mais prximo da linguagem humana. Na construo dos programas utiliza orientao objeto, onde ocorre a interao entre vrias unidades de software denominadas de objetos. imperativa, pois desenvolve a programao por aes, enunciados ou comandos que mudam as variveis do programa.

Outra caracterstica da linguagem de programao Python a linguagem interpretada onde o cdigo forte executado por um interpretador que logo aps ser interpretado executado pelo sistema operacional ou um processador. 3. AS PRINCIPAIS CARACTERSTICAS DO PYTHON O baixo uso de caracteres especiais, o que torna a linguagem muito parecida com pseudo-cdigo executve; o uso de identao para marcar blocos; possuir um coletor de lixo para gerenciar automaticamente o uso da memria. Alm disso, Python suporta mltiplos paradigmas de programao. A programao procedimental pode ser usada para programas simples e rpidos, mas estruturas de dados complexas, como tuplas, listas e dicionrios, esto disponveis para facilitar o desenvolvimento de algoritmos complexos. Grandes projetos podem ser feitos usando tcnicas de orientao a objetos, que completamente suportada em Python (inclusive sobrecarga de operadores e herana mltipla). Um suporte modesto para programao funcional existe, o que torna a linguagem extremamente expressiva: fcil fazer muita coisa com poucas linhas de comando. E tambm possui inmeras capacidades de meta programao: especfico. Python tem uma biblioteca padro imensa, que contm classes, mtodos e funes para realizar essencialmente qualquer tarefa, desde acesso a bancos de dados a interfaces grficas com o usurio. E, logicamente, j que esse o objetivo deste grupo, exi stem muitas ferramentas para lidar com dados cientficos. Essa caracterstica da linguagem comumente chamado baterias inclusas, significando que tudo que voc precisa para rodar um programa est na maior parte das vezes presente na instalao bsica. Por fim, e no menos importante, Python uma linguagem livre e multiplataforma. Isso significa que os programas escritos em uma plataforma sero executados sem nenhum problema na maioria das plataformas tcnicas simples para alterar o comportamento de comportamentos da linguagem, permitindo a criao de linguagens de domnio

existentes sem nenhuma modificao. E, caso a plataforma objetivo no tenha uma verso de Python, desenvolvedores tm a liberdade de estudar e modificar o cdigo da linguagem para fazer com que ela rode onde quer que seja. 4. POR QUE PYTHON A LINGUAGEM IDEAL PARA APLICAES CIENTFICAS? A primeira razo, e provavelmente a principal, : Python uma linguagem expressiva, em que fcil traduzir o raciocnio em um algoritmo. Em aplicaes cientficas, o raciocnio essencialmente complicado essa a natureza das cincias. um problema adicional para o cientista ter que se preocupar com, alm do assunto bsico de sua pesquisa, a correo do programa em detalhes pouco relevantes: alocao de memria, gerenciamento de recursos, etc. Python faz isso tudo automaticamente de maneira muito eficiente, permitindo ao cientista se concentrar exclusivamente no problema sendo estudado. Python extremamente legvel. Isso significa que muito fcil compreender programas escritos h algum tempo. muito comum que os programas em atividades cientficas sejam criados a p artir da evoluo de algoritmos anteriores. Portanto, extremamente importante ser capaz de entender o que foi feito antes. Uma vez que as palavras -chave da linguagem Python so voltadas para a estruturao dos programas (e no para indicar ao computador como compilar ou interpretar trechos de cdigo), no existem trechos de cdigo que so inteis para o raciocnio. Python tem uma comunidade ativa e vibrante, espalhada por todo o mundo. E, sendo uma linguagem livre, todos os seus usurios esto dispostos a contribuir (este site um exemplo disso, j que todos seus contribuidores so voluntrios). Isso faz com que a documen tao seja abundante e existam mdulos para executar virtualmente qualquer tarefa necessria. Isso importante: no h tempo para reinventar a roda, ento poder contar com mdulos prontos timo. Mas, mais que isso, uma vez que os programas em Python so distribudos na forma de cdigo -fonte, qualquer pessoa pode

alterar, corrigir e melhorar os algoritmos. Isso faz com que os mdulos sejam maduros e seguros, testados contra diversas situaes e diversas vezes. A robustez alcanada um fator importante. Python , alm disso, uma linguagem de propsito geral. Muitas vezes, necessrio lidar com tarefas laterais: buscar dados em um banco de dados remoto, ler uma pgina na internet, exibir graficamente os resultados, criar uma planilha, etc. Linguagens de cu nho especificamente cientfico tm um srio problema a, mas, uma vez que Python utilizada em praticamente todo tipo de tarefa, encontram-se mdulos prontos para realizar essas tarefas que podem ser tornar complicadas. Novamente, uma preocupao a meno s para quem est desenvolvendo aplicaes cientficas. Por esses e ainda outros motivos, Python tem conquistado uma grande popularidade entre a comunidade cientfica. uma linguagem simples que d conta do recado e no fica entre o cientista e a resoluo do seu problema. Essa frase provavelmente resume todos os motivos necessrios para sua utilizao. 5. PYTHON EM RELAO A OUTRAS LINGUAGENS Python tem uma comunidade ativa e vibrante, espalhada por todo o mundo. E, sendo uma linguagem livre, todos os seus usurios esto dispostos a contribuir (este site um exemplo disso, j que todos seus contribuidores so voluntrios). Isso faz com que a documen tao seja abundante e existam mdulos para executar virtualmente qualquer tarefa necessria. Isso importante: no h tempo para reinventar a roda, ento poder contar com mdulos prontos timo. Mas, mais que isso, uma vez que os programas em Python so distribudos na forma de cdigo -fonte, qualquer pessoa pode alterar, corrigir e melhorar os algoritmos. Isso faz com que os mdulos sejam maduros e seguros, testados contra diversas situaes e diversas vezes. A robustez alcanada um fator importante. Bom, h inmeras comparaes de python vs ruby pela net, at pq as duas linguagens elas so bem parecidas! mas o motivo principal que vejo que o leque de coisas que a gente consegue fazer com python e muito maior

com o leque de coisas q da pra faze com ruby! a quantidades de bibliotecas para python eh muito, mas muito maior do que as de ruby!

O ruby tem um framework web espetacular, o rails! mas no conheo outra aplicao que o ruby possua deste porte alm dele, na verdade o ruby conhecido primeiramente pelo rails, j o python, nossa, alm de vrias aplicaes desktop unix que levam a sua assinatura, pra web h o django, pylons, turbogears, zope, plone.. e todas elas so fantsticas!! Python uma linguagem de uso geral que pode ser empregada em vrios tipos de problemas. A biblioteca padro inclui mdulos para processamento de texto e expresses regulares, protocolos de rede (HTTP, FTP, SMTP, POP, XML-RPC, IMAP), acesso aos servios do sistema operacional, criptografia, interface grfica etc. Alm da bi blioteca padro, existe uma grande variedade de extenses adicionais para todo tipo de aplicao. Python tipicamente usado em aplicaes web e como linguagem de scripting para administrao de sistemas. A facilidade de integrao com C faz de Python uma linguagem embutida atrativa em aplicaes de maior porte. A possibilidade de uso de componentes COM faz de Python uma alternativa mais agradvel (e barata) ao Visual Basic. Finalmente, com o uso de ferramentas como o freeze ou Py2Exe possvel distribuir aplicaes Python stand-alone, sem que o usurio tenha que instalar o interpretador Python separadamente. Praticamente tudo o que se faria com qualquer linguagem de programao, seja ela interpretada ou compilada pode -se se fazer com python: prottipos de sistemas, automatizar tarefas repetitivas como manipulao de texto, cpia de arquivos e outros. Pode -se tambm criar programas que funcionam no modo texto, tanto interativos como servidores (ou daemons). Pode-se fazer programas em modo grfico usando a interface nativa do seu sistema, ou ento utilizando Tk, GTk, Qt, wxWidgets e tantas outras. Em termos de foco: Python, Ruby e Groovy so linguagens de script orientadas produtividade. Java, por exemplo, uma linguagem orientada manuteno.

Isso significa que bem rpido escrever cdigo em Python, mas essa "rapidez" pode criar pesadelos de manuteno mais tarde. Na outra ponta, linguagens "rgidas" como o Java te obrigam a escrever mais, porm o cdigo mantm obrigatoriamente uma legibilidade mnima dur ante todo o ciclo de vida no projeto. Em relao ao suporte a bibliotecas, vc. pode ter "porte" de linguagens de script para qualquer API existente. muito fcil usar a linguagem Python e a API/VM Java, como o caso do Jython. 6. OS PRINCIPAIS MOTIVOS PARA USAR ALINGUAGEM PYTHON Python uma linguagem perfeita pra iniciantes, fcil e flexvel. Permite desenvolver programas em poucos minutos usando um simples editor de texto e um pouco de criatividade. O Python uma das melhores linguagens de programao j inventadas. Python uma linguagem de programao poderosa e fcil de aprender. Linguagem de alto nvel, eficiente abordagem da programao orientada a objetos, sintaxe simples e elegante fazem dela uma linguagem ideal para desenvolvimento rpido de aplicaes em diversas reas sob vrias plataformas.
I - Simplicidade : Python uma linguagem muito simples. Ela permite

ao programador concentrar-se na soluo do problema em vez de concentrar-se na linguagem propriamente dita.


II - Facilidade de aprender : Como voc ver aprender a programar

com Python extremamente fcil. Pela sua sintaxe fcil, o Python faz com que at mesmo quem nunca programou, passe a domin -la em tempo recorde. Isto est fazendo com que muitas universidades usem Python nos seus cursos.
III - Software livre : Python software livre. Isto significa que voc pode

distribuir cpias, ter acesso ao cdigo fonte, alterar, modificar, redistribuir e utilizar pedaos dele em outros programas. O software livre baseado no conceito de uma comunidade que compartilha conhecimento. Esta

uma das razes porque o Python to bom. Ele foi criado e est em constante aperfeioamento por uma comunidade que s quer v -lo crescer.
IV - Linguagem de altssimo nvel : Quando escreve programas com

Python, voc no precisa se preocupar com detalhes de baixo nvel como gerenciamento de memria, por exemplo.
V - Portabilidade : Python portvel para diversas arquiteturas, isto

significa que seu programa escrito para Linux pode facilmente rodar em Linux, Windows, Macintosh, PlayStation, Solaris, FreeBSD, OS/2, Amiga, AROS, AS/400, BeOS, OS/390, z/OS, Palm OS, QNX, VMS, Psion, Acorn RISC OS, VxWorks, Sharp Zaurus, Windows CE e at mesmo PocketPC. Um programa feito em Python pode rodar em varias plataformas - multiplataforma.
VI - Linguagem interpretada : Python uma linguagem interpretada,

assim o cdigo de um programa Python lido e executado pelo interpretador Python sem necessitar de compilao. Alm de ser mais rpido, isto torna seus cdigos portteis. Assim basta copiar seu cdigo para outra arquitetura e execut -lo, praticamente sem modificao nenhuma.
VII - Orientao a objetos : Python suporta tanto a programao

orientada a funo quanto a programao orientada a objetos. Em linguagens de programao ori entadas a funo o programa construdo em torno de funes que nada mais so que pedaos de cdigo reutilizvel. Em linguagens de programao orientadas a objetos o programa construdo em torno de objetos os quais combinam dados e funcionalidade.
VIII - Extensvel: Se voc precisa que um pedao do seu cdigo rode

bem mais rpido ou no quer que determinada parte do seu algoritmo seja cdigo livre, voc pode codificar esta parte em C ou C++ e us -la em seu programa Python.

IX- Pode ser embutido : Voc pode embutir Python em seus

programas C/C++ para oferecer caractersticas de scripting aos usurios de seu programa.
X - usada atualmente por grandes empresas tais como Nokia

(celulares), Yahoo, Google, Philips, Industrial Light and Magic (empresa de George Lucas que usou Python para produzir efeitos especiais em Star Wars), Nasa, Disney, entre outras.

REFERNCIAS

NUNES, Marcelo Pereira. Aspectos Formais da Linguagem Python : anlise lxica e modelos de dados. In: Texto apresentad o em palestra do Grupo de Interesse em Linguagens de Programao da Fundao Universidade Federal do Rio Grande (GRULING), 1998.(Verso: jul. 2001). Disponvel em: < http://lula.dmat.furg.br/~python/aspectos.html > Acesso em 26 de julho de 2011. WIKIPDIA. Disponvel em: < http://pt.wikipedia.org/wiki/Python > Acesso em 26 de julho de 2011. Reis, Christian Robottom. Python na Prtica - Um curso objetivo de programao em Python, abril 2004 Disponvel em
http://www.async.com.br/projects/pnp/pnp.pdf - acesso em 28/07/2011

PILGRIM, MARK, MERGULHANDO NO PYTHON , Editora: STARLIN ALTA CONSULT, 2005 Morais, Pedro e Pires, Jos Nuno - Python - Curso Completo, Editora FCA, 2006

Opcional: FAQ disponvel acerca da linguagem http://www.python.org.br/wiki/PerguntasFrequentes/SobrePython python -

Potrebbero piacerti anche