Pieter Edelman
23 December 2010

Het Python-team heeft de tweede bèta van de opkomende versie 3.2 vrijgegeven. Ontwikkelaars kunnen zo alvast spelen met de release die voor februari gepland staat. 3.2 is bedoeld om de 3.x-lijn verder te stabiliseren. Dit is nog de enige lijn waarin nieuwe features worden geïntroduceerd; de 2.x-lijn krijgt alleen nog bugfixes.

Versie 3.2 voert vele kleine verbeteringen door aan de taal en verschillende modules. Daarnaast is er een aantal in het oog springende nieuwe features. Een van de belangrijkste verbeteringen is dat moduleontwikkelaars een stabiele Abi kunnen gebruiken. Externe modules kunnen declareren welke Api-versie ze ondersteunen en er vervolgens op vertrouwen dat de gecompileerde code compatibel is met een aantal opeenvolgende versies. Daarbij roept de code niet meer direct de interne mechanismen van de interpreter aan. Verder zet 3.2 de eerste stap op weg naar een nieuwe module voor concurrente processen, met de implementatie van de futures-submodule voor het beheer van threads en processen op een gecentraliseerde manier.

Een andere verbetering is dat het cachingmechanisme voor bytecode beter overweg kan met verschillende geïnstalleerde interpreters op het systeem. Tot nog toe keek elke interpreter of een pyc-bestand de juiste versie had en overschreef deze met zijn eigen versie als dat niet het geval was. Dat wordt steeds problematischer nu er vaak interpreters van de 2.x- en de 3.x-lijn op één systeem zijn geïnstalleerd. Bovendien wordt de implementatie gebouwd op de LLVM-compilerinfrastructuur Unloaden Swallow steeds populairder en is vaak ook aanwezig. Vanaf 3.2 zet iedere interpreter daarom een toevoeging in de bestandsnaam die uniek is voor de versie.

Python is beschikbaar onder zijn eigen opensourcelicentie en gratis te downloaden.

 advertorial 

Sigasi Extension for Visual Studio Code

Sigasi announces the release of their VS Code Extension with rich support for SystemVerilog, Verilog, and VHDL. Our extension provides features and language support such as code navigation, project management, linting, code formatting, tooltips, outline, autocomplete, hover, and much more!