Python får ny styringsmodel

Illustration: Version2
Ny styregruppe holder sig til modne, velkendte og tidligere afprøvede processer i så høj grad som muligt.

Python har fået en ny styringsmodel.

Det sker efter at sprogets opfinder, Guido van Rossum, i sommers forlod rollen leder for udviklingen og smækkede med døren i den anledning.

»Jeg vil fjerne mig helt fra beslutningsprocessen. Jeg vil stadig være der et stykke tid endnu som en almindelig kerneudvikler, og jeg vil stadig være til rådighed i forbindelse med mentorarbejde. Men dybest set giver jeg mig selv en permanent ferie fra at være sprogets 'diktator for livstid', og I vil alle være på egen hånd fremover,« skrev han dengang.

Læs også: Python-grundlægger siger farvel og tak

Nu er en ny proces kommet på plads. Det skriver Sdtimes.

Den nye model bygger på en fempersoners styregruppe, der skal etablere en praksis for, hvordan nye faciliteter tilføjes til sproget.

Forslaget er designet til at være 'kedeligt,' dækkende, fleksibelt og let.

»Vi er ikke eksperter i styring, og vi tror ikke, at Python er et godt sted at eksperimentere med nye og uprøvede styringsmodeller,« forklarer udviklerne Nathaniel Smith og Donald Stufft i Python-dokumentationen.

»Dette forslag holder sig til modne, velkendte og tidligere afprøvede processer i så høj grad som muligt.«

Styregruppen skal fungere som en sidste og højeste instans i forhold til gennemførelse af ændringer i sproget, og har myndighed til at acceptere eller afvise forslag.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (2)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Søren Pilgård

Hvorfor? Af alle de features Python kunne få er det her da en af de mest ligegyldige?
Hvordan skulle den virke? som i C etc. med fallthrough?
Det introducerer en klassisk fejlkilde for en feature der sjældent bliver brugt. Og hvis ikke du har det, så er det stort set lige så nemt at bruge if.
Python er så dynamisk at alle tilfældende (med mindre de er ganske trivielle) skal matches én ad gangen.
Husk på at du kan definere dine egne sammenlinginger, dette kan forårsagde en masse implicite ting

Class Foo:  
    def __eq__(self, other):  
        return True  
x = Foo()
switch x:  
case 1:  
    print("a")  
case 2:  
    print("b")  
case 3:  
    print("c")

vs

if x == 1:  
    print("a")  
elif x == 2:  
    print("b")  
elif x == 3  
    print("c")

Samtidigt vil det ikke være bagudkompatibelt da hverken 'switch' eller 'case' er nøgleord.

  • 3
  • 0
Log ind eller Opret konto for at kommentere