post

Python ca:Introduction

Contents

Introducció

Python és un dels pocs llenguatges que pot presumir de ser a l’hora
senzill i potent. Us sorprendrà agradablement veure com és de fàcil concentrar-se en la solució del problema en comptes de la sintaxis del llenguatge (és a dir, l’estructura del programa que escriviu)

La presentació oficial del Python és:

Python és un llenguatge fàcil d’aprendre, a l’hora que potent. Disposa d’eficients estructures de dades d’alt nivell, i una senzilla, tot i que efectiva, aproximació a la programació orientada a objectes. La sintaxi elegant i fàcil d’escriure de Python, juntament amb la seva naturalesa de llenguatge interpretat, el fan ideal per la construcció de scripts i el ràpid desenvolupament d’aplicacions en diferents àrees i sobre la majoria de les plataformes.

Veurem aquestes característiques amb més detall a la següent secció.

Note
Per cert, Guido van Rossum (el creador del llenguatge Python) li va donar nom a partir de la serie “Monty Python’s Flying Circus” de la BBC. A ell no li agraden particularment serps que maten animals per menjar-se’ls fent servir els seus llargs cossos al voltant fins macant-los.

Característiques de Python

Simple
Python és un llenguatge simple i minimalista. Llegir un bon programa en Python és similar a llegir un text en anglès (un anglès molt estricte, però!) Aquest aspecte de pseudocodi del Python és una de les seves grans avantatges. Permet concentrar-nos en la solució del problema en comptes de la sintaxi, és a dir, el llenguatge en si.
Fàcil d’aprendre
Com veurem, és extremadament fàcil començar a treballar amb Python per la seva

sintaxi extraordinàriament simple.

Lliure i obert
Python és un exemple de FLOSS (Free/Libre and Open Source Software1) Bàsicament, es pot distribuir lliurement còpies d’aquest programari, llegir el seu codi font, fer-ne modificacions, fer servir parts d’ell en nous programes lliures. FLOSS està basat en el concepte d’una comunitat que comparteix coneixement. Aquesta és una de les raons per les quals Python és tan bo – ha estat creat i millorat per una comunitat que persegueix veure un Python millor.
Llenguatge d’alt nivell
Quan escrius un programa en Python, mai t’has de preocupar sobre detalls de baix nivell com ara gestionar la memòria usada pel programa.
Portable
Gràcies a la seva naturalesa de font lliure, Python ha estat portat a (és a dir, modificat per que funcioni sobre) moltes plataformes. Tots els nostres programes en Python funcionaran sobre qualsevol d’aquestes plataformes sense que ens calgui cap canvi, sempre i quan anem amb compte d’evitar característiques dependents del sistema.
Es pot fer servir Python a Linux, Windows, FreeBSD, Macintosh, Solaris, OS/2, Amiga, AROS, AS/400, BeOS, OS/390, z/OS, Palm OS, QNX, VMS, Psion, Acorn RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE i fins i tot PocketPC!
Interpretat
Aquest punt requereix una mica d’explicació.
Un programa escrit en un llenguatge de compilació com ara el C o el C++ es traduït del codi font (és a dir, C/C++) a un llenguatge parlat per l’ordinador (codi binari – 0s i 1s) fent servir un programa compilador amb varies opcions. Quan aquest programa és executat, el programari d’enllaçament/carregador simplement carrega el codi binari a la memòria de l’ordinador i comença a executar-lo des de la primera instrucció del programa.
Quan es fa servir un llenguatge interpretat, com ara Python, no hi ha cap separació entre la compilació i l’execució. Simplement el programa es executat des del codi font. Internament, Python converteix el codi font en un format intermedi anomenat <emphasis>bytecodes</emphasis> i tot seguit l’executa fent servir una màquina virtual. Tot plegat fa que usar Python sigui tan fàcil. Simplement s’ha d’executar els programes sense preocupar-se de coses com ara enllaçar i carregar llibreries. També fa que els programes siguin més portables d’aquesta manera, ja que es pot portar una còpia d’un programa Python a un altre sistema de qualsevol classe i simplement funcionarà!
Orientat a objectes
Python permet la programació orientada a procediments, així com la programació orientada a objectes. Als llenguatges orientats a procediments, el programa es construeix al voltant de procediments o funcions (trossos reusables de codi) Als llenguatges orientats a objectes, el programa s’escriu al voltant d’objectes que combinen a l’hora dades i funcionalitat. Python disposa d’una manera molt potent i a l’hora simple de fer programació orientada a objectes, especialment si el comparem amb altres llenguatges com ara C++ i java.
Extensible
Quan necessitem que una peça de codi s’executi molt ràpidament, podem escriure-la en C o C++, i després combinar-la amb el nostre programa en Python.
Incrustable
Python pot ser incrustat (embedded) en els nostres programes C/C++ per a oferir la possibilitat de realitzar scripts als nostres usuaris.
Ampla biblioteca
La biblioteca estàndard de Python és immensa. Ens ofereix ajuda amb diferents aspectes, com ara: expressions regulars, generació de documentació, depuració d’unitats, gestió de fils d’execució (threading), bases de dades, navegadors d’Internet, CGI, ftp, email, XML, XML-RPC, HTML, fitxers WAV, criptografia, interfícies gràfiques (GUI) amb Tk, i també amb elements dependents del sistema. Tot això es coneix com la filosofia “piles incloses” de Python.
A més a més de la biblioteca estàndard, hi ha disponible un bon nombre de llibreries d’alta qualitat com ara wxPython , Twisted, Python Imaging Library entre moltes altres.

Python és un llenguatge molt atractiu i potent. Disposa de la combinació correcta entre rendiment i característiques que fan que el desenvolupament de programes en Python sigui a l’hora divertit i fàcil.

Perquè no Perl?

Per si no ho sabies, Perl és un altre llenguatge de programació. També és interpretat, de font lliure, i extremadament popular.

Si has intentat mai escriure un programa llarg en Perl, ja ets capaç de respondre a la pregunta tu mateix! En altres paraules, els programes Perl són fàcils mentre es mantenen petits. Perl és perfecte per a aconseguir que scrips i petites peces de codi “facin la feina”. Però de seguida es torna immanejable quan els programes comencen a ser grans. I parlo des de l’experiència d’escriure grans programes en Perl a Yahoo!

Comparant-lo amb Perl, els programes Python són definitivament més senzills, clars, fàcils d’escriure i, per tant, més comprensibles i fàcils de mantenir. Admiro Perl i el faig servir a diari per diferents tasques, però, sempre que haig d’escriure un programa, començo pensant en termes de Python. Perl ha patit tantes modificacions que sembla com si tot ell fos una gran i horrible modificació. Malauradament l’arribada del Perl 6 no sembla que hagi de portar cap millora al respecte.

L’únic (i molt significatiu) avantatge que trobo que ofereix Perl és la seva immensa biblioteca CPAN. Com el seu propi nom suggereix, aquesta biblioteca és una formidable col·lecció de mòduls de Perl totalment inabordable per la seva grandària i profunditat. Amb els mòduls d’aquesta biblioteca es pot fer virtualment qualsevol cosa que es pugui realitzar amb un ordinador. Una de les raons per les quals Perl disposa de més mòduls que Python és que el primer porta molt més temps que el segon. Amb tot, sembla que aquest tema està canviant amb el creixent Python Package Index.

Perquè no Ruby?

Per qui no ho sàpiga encara, Ruby és un altre llenguatge de programació interpretat i lliure. També és molt popular.

En cas que ja estigueu fent servir Ruby, us recomano definitivament que el continueu usant.

Per a aquells que no coneguin Ruby però estiguin decidint si aprendre aquest o bé Python, els recomano Python des de la perspectiva de facilitat d’aprenentatge. Personalment trobo difícil d’entendre el llenguatge Ruby. Amb tot, la gent que si l’enten, diuen meravelles de la bellesa del llenguatge. Malauradament jo no sóc tan afortunat.

El què diuen els programadors

Potser trobareu interessant el que alguns grans programadors, com el ESR, han dit sobre Python:

  • Peter Norvig és un dels autors de Lisp i el director de Qualitat de Cerca a Google (gràcies a Guido van Rossum per indicar aquest punt). Diu que Python ha estat sempre una part integral de Google. Es pot verificar aquesta afirmació cercant les ofertes de feina de Google on el coneixement de Python és requisit pels enginyers de programari.

Respecte a Python 3.0

Python 3.0 és la nova versió del llenguatge. També el trobareu com a Python 3000 o Py3K.

Aquesta nova versió té l’objectiu principal d’eliminar tots els petits problemes i detalls que s’han anat acumulant al llarg del temps. D’aquesta manera el llenguatge queda encara més net.

Hi ha disponible una utilitat d’ajuda a la conversió de Python 2.x a Python 3.0.

Trobareu més detalls a: