Midjoyrney/Vahle

PYTHON

Verdens nok mest populære programmeringssprog

Python har cementeret sin position som verdens mest populære programmeringssprog, takket være sprogets tilgængelighed, alsidighed og omfattende biblioteker. Gerth Stølting Brodal, professor ved Institut for Datalogi, Aarhus Universitet, fortæller, hvad der gør Python til en favorit blandt udviklere, og ser på sprogets fremtidige udfordringer og muligheder.

Interview:
Gerth Stølting Brodal, du er professor ved Institut for Datalogi og ekspert i programmering. Den 2. oktober kommer den endelige udgivelse af Python 3.12, som er noget, Python-nørder ser frem til. Hvad er det, der gør Python så populært, og hvad er et godt programmeringssprog?

 - Det afhænger helt af konteksten. Skal det være nemt at få skrevet noget første kode uden at tænke på, om man får et effektivt program, så kan Python være en god start. Hvis man skal have effektiv kode, så skal man typisk have et sprog, der oversættes tæt ned til arkitekturen, for eksempel C eller Rust. Hvis man skal lave store systemer med millioner af linjers kode, så har man behov for et sprog, der understøtter denne softwareudvikling, for eksempel typisk et sprog med stærke typesystemer.

 

Hvordan adskiller Python sig fra andre sprog?

- Man slipper som bruger for at skrive typer og en masse krølleparenteser. I Python har man valgt at lade linjeindrykningen være en del at sproget. I de fleste andre sprog er indrykning ikke en del af sproget, men noget, man kun gør for at holde koden overskuelig, men oversætteren eller fortolkeren er ligeglad. Det gør, at Python-programmer ofte har meget mindre visuel støj.

 

Hvorfor er Python det mest populære programmeringssprog på verdensplan?

- Som programmeringssprog er Python relativt nemt at gå til som nybegynder, samtidig med at det understøtter flere programmeringsparadigmer, og man kan vokse med sproget, hvor man lærer at udnytte sprogets mere avancerede konstruktioner. At man ikke behøver at angive typer i sine programmer, gør det også nemmere at gå til – selvom dette også er sprogets akilleshæl. Python er open source med biblioteker til næsten alt, man end kunne tænke sig at kaste sig over, så mange vil med Python kunne få løst deres projekt. Samtidig med findes der til Python omfattende biblioteker til at arbejde professionelt med data, som for eksempel Numpy, Pandas og integrationen med Jupyter, som gør, at mange nu ser Python som et alternativ til MATLAB. Der findes også adskillige dedikerede maskinlæringsbiblioteker.

 

Hvad er perspektiverne for Python?

- Der kommer hele tiden nye programmeringssprog, men med Pythons store udbredelse vil det nok forblive et populært programmeringssprog et godt stykke tid fremadrettet. Sprogets klart største svagheder er i mine øjne de manglende statiske typetjek, og at det er fortolket sprog, med deraf følgende reduceret hastighed. Der er mange projekter, der forsøger at tilføje typer til sproget og øge ydelsen af afviklingen af Python-programmer. Det bliver spændende at se, hvor meget af disse der bliver integreret i sproget og i CPython-referenceimplementeringen af sproget. 

Python: Et universelt programmeringssprog

Python er et alsidigt programmeringssprog, der kan anvendes til forskellige formål, herunder automatisering af opgaver, udvikling af hjemmesider og software samt dataanalyse.

Populære egenskaber

1. Let at Læse: Python-kode bruger engelske nøgleord i stedet for kompleks tegnsætning, hvilket gør det nemt at forstå. Linjeskift hjælper med at definere kodeblokkene og øger læsbarheden.

2. Open Source: Python er open source, hvilket betyder, at du kan downloade, ændre og bruge kildekoden frit.

3. Portabelt: Python er platformuafhængigt, så du kan køre den samme kode på alle operativsystemer med en Python-fortolker uden at ændre koden.

4. Udvideligt: Python giver mulighed for at skrive kode i andre sprog, som for eksempel C++, og tilføje lavniveau-moduler til Python-fortolkeren for at tilpasse og optimere værktøjer.

5.  Bredt standardbibliotek: Python har et omfattende standardbibliotek, som alle brugere kan få adgang til. Dette bibliotek indeholder indbyggede moduler, der løser daglige programmeringsopgaver, og meget mere.

Pythons internationale ranking

Højeste position (siden 2001): #1 i september 2023
Laveste position (siden 2001): #13 i februar 2003
Language of the Year: 2007, 2010, 2018, 2020, 2021

Python startede som et hobbyprojekt

Python er et populært programmeringssprog på grund af dets enkle syntaks, store fællesskab, akademiske anvendelse og efterspørgsel i erhvervslivet. Det er velegnet til både begyndere og erfarne udviklere og har mange anvendelsesmuligheder inden for forskellige discipliner.

Van Rossum begyndte at lave Python, fordi hans kontor var lukket i juleferien, og han kedede sig derhjemme. "Jeg havde to ugers juleferie uden noget at lave og havde brug for et projekt, som jeg kunne lave på min Mac uden at skulle logge ind på CWI's [det regeringsdrevne forskningslaboratorium i Amsterdam, hvor han arbejdede] computere", sagde han i et interview i 1998. "Det var der, de første dele af Python-fortolkeren blev skrevet".

Van Rossum arbejdede mest på Python i sin fritid: "I al min vågne tid – bortset fra 40 timer om ugen, hvor jeg passede mit daglige arbejde – arbejdede jeg på dette sprog", sagde han i et interview med Oxford Union i 2019. "Jeg byggede alt fra bunden: parseren, bytekode-compileren, objektimplementeringen, de lange heltal og tupler og strenge og det hele".

Python er opkaldt efter BBC-komedieserien Monty Python's Flying Circus - ikke familien af ikke-giftige kvælerslanger. Da van Rossum arbejdede på Python, læste han også Monty Pythons udgivne manuskripter. "Jeg valgte Python som arbejdstitel for projektet, fordi jeg var i et lidt respektløst humør (og en stor fan af Monty Python's Flying Circus)," skrev han i bogen Programming Python. (Læs i øvrigt denne blog for at lære mere om historierne bag, hvordan populære programmeringssprog er blevet navngivet).

En anden ting om navne: Da Python blev open source, gav van Rossum sig selv (joke)-titlen "Benevolent Dictator for Life" eller "BDFL".

Akademisk og alsidigt

1.  Høj produktivitet: Python tilbyder en enkel og letforståelig syntaks, hvilket gør det nemt for udviklere at skrive kode hurtigt og effektivt. Sammenlignet med mere komplekse sprog som for eksempel C++ kræver Python ofte færre linjer kode for at opnå de samme resultater, hvilket sparer tid og kræfter.

2. Stort brugerfællesskab: Python har en omfattende og støttende brugerbase. Dette fællesskab er en uvurderlig ressource for udviklere, da det tilbyder dokumentation, tutorials, tips og tricks til at mestre sproget. 

3. Akademisk anvendelse: Python er udbredt i den akademiske verden. Det anvendes ikke kun inden for datalogi, men også inden for andre STEM-felter (videnskab, teknologi, teknik og matematik). Python bruges til at løse komplekse problemer som differentialligninger, statistiske analyser og simuleringer.

4. Efterspørgsel i erhvervslivet: Python er i høj efterspørgsel i erhvervslivet på grund af dets alsidighed. Mange virksomheder bruger Python til udvikling, dataanalyse og automatisering. Det er en attraktiv kompetence for jobsøgende, og det blev endda rangeret som det tredje mest efterspurgte programmeringssprog af rekrutteringsfirmaer i 2022 ifølge Statista.

Python 3.12-serien: spændende nyheder og vigtige forbedringer

Vigtige nye funktioner i 3.12-serien sammenlignet med 3.11

Nye funktioner

  • Mere fleksibel f-string parsing, der tillader mange ting, der tidligere var forbudt (PEP 701).
  • Understøttelse af buffer-protokollen i Python-kode (PEP 688).
  • En ny API til debugging/profilering (PEP 669).
  • Understøttelse af isolerede underfortolkere med separate Global Interpreter Locks (PEP 684).
  • Endnu flere forbedrede fejlmeddelelser. Flere undtagelser, der potentielt skyldes tastefejl, giver nu forslag til brugeren.
  • Understøttelse af Linux perf profiler til at rapportere Python-funktionsnavne i traces.
  • Mange store og små forbedringer af ydeevnen (som PEP 709), der giver en anslået samlet forbedring af ydeevnen på 5%.

Type-annotationer

  • Ny typeannotationssyntaks for generiske klasser (PEP 695).
  • Ny override decorator til metoder (PEP 698).

Forældelser

  • De forældede wstr- og wstr_length-medlemmer i C-implementeringen af unicode-objekter blev fjernet i henhold til PEP 623.
  • I unittest-modulet blev en række metoder og klasser, der længe havde været forældede, fjernet. (De havde været forældede siden Python 3.1 eller 3.2).
  • De forældede moduler smtpd og distutils er blevet fjernet (se PEP 594 og PEP 632). Pakken setuptools fortsætter med at levere distutils-modulet.
  • En række andre gamle, ødelagte og forældede funktioner, klasser og metoder er blevet fjernet.
  • Ugyldige backslash escape-sekvenser i strenge advarer nu med SyntaxWarning i stedet for DeprecationWarning, hvilket gør dem mere synlige. (De vil blive til syntaksfejl i fremtiden).
  • Den interne repræsentation af heltal er ændret som forberedelse til forbedringer af ydeevnen. (Dette burde ikke påvirke de fleste brugere, da det er en intern detalje, men det kan give problemer for Cython-genereret kode).

Læs også...

Millioner af udviklere verden over bruger hver dag JavaScript – men hvorfor er programmeringssproget blevet så populært? PROSAbladet har talt med…

Et nyt projekt indsamler danske stemmer for at sikre, at AI-løsninger fremover også kan tale med dialekter. Du kan også donere din stemme, skriver DR.…

I dag lever Andreas Green Rasmussen af at finde dygtige iværksættere, han kan investere i. Men han har også selv flere startups på CV'et – og han ved,…

Ugly Duckling Ventures er en dansk venturefond, der håber at finde de startups, som bliver store milliardforretninger. Men hvad er en venturefond…

Der findes et hav af muligheder, når du som iværksætter skal finde finansiering til din startup. PROSAbladet guider dig til otte steder, hvor du kan…

Tech-giganterne er stadig i front, når it-studerende skal rangere populære arbejdspladser. Til gengæld har de store konsulenthuse taget et stort dyk…

Nye løsninger, en fælles dataplatform og et digitalt innovationscenter. Det er tre af hovedpunkterne i regeringens nye udspil, der skal sætte skub…

I den lille, amerikanske by Granbury i Texas summer en bitcoin-mine så meget, at borgerne i byen bliver syge.

Aktivisme er et vanvittigt godt ord til at beskrive rigtigt meget af det, der sker i underskoven af it og tech. Aktivisme er aktivt at deltage. At…

Når teknologien ikke virker, eller vi mennesker skal lære nye systemer at kende, kan det skabe stress. En gruppe forskere fra Roskilde Universitet har…