Python 3.3.0 - wąż co połyka własny ogon

Oficjalna strona Stowarzyszenia Polska Grupa Użytkowników Pythona

Python 3.3.0Od wydania Python 3000 minęły prawie 4 lata. Z początkiem, w trakcie prac a także po wypuszczeniu tej gałęzi na świat, w kuluarach społeczności wróżono katastroficzny rozłam. Były ku temu pewne przesłanki. Zapomniano jednak uwzględnić fakt, że problem (o ile faktycznie zaistniał) dotyczy społeczności Pythona - ambasadora marki i 20-letniej historii. Czas zweryfikował, że wąż "tanio skóry nie sprzedał".

Frakcje nadgorliwych zwolenników i przeciwników Py3k owszem istniały i nadal istnieją. Jednakże, stanowią one wyłącznie pierwiastek całej społeczności. Z drugiej strony trudno dziwić się opozycji, kiedy główna linia rozwojowa ulubionego języka programowania, naszego codziennego narzędzia pracy, staje się niekompatybilna wstecz, posiada nikłą ilość bibliotek zewnętrznych, traci na wydajności czy wprowadza chaos w edukacji osób rozpoczynających przygodę z Pythonem.

Decyzja była o tyle warta zachodu, że z języka pozbyto się wielu przestarzałych komponentów oraz uporządkowano jego bibliotekę standardową. Bez względu na konsekwencje i utrudnienia, wyszło to Pythonowi na dobre, czyniąc go jeszcze bardziej nowoczesnym i przyjaznym językiem programowania. Problem związany z dostępnością rozszerzeń również zanika, czego dowodem są następujące zestawienia: Python 3 Wall Of Shame i Who's on Python3?.

Na przełomie września i października tego roku wydano wersję Pythona 3.3.0. Po za ogólnymi porządkami, poprawą wydajności, aktualizacją dokumentacji, wprowadza ona również ewolucję w zakresie składni języka.

Niektóre zmiany warte wspomnienia to:

  • ujednolicenie zapisu literałów unicode (PEP 414),
  • dodanie wyrażenia yield from, generującego odsyłacze (PEP 380),
  • elastyczna reprezentacja znaków (PEP 393),
  • re-implementacja modułu decimal w języku C (120-krotny zysk wydajności),
  • biblioteka importlib jako system importu (__import__),
  • pojawienie się skryptu uruchamiającego dla systemów Windows (PEP 397),
  • dodanie w głównej gałęzi wbudowanego modułu venv (Virtual Environments) (PEP 405),
  • dodanie wsparcia pakietów przestrzeni nazw (PEP 420),
  • zreorganizowanie hierarchii wyjątków OS i IO,
  • dodanie modułów: lzma, faulthandler, unittest.mock, ipaddress.

Więcej informacji: What's New In Python 3.3

Dodał: Piotr Tynecki, Kategorie: News
Data: 2012-10-07 15:44:45


Copyright © 2007-2014 by Polish Python Coders Group
Język programowania Python  Open Source

Powered by Pigmej CMSv.0.2
Hosted by DmTEC