Programski jezik Python


Zgodovina

Python je programski jezik, katerega začetki segajo v pozna 80. leta prejšnjega stoletja. Izdelal ga je Guido van Rossum decembra 1989 v nizozemskem centru CWI.

O Pythonu

Pythonova koda je odprta, kar pomeni, da so njegove knjižnice (in na tisoče paketov, ki jih je izdelala skupnost) na voljo popolnoma zastonj v binarni in izvorni obliki.

Včeraj sem napisal 20 kratkih programov v Pythonu. Bilo je čudovito. Perl, zapuščam te. Vir: XKCD

Python podpira številne programske paradigme, kot so objektno usmerjeno, imperativno in funkcionalno programiranje ter postopkovni slogi. Vanj je vgrajen sistem dinamičnih tipov in samodejno upravljanje  pomnilnika.

Python je zmogljiv, hiter, prijazen, preprost za uporabo, odprtokoden, zna sodelovati z drugimi in deluje povsod.

To pomeni, da ga lahko osvojite in začnete uporabljati ter razvijati v zelo kratkem času. Iteracijski cikel je bistveno krajši kot pri drugih uveljavljenih programskih jezikih. Večina programerjev v Pythonu upošteva splošna slogovna pravila (pep8), zaradi česar se lahko novi razvijalci hitro vključijo v obstoječo ekipo. Pri odprtokodnih projektih je ta lastnost zelo koristna.

Filozofija

Osrednja dela Pythonove filozofije sta berljivost in jasnost kode. Njegova sintaksa omogoča preprosto izražanje konceptov z manj vrsticami, kot bi jih potrebovali v drugih "velikih" jezikih, kot sta C ali Java.

Eden od Pythonovih dolgoletnih uporabnikov Tim Peters, ki je sčasoma postal tudi eden njegovih najplodnejših in navztrajnejših razvijalcev, je poskusil zajeti njegovo filozofijo v pesmi, ki jo je naslovil Zen Pythona. Od tedaj je ta zapis kot velikonočno jajce skrit v vsako izdano različico Pythona.

The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those! 

Pythonove implementacije

Mnogi Python uporabljajo pri delu ali se z njim ukvarjajo za konjiček. Česar številni ne vedo, je, da obstajajo mnoge različne implementacije Pythona. Ker za podrobnejšo razlago ni prostora, napišimo samo, da je najpogostejša implementacija CPython, ki je napisana v C-ju, obstajajo pa še številne druge v različnih jezikih in na različnih navideznih napravah, npr. Jython (z Javo in JVM), IronPython (C# in CLR), RubyPython (Ruby in Ruby VM), Brython (Javascript  in Javino programsko okolje) in še mnogi drugi.

Za več informacij obiščite ta spletni dnevnik in podroben seznam implementacij.

Kdo uporablja Python?

Python se je razširil praktično na vsa možna področja uporabe. Ljudje se z njim učijo programiranja, uporabljajo ga za spletni razvoj in čedalje pogosteje za znanost, računalniške simulacije ... Za tako razširjenost se ima zahvaliti svoji fleksibilnosti,zaradi katere je uporaben praktično povsod.

Le nekaj primerov različnih področij uporabe Pythona:

1. XBMC, zastonjski odprtokodni multimedijski predvajalnik

2. Dropbox

3. Blender, zastonjski odprtokodni programski paket za 3D animacijo

4. Eve Online, masovna večigralska igra z enim samim, trajnim svetom (tisoče in tisoče igralcev si deli isto vesolje, ki se odziva na njihova dejanja).

5.YouTube

To je le nekaj primerov, ki se precej naslanjajo na Python, prisoten pa je še pri mnogih drugih obsežnih projektih, npr. v PayPalu, Instagramu, Googlovem iskalniku, eBayu ...