Programování

Guido van Rossum rezignuje: Co bude dál pro Python

Vynálezce Pythonu Guido van Rossum šokoval svět Pythonu 12. července, když odstoupil jako takzvaný jazyk BDFL (benevolentní diktátor na celý život). V té době jako motivaci k odchodu uvedl ostrost nad nedávným návrhem na vylepšení Pythonu pro schopnost jazykových výrazů.

Van Rossum, který v roce 1990 vynalezl Pythona, si však stále věří, že jazyk bez jeho vedení bude pokračovat v pohodě. 62letý van Rossum, hlavní inženýr společnosti Dropbox ve své každodenní práci, hovořil o svém rozhodnutí jít dál s redaktorem Large Paul Krill.

: Proč jste rezignovali jako BDFL?

van Rossum: Část pro život byla samozřejmě vždycky vtip, stejně jako část diktatura. S myšlenkou na odchod do důchodu jsem si pohrával pravděpodobně větší část desetiletí. Měl jsem několik zdravotních problémů, o některých jsem si myslel, že je zhoršuje neustálá hrozba, že budu vždy nejodpovědnější osobou v komunitě Pythonu a budu muset lidem říkat, jak dělat věci, mlčet a být rozumní a vysvětlit filozofie jazyka již po jedenácté.

Sláma, která zlomila velbloudovi záda, byl velmi sporný návrh na vylepšení Pythonu, kde poté, co jsem to přijal, lidé šli na sociální média, jako je Twitter, a řekli věci, které mě osobně opravdu zranily. A někteří z lidí, kteří říkali, že zraňující věci, jsou ve skutečnosti jádroví vývojáři Pythonu, takže jsem cítil, že už nemám dost důvěru týmu vývojářů Pythonu.

: Ten návrh byl PEP (Python Enhancement Proposal) 572. Můžete mluvit o výhodách tohoto návrhu a proč byl tak kontroverzní?

van Rossum: Návrh je o nové syntaxi, která umožňuje přiřazení jako součást hodnocení výrazu. Celkově je to docela malý doplněk jazyka. Umožňuje lidem, když cítí potřebu, dát úkoly uprostřed výrazu. Existuje mnoho dalších jazyků, které to mají jako vedlejší funkci. Znám C a C ++. Pokud vím, podporuje to i Java a JavaScript. Je to poměrně specializovaná část syntaxe, ale v určitých situacích může usnadnit psaní kódu a také snadnější čtení odstraněním nadbytečnosti.

Mnoho lidí mělo pocit, že vědí, co je filozofie designu Pythonu, a že tento návrh nedodržuje principy designu Pythonu. Další problém s návrhem byl do jisté míry způsoben autory návrhu. Prvních několik verzí mělo nějaké vážné problémy. Tyto problémy se poté staly důvodem, aby lidé, dokonce i lidé, kteří sympatizovali se základní myšlenkou, hlasovali proti této konkrétní verzi návrhu. Je to drobná syntaktická změna. Není na tom nic radikálního.

: V jaké verzi Pythonu bude tato funkce k dispozici?

van Rossum: Bude v Pythonu 3.8, [který má vyjít] za rok a půl.

: Bude další BDFL? Jaký bude model řízení pro Python?

van Rossum: Bohužel vám to nemohu říci, protože jsem dal hlavní vývojářské skupině - asi 100 nebo 200 lidí, kteří mají práva spáchat nebo v nedávné minulosti měli práva spáchat - domácí úkol zjistit, jaký bude nový model správy a ve kterých lidech bude nabít. A okamžitě začali tento problém řešit, protože řešili jakýkoli jiný problém ve světě Pythonu, což je s dlouhou diskusí, kde různé strany nemohou okamžitě dosáhnout dohody.

Jedinou dobrou zprávou, kterou v tuto chvíli mám, je to, že se dohodli - myslím, že souhlasili - na harmonogramu, jak zde dospět k závěru. Uzávěrka pro tyto návrhy je 1. října 2018. Pak se domnívám, že do 1. listopadu 2018 se zavázali, že si vyberou návrh struktury řízení. Do 1. ledna 2019 se pak zavázali, že budou skutečně zvoleni nebo jmenováni, nebo jak to stanoví jejich vládní dokument, lidé, kteří budou odpovědní.

Pokud se jedná o jeden z návrhů, bude existovat jediný BDFL, tento návrh bude muset být podrobně sepsán, například jak je vybrán BDFL a jak dlouho osoba zůstává na starosti a jak může být obžalován a všichni že do 1. října. Možná do 1. ledna budou mít jmenovanou skutečnou osobu.

: Kdo jsou někteří z lidí podílejících se na vývoji Pythonu?

van Rossum: Existuje řada klíčových vývojářů, kteří jsou hlasitější než ostatní. Jedním z nejhezčích kluků se skutečně dlouhou historií je Brett Cannon. Další osobou, která mi byla mentorem, je muž jménem Tim Peters. Je také autorem knihy „The Zen of Python“, což je neformální sada pokynů pro vývoj Pythonu. Barry Varšava je také jedním z hlavních vývojářů.

: Jaké bude vaše zapojení do projektu?

van Rossum: Skočím do role pravidelného přispěvatele nebo běžného základního vývojáře. Občas napíšu nějaký kód a zkontroluji kód. Pokusím se zaměřit na mentorování hlavních vývojářů, zejména nových vývojových pracovníků, zejména žen a menšin, protože rozmanitost ve skupině hlavních vývojářů je jedním z mých cílů.

: Máte obavy, že váš odchod jako BDFL může odradit některé oddané Pythonu?

van Rossum: Nemyslím si to. Python má velmi zdravou komunitu. Základní tým má velmi zdravou dynamiku. Nechtěl bych rezignovat, kdybych si myslel, že by to nepřešli a byli by schopni vést jazyk vpřed po celá desetiletí. Řekl bych, že navzdory zdání se jedná o menší škytavku, a těšíme se na velmi úspěšná budoucí vydání a vhodný postupný vývojový vývojový proces.

: Jak se vyvíjel proces vývoje Pythonu v posledních několika letech? Jak vidíte, že se to vyvíjí v budoucnosti?

van Rossum: Jazyk se samozřejmě mění. Přidáme několik nových funkcí do jazyka, přidáme některé nové funkce do knihovny. Velkou věcí, která se změnila, je pravděpodobně popularita jazyka. Ještě před pěti lety se Python cítil jako docela malý hráč.

Od té doby - pravděpodobně hlavně díky neuvěřitelné popularitě vědy o datech a Pythonu jako hlavnímu nástroji - tlak na hlavní vývojáře, aby měli dokonalá rozhodnutí, mohl jít nahoru, ale způsob, jakým se věci obecně dělají, způsob, jakým se vyvíjíme a způsob, jakým jazyk vydáváme, byl velmi stabilní.

Máme manažery vydání. Vydání jsou u hlavních verzí zhruba rok a půl od sebe. U vydání oprav chyb jsou v případě potřeby od sebe vzdáleny několik měsíců až možná tři čtvrtě roku.

Máme velmi stabilní proces návrhů na vylepšení Pythonu. Možná se způsob, jakým se z PEP stávají body zásadního nesouhlasu, poněkud změnil se zvýšenými zprávami o sociálních médiích, ale obecně, kromě přechodu z Mercurialu na Git před několika lety, to byl velmi stabilní proces a na tom není nic zvláštního to.

$config[zx-auto] not found$config[zx-overlay] not found