Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 10 reacties
Bron: Python

Python is een object-georiŽnteerde programmeertaal waarmee simpele tot complexe platformonafhankelijke applicaties kunnen worden ontwikkeld. De ontwikkelaars van deze programmeertaal hebben de finalversie van Python 2.6 uitgebracht. De aankomende 3.0-serie is niet backwards compatible met de voorgaande versietakken omdat men de taal wil opschonen van oude code en enkele aanwezige ontwerpfouten wil herstellen. Versie 2.6 voegt daarom gedeeltelijke forward compatibility aan de 2.x-lijn toe zodat programmeurs hun applicaties makkelijker naar Python 3.0 kunnen overzetten door alvast nieuwe functies te ondersteunen. De complete lijst met veranderingen voor Python 2.6 kan op deze pagina nagelezen worden en de veranderingen ten opzichte van de tweede release candidate zien er als volgt uit:

What's New in Python 2.6 final

Core and Builtins:
  • Issue #3967: Fixed a crash in the count() and find() methods of string-like objects, when the "start" parameter is a huge value.
  • Issue #3965: Fixed a crash on Windows when open() is given an invalid filename or mode, and the filename is a unicode string.
  • Bug #3951: Py_USING_MEMORY_DEBUGGER should not be enabled by default.
Library:
  • Issue #3965: Allow repeated calls to turtle.Screen, by making it a true singleton object.
  • Issue #3895: It was possible to crash the interpreter when an external timer was used with cProfile that returned an object that could not be converted into a float.
  • Issue #3950: Made turtle respect scale factors.
  • Issue #3547: Fixed ctypes structures bitfields of varying integer sizes.
  • Issue #3879: A regression in urllib.getproxies_enviroment was fixed.
  • Issue #3863: Disabled a unit test of fork being called from a thread when running on platforms known to exhibit OS bugs when attempting that.
Build:
  • Bug #3989: Package the 2to3 script (as 2to3.py) in the Windows installer.
  • Bug #3887: Package x64 version of CRT for AMD64 Windows binaries.
Versienummer:2.6
Releasestatus:Final
Besturingssystemen:Windows 9x, Windows NT, Windows 2000, Linux, BSD, Windows XP, macOS, Solaris, UNIX, Windows Server 2003, Windows Vista
Website:Python
Download:http://www.python.org/download/releases/2.6/
Licentietype:Voorwaarden (GNU/BSD/etc.)
Moderatie-faq Wijzig weergave

Reacties (10)

Python blijft voor mij een beetje een lijmtaal zoals Perl.
begrijp me niet verkeerd ik gebruikt ook een aantal Perl scripts, dus ik bekijk het een beetje vanuit Perl.

Wat is nou het grote voordeel van Python over bijvoorbeeld Perl?
is het sneller?
minder gebruik van systeem?
syntax gerelateerde plusjes?

zou iemand van het Python kamp een beetje duidelijkheid willen scheppen ik blijf het een moeilijk punt vinden. :)
Python is ook een lijmtaal, en dit wordt ook gestimuleerd doordat je vrij eenvoudig in C of C++ extensies kunt schrijven als je performance nodig hebt, of als je bestaande libs wilt gebruiken in je Python-applicatie.

Het grootste verschil met Perl is echter meer de ‘cultuur’. In Perl zit veel speciale syntax, veel ‘slimmigheidjes’, en er is ‘more than one way to do it’. Je kunt <statement> unless <conditie> schrijven, maar ook if (!conditie) <statement>. Zulke zaken worden in Python meestal met argusogen bekeken. Er wordt gestreefd door de ontwikkelaars om bij voorkeur ťťn manier te hebben om iets te doen. De syntax is daarom minimalistisch, er zijn niet zulke magische variabelen als $/ en de taal laat zich zelf b.v. wel door een grammatica beschrijven. ;)

Verder is OO bij Perl 5 nog een beetje naderhand erop gezet, en dat zie je, vind ik, aan alles. De syntax is niet erg schoon. In Python is de OO volledig geÔntegreerd. Dit betekent ook dat je b.v. ints kunt subclassen, of de built-in dictionary kunt uitbreiden. (Overigens is Python niet alleen OO, Haskell-programmeurs zullen de lijst-comprehensies herkennen, en de mogelijkheid om functies als first-class citizens te gebruiken.)

Als zodanig leent Python zich denk ik ook beter voor grotere projecten, waarbij het van belang van leesbaarheid van de code (gecombineerd met eventuele rapid prototyping) groot is. Perl wordt wat dat betreft wel als ‘write only’-taal getypeerd. En dat Python ook werkt voor grote projecten moge duidelijk zijn als je ziet dat b.v. YouTube Python gebruikt, Google dit intensief doet (de maker van Python werkt ook bij Google tegenwoordig), en b.v. CERN, NASA en ESA Python gebruiken.

Overigens is er met Python (maar ook Perl) wat dat betreft ook veel wetenschappelijke software te verkijgen zoals SciPy en SymPy, wat (basis)functionaliteit vergelijkbaar met Matlab en Maple naar Python brengt. (Perl heeft PDL). Vanwege de snelle ontwikkelingsmogelijk en hoge interface is dit vaak veel gemakkelijker dan C programmeren; tegelijkertijd is de interface ook weer flexibeler dan Maple of Matlabs ingebouwde programmeertaal.
Dat maakt dingen ook voor mij een stuk duidelijker. Ik zelf was van plan on Python te leren maar ik snap niet wat jullie allemaal zo handig vinden aan de syntax? in PHP (dat kan ik wel redelijk) is de syntax heel erg veel duidelijker! In Python word zoveel gefocust op indenting en line breaks. Als je dat nou eens niet wil heb je een probleem.

In PHP is het simpeler. Indenting maakt niet uit, elke regel code eindigt met ; En elke variable begint met een $ Als je een if statement wil hebben is dat

if($foo == 1)
{
echo $foo.
}

Veel simpeler toch!
Als je tot in het extreme doortrekt, waarom dan eigenlijk nog regels? Whitespace zoals regeleinden (incusief lege regels) en indenting geeft struktuur aan code en maakt het beter leesbaar. Ook voor anderen.
als je grote programma's maakt in python begint dat indenten toch wel heel handig te worden. Je kan zo het stuk opzoeken waarnaar je op zoek bent. De sub classes zijn veel duidelijker bijvoorbeeld. Het ziet er net uit als de reacties hier op tweakers. Verder is python veel uitgebreider dan php, je kan er van alles mee maken van games tot websites (google gebruikt veel python, bijvoorbeeld voor de help pagina's).

Het is echt een hele mooie taal om mee te beginnen.
De syntax is makkelijk en voor dat je het weet heb je al je eerste nuttige programma in elkaar zitten. Het schrijft lekker snel en de code van andere mensen is goed te lezen.
Python is een interpreted taal maar het valt ook te compileren tot .exe (of elf etc) bestanden!

[Reactie gewijzigd door c-r-all op 4 oktober 2008 13:46]

Geloof me, hoe langer je zelf python'd, hoe raarder je PHP gaat vinden als taal. Daarnaast vind ik dat python veel overzichtelijker code geeft dan PHP, omdat je gewoon moet identen.

Geen last van beginnende programmeurs die hun blocks niet indenten waardoor de code compleet onleesbaar wordt.

Daarnaast is python veeeeeeeeeeeeeeeeeeeeeeeel veelzijdiger als taal dan PHP, PHP is voornamelijk voor webdev, python kan worden gebruikt voor webdev, maar ook voor desktop ui's, embedded script taal en nog veel meer.

En ja, ik kom ook van PHP/C++/Andere curly braces talen, en ja ik moest ook wennen dat python geen curly braces etc had. Maar nu ik het een tijdje doe, wil ik eigenlijk niet meer anders.
Python is iets ruimer dan Perl. Perl is zeer sterk in het verwerken van tekst (regular expressions, ...), en in het aan elkaar plakken van programma's. Nadeel is de ongelooflijk lelijke syntax. Van Perl zeggen ze weleens dat het een Write Only programmeertaal is, het is vaak makkelijker zelf iets te programmeren dan de code van een ander te ontrafelen.

Python is meer een all-round programmeertaal. De syntax is zeer elegant. Python kan, net zoals Perl, zeer goed omgaan met lists en hashes. Maar vooral: het is "batteries included". Bij Python zitten standaard enorm uitgebreide bibliotheken.

Als er snel wat manipulaties op een tekstbestand moeten gebeuren, is Perl zeer handig. Als je op basis van datzelfde tekstbestand een boompje met objecten wil opzetten, dan alles in een memory map dumpen, en daarna nog wat bit banging doen, dan is Python beter.
ik ben geen expert, maar kijk er met veel interesse naar en wil het zeker nog een keer voor een fatsonelijk hobby project gebruiken, maar heb er al wel wat mee gespeeld.

Wat imho de kracht van python is is de enorme eenvoud van de taal. Alles kan alles mag en alles werk zoals je zou verwachten. En het is zeker niet alleen geschikt om wat scriptjes in te maken. De MMO eve-online is volledig in pyhton gemaakt!

[Reactie gewijzigd door martijnve op 4 oktober 2008 00:28]

Ik heb tot nu toe al heel wat software geschreven in Python. Van web applicaties met Django, tot http caching/proxy daemons, tot embedded script omgeving voor een computer game.
Voor mij is python de taal van de toekomst.
Indien er ergens een performance probleem zou zijn, schrijf ik voor dat bepaalde stuk een C of C++ module, maar tot nu toe is dat nog geen 3 keer voorgekomen.
Python vergelijken met PHP is simpelweg ridicuul.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True