Managed hosting door True

Python 3.0 breekt met het verleden

 

Python 3.0 is beschikbaar. Deze nieuwe versie van de opensourceprogrammeertaal is niet compatibel met voorgaande versies. Ontwerper Guido van Rossum wil in één keer verlost zijn van de beginnersfouten die hij in 1991 maakte.

De definitieve versie van Python 3.0 staat online. Deze versie van de opensourceprogrammeertaal (ook bekend als Python3k of Python3000) is niet compatibel met  voorgaande versies. Ontwerper Guido van Rossum zei hierover eerder tegen Computable: "Python 3.0 is mijn poging om de beginnersfouten die ik bij het definiëren van de taal gemaakt heb, te verbeteren. Voor één keer gaan we helemaal breken met de backwards compatibiliteit." De eerste versie van Python verscheen in 1991.

Versies 2.6 van programmeertaal Python verscheen dit voorjaar en dient als overgangsversie. Ontwikkelaars kunnen met 2.6 alvast kijken of hun code incompatibel zal zijn met 3.0, dankzij een ‘Py3k warnings mode'. Daarnaast bestaat er een tool om de conversie van code naar 3.0 te vergemakkelijken.

2to3 converter

Van Rossum adviseert om bestaande projecten eerst te porten naar versie 2.6 en vervolgens gebruik te maken van de 2to3 converter die 2.6-code volledig automatisch vertaalt naar versie 3.0. Als de vertaalde code toch fouten bevat, moet worden teruggekeerd naar de broncode in 2.6-formaat. Hij raadt af om de automatische gegenereerde 3.0-code handmatig aan te passen. Wie zich aan dit advies houdt, kan zijn klanten twee softwareversies bieden: eentje die draait op 2.x- en eentje die draait op 3.0-platformen.

Maar ook gebruikers die terugschrikken voor dit grondige proces, hoeven volgens van Rossum niet te vrezen. Hij zei hierover vorig jaar tegen Computable: "We willen er voor zorgen dat gebruikers van Python 2.x nog jarenlang ondersteund worden. Als je geen zin hebt in de transitie, of denkt dat het je nog een paar jaar gaat kosten, dan zit je in de tussentijd niet in een vacuüm."

Python leren

Python leren voor beginners: wiki.python.org/moin/BeginnersGuide/NonProgrammers. Python leren voor gevorderden: www.python.org/community/sigs/current/edu-sig.

Python voor wetenschappers: osl.iu.edu/~lums/swc

Python

Python is een objectgeoriënteerde hogere programmeertaal die in 1991 door Guido van Rossum werd ontwikkeld. Hij noemde de programmeertaal naar zijn favoriete comedy Monty Python's Flying Circus. Python draait op Windows, Linux/Unix, Mac OS X, OS/2, Amiga, Palm Handhelds en mobiele telefoons van Nokia. Daarnaast kan Python gebruikt worden op virtuele machines geprogrammeerd in Java of .NET. Python wordt gedistribueerd onder een open source licentie. Iedereen kan Python daardoor gratis gebruiken, zelfs als hij of zij er commerciële producten mee bouwt.

Toepassingen

Misschien wel de bekendste toepassing van Python is het gebruik als scriptingtaal (een taal waarin een webserver communiceert met webtoepassingen zodat applicatieverzoeken van webgebruikers kunnen worden beantwoord). Python kan ook gebruikt worden voor vele andere vormen van webontwikkeling. Binnen softwareontwikkeling kan Python gebruikt worden voor onder andere build control, compilatie, testen, bug tracking en project management. Ook kan Python gebruikt worden voor het krijgen van toegang tot databases als MySQL, Oracle en MS SQL Server. Andere toepassingen zijn het bouwen van grafische gebruiksinterfaces en 3D graphics. Daarnaast wordt Python veel gebruikt om netwerken op een laag niveau te programmeren. Verder is Python populair als wetenschappelijke programmeertaal. Tot slot is de taal heel geschikt voor het overbrengen van algemene programmeerprincipes, zowel voor beginners als gevorderden. Dat komt door de relatief eenvoudige syntax van Python en doordat Python ruimte biedt om te experimenteren met verschillende benaderingen, zoals functioneel, procedureel en objectgeoriënteerd programmeren.

Dit artikel is afkomstig van Computable.nl (https://www.computable.nl/artikel/2797951). © Jaarbeurs IT Media.

?


Lees meer over



Lees ook


 

Reacties

"We willen er voor zorgen dat gebruikers van Python 2.x nog jarenlang ondersteund worden. Als je geen zin hebt in de transitie, of denkt dat het je nog een paar jaar gaat kosten, dan zit je in de tussentijd niet in een vacu?m."

Kijk das nou een heel mooi voorbeeld van echte ict innovatie! De mogelijkheid om het oude te laten bestaan naast het nieuwe + automatische conversietools van oud naar nieuw! De vrijheid als programmeur om jouw methode te kiezen, Multiplatform en inzetbaar van lowlevel tot highlevel

En ook een mooi gebaar naar de ict wereld toe. een ontwerper die zijn eigen fouten erkent en uit zichzelf verbeterd in een nieuwe versie van Python,

Aan deze houding en filosofie zouden ze in Redmond nog een voorbeeld kunnen nemen.

Petje af Guido! Keep up the good coding work!

@Ronald Vermeij:
Quote:"Aan deze houding en filosofie zouden ze in Redmond nog een voorbeeld kunnen nemen."

Sorry, maar volgens mij is dit weer een klassiek voorbeeld van een ongefundeerde negatieve opinie van Microsoft. Je praat absolute onzin.

Visual Basic 6 werd op 13 februari 2002 vervangen door .NET 1.0 / VB.NET. Oorspronkelijk zou Visual Basic 6 nog ondersteund worden tot eind maart 2005. Na aandringen van de VB6 community is deze support uiteindelijk verlengd tot eind maart 2008, kortom 6 jaar na de nieuwe "incompatible" versie. Overigens waren de eerste beta's van .NET al in 2000 beschikbaar, zodat ook daar al vroeg begonnen kon worden aan de omschakeling.

Oh ja, .NET 1.0 en 1.1 bevatten conversie-tools voor het omzetten van applicaties van VB6 en .NET. Natuurlijk viel daar behoorlijk wat op op te merken, maar .NET en VB6 zijn dan ook totaal verschillende platformen. Niet alleen de taal is aangepast, vrijwel alles is aangepast. Bovendien wordt ook met de Python variant gewaarschuwd dat geconverteerde sourcecode niet met de hand meer gewijzigd zou moeten worden.

En .NET is een behoorlijk open standaard. Nee, het is geen open source platform, maar er zijn wel open source talen die naar de CLR compileren (waaronder IronPython) en er zijn ook open source implementaties die behoorlijk compatible zijn.

Ik wil Python en .NET niet vergelijken en mijns inziens hebben beiden hun plaats. Jij maakt heel terloops deze vergelijking wel, maar 95% van jouw anti-Redmond uitlating raakt kant noch wal, dus moet ik je toch even corrigeren. Uiteindelijk praten anders veel mensen elkaar zo makkelijk na dat ze leugens en onzin zoals jouw opmerking voor waarheid aannemen zonder feiten te kennen.

"Sorry, maar volgens mij is dit weer een klassiek voorbeeld van een ongefundeerde negatieve opinie van Microsoft. Je praat absolute onzin."
Wat jou ego bestempeld als "absolute onzin" is voor mij bittere realiteit geweest tijdens het werk, dus hierover verschillen we duidelijk van (werk)ervaring en mening.

"ongefundeerde negatieve opinie" klopt mijn inziens ook niet, daar ik zelf meerdere malen (vanaf MsDos 3.0 t/m Vista) tegen de onmogelijkheden ben aangelopen van de produkten van "de software gigant uit Redmond".
Hier een opsomming:
1. Gebrek aan goede documentatie die daadwerkelijk laat zien (met duidelijke voorbeelden) is mijn voornaamste punt.
2. Ander punt is de geslotenheid van Microsoft.
Zelfs als "gediplomeerd MSCE-er" heb je nog niet toegang tot alle kennis die je nodig hebt om je microsoft - related baan naar behoren uit te kunnen voeren, en hun produkten aan te passen zoals jij of "de klant" het wil hebben draaien.
Ik heb menig uurtje doorgebracht op zoek naar die informatie op websites zoals MS Knowlegde Databases, Technet, Whec, MSND. Dit is een cyberoerwoud waarin je gewoon (bewust?) verzuipt, zonder dat je vind wat je wilt zoeken. Want de zoekmogelijkheden op deze cyber-info-farms zijn - naar mijn mening - zwaar met *****dt
Ik heb meer oplossingen gevonden op externe websites van "microsoft partners of hackers" dan die van Microsoft zelf.

3. Daarnaast heb ik ook menig SDK en DDK gedownload of Technet cdrommetje doorgespit op zoek naar een oplossing voor een uitdaging op de werkvloer, maar de info is gewoon niet beschikbaar.

4. Geheimzinnigheid.
Uit documentatie van derde partijen zoals software, virus, malware en rootkit researchers/prgrammeurs, is af te leiden dat er veel meer (ungedocumenteerde handelingen) achter de "windows" gebeurd dan dat microsoft je zelf verteld. Waarom?

Dus ongefundeerd is mijn kritiek niet zoals je hierboven kunt lezen.

Je vb, dot net vrs python vergelijking gaat hier niet op. Simpelweg omdat je een close-source en closed documentatie produkt probeert te vergelijken met een open source en open documentatie produkt.
Das appels met peren vergelijken

"Ik praat geen mensen na". Ik heb alleen een eigen mening gebaseerd op mijn eigen ervaring, onderzoek, en ondervindingen uit het werken met microsoft produkten.

Dus er hoeft hier ook niets door niemand gecorrigeerd te worden, behalve je eigen interne oordeel over mijn mening.

Mijn laatste reaktie hier, omdat ik verder geen zin heb in wellus-nietus discussies.

@Ronald Vermeij
Je opent met het volgende:
Quote: ""ongefundeerde negatieve opinie" klopt mijn inziens ook niet, daar ik zelf meerdere malen (vanaf MsDos 3.0 t/m Vista) tegen de onmogelijkheden ben aangelopen van de produkten van "de software gigant uit Redmond"."

Naar vervolgens zeg je dit:
Quote: "Je vb, dot net vrs python vergelijking gaat hier niet op. Simpelweg omdat je een close-source en closed documentatie produkt probeert te vergelijken met een open source en open documentatie produkt.
Das appels met peren vergelijken"

Dus omdat je zelf zegt dat je open source en close source producten niet kan vergelijken doe jij het toch? Sterker nog, jij vergelijkt een open source product met alle diensten en producten van de grootste close source softwareleverancier als je de volgende sneer maakt:
Quote: "Aan deze houding en filosofie zouden ze in Redmond nog een voorbeeld kunnen nemen."

Kortom, jij praat mooi over een appel en geeft daarbij totaal ongerelateerd een sneer naar een concurrerende boomgaard. Als ik dan de genoemde appel en een andere appel van de concurrent vergelijk, verwijt jij me dat ik appels en peren vergelijk. Beetje krom, vind je niet?

In jouw aanklacht aan de geheimzinnigheid, gebrek van openheid en documentatie van MS ben jij behoorlijk gesloten en vind ik weinig documentatie. Van welke zaken kan jij geen documentatie vinden? Welke SDK of DDK is volgens jou ongedocumenteerd? Waar zijn de harde feiten?

Ik krijg in een aantal van de voorbeelden die jij noemt zo de indruk dat jij eerder jouw onkunde verbergt door deze informatie achterwege te laten dan dat je de vinger werkelijk op een zere plek van MS legt. Zonder fundering van een mening op controleerbare feiten blijven het vage beschuldigingen.

We kunnen uiteraard elke programmeertaal met elkaar vergelijken! Python, VB, .Net, allemaal.
Waarom?
Omdat wij - althans dat hoop ik - een gedegen keuze maken als we kiezen voor een bepaalde programmeertaal. Bij een Open Source vs Closed Source discussie krijg ik altijd het gevoel dat die mensen zich iets hebben laten opdringen. Wie maakt er nu keuzes? Wij toch!

Zolang er genoeg mensen zijn die de keuze maken voor een bepaalde programmeertaal zal zo'n taal zich blijven ontwikkelen cq ondersteund worden. Maar op een gegeven moment is het niet meer rendabel (commercieel) of is er niet meer genoeg aandacht (open source). In beide modellen sterven programmeertalen en versies af en staan er weer nieuwe op.

We zullen dat hier bij Python ook gaan zien. Als er voldoende enthousiastelingen zijn om om Pyton 2.x in stand te houden en misschien wel door te ontwikkelen, zal Python 2.x blijven bestaan. Net als dat VB een hele poos naast .Net bestaan heeft.

Ik zie dus meer overeenkomsten dan verschillen!

@Ruud.
Hierbij een gefundeerd voorbeeld om mijn microsoft- gebrek aan documentatie - punt duidelijk te maken:
Zoals je zelf weet (als vb? dot NET expert?) bezit het microsoft windows platform een register(y). De "interne systeem gegevensopslagbak" van het microsoft besturings systeem.

Vraag:
Waar vind ik dan de complete, overzichtelijke, geordende beschrijving/documentatie van:
1 - alle bestaande registry takken van Micosoft zelf maakt / gebruikt?
2 - de betekenis van deze registry takken?
3 - de waardes die in daar in kan vullen?
4 - het effect wat die ingevulde waardes op de werking van het windows operating system?

Vaak kom je - als oplossing van een probleem - ergens in een knowledgde datebase een artikel tegen, waarin dan een "tot voorheen onbekende registrykey met dito onbekende waarde" moet worden toegevoegd om iets te verhelpen.

Waarom staat die registry, 100% compleet up-to-date ergens online gedocumenteerd bij Microsoft? Het is immers het hart van het platform en zij hebben alle kennis daarover in huis.

Vacatures

Stuur door

Stuur dit artikel door

Je naam ontbreekt
Je e-mailadres ontbreekt
De naam van de ontvanger ontbreekt
Het e-mailadres van de ontvanger ontbreekt

×
×