Software

Python vokser i popularitet

Illustration: Mikkel Henssel

Programmeringssproget Python er stormet frem i popularitet de senere år. Det er nemt at lære, sjovt at arbejde i og effektivt at bruge, siger eksperter. Og med flere og flere brugere er det egenskaber, der hele tiden bliver forbedret.

Python er det sprog, softwareudviklere allerhelst vil lære, hvis de ikke kan det i forvejen. Det viser den årlige undersøgelse blandt brugerne af det verdensomspændende udviklerfællesskab Stack Overflow. Python er også et af de mest elskede programmeringssprog at skrive i, og de senere år har det både overhalet PHP, C# og Java som det mest anvendte programmeringssprog generelt set hos brugerne.

Også hos PROSA er populariteten tydelig. Når fagforbundet afholder kurser i Python-programmering, bliver kurserne fyldt op med det samme.

Vi har bedt to af PROSAs Python-undervisere om en forklaring, og de peger især på to årsager til populariteten: Sprogets syntaks og det store fællesskab, der er opstået omkring sproget.
– Python er virkelig nemt at gå til. Har jeg et problem, jeg vil løse, eller noget jeg vil prøve af, så vil jeg række ud efter Python. Det er relativt nemt at lave scripts, og det virker, som det skal, fortæller Kevin Broløs, der underviser i Python-programmering hos PROSA og er ansat som softwareingeniør hos Abzu.

Senior data scientist hos Damvad Analytics, Jess Alfredsen, der ligeledes underviser PROSAs medlemmer, følger op:
– Python er populært, fordi det er meget convenient. For en underviser er det nemt at gå i gang med, og i modsætning til typestærke sprog og kompilerede sprog er det hurtigt at udvikle i. Du når hurtigt fra idé til prototype. Det gør, at udviklere synes, det er sjovt at arbejde i. Der er ikke så meget formalia, forklarer han.

Med populariteten er der opstået et stort fællesskab om programmeringssproget, hvor udviklere bidrager med værktøjer, der letter arbejdet for andre Python-udviklere.
– Det, at udviklere godt kan lide sproget, betyder, at der kommer et kæmpe community, der udvikler værktøjer og pakker, som andre kan benytte. Det bliver en selvforstærkende effekt: Jo flere udviklere, der kan lide sproget, jo flere værktøjer. I dag vil jeg sige, at Python har by far det største community og den største library-samling, der overgår selv de gamle, store sprog som Java, siger Jess Alfredsen.

Nem syntaks

Særligt for Python er, at sproget er nemt at læse. Koden minder i høj grad om engelske sætninger, og hvor andre sprog typisk benytter sig af Tuborg-parenteser til at afgrænse blokke af kode, benytter Python sig i stedet af indrykninger, hvilket gør strukturen pænere. Og indrykningerne kan man få hjælp til i sin editor.
– Man skriver bare koden ind og har en editor, som hjælper med indrykning. Det forekommer meget naturligt. Du har en overskrift, der er funktionsnavnet, og så indhold nedenunder. Det gør det nemt for nye programmører at arbejde med. Der er ikke alle de andre forstyrrende ting som i mange andre sprog. Man skal bare fokusere på at skrive koden, som den er, siger Kevin Broløs.

Og det kan udviklerne lide, fortæller Jess Alfredsen:
– Det er følelsen af, at det er lækkert at arbejde i, der gør Python så unik. Syntaksen er nem at læse og forstå. Man siger, at kode skrives én gang af én udvikler, men læses af mange, der skal teste og videreudvikle koden. Derfor kan udviklere godt lide, at syntaksen er så nem at læse.

Populært til kunstig intelligens

Python er et generelt anvendeligt og platformsuafhængigt programmeringssprog. Derfor har man mange muligheder, når man kan programmere i Python. Særligt populært er machine learning, der ofte er motoren i udvikling af kunstig intelligens. Kevin Broløs og Jess Alfredsen arbejder begge i firmaer, der benytter Python til dette.
– Det er nemt at komme i gang med machine learning med Python. For alle de her machine learning-projekter starter i virkeligheden med en eksplorativ fase, hvor man ikke rigtig ved, hvad der kommer ud. Der er en masse uvisheder, og derfor er det vigtigt at kunne nå hurtigt fra idé til udvikling. Dér er det nemt og hurtigt at lave en prototype i Python, siger Jess Alfredsen.

Imidlertid er Python ikke det hurtigste sprog at eksekvere, og derfor benytter man ofte eksempelvis C som underliggende sprog.
– Python er langsommere at eksekvere end Java eller andre store sprog, som kompileres til noget, der ligner maskinkode. Derfor er en masse af det, der kræver meget udregningskraft, skrevet i C. Så lægger man et lag Python ovenpå, så man hurtigt kan kalde det hele fra Python, forklarer han.

Kunstig hjerne

Den metode benytter Jess Alfredsen selv hos Damvad Analytics, og det samme gør Kevin Broløs hos Abzu.
– Hos Abzu bygger vi en kunstig intelligens inspireret af, hvordan hjernen fungerer med millioner af celler. Du har data, som du skubber igennem vores simulerede hjerne, hvorved den selv finder masser af forbindelser mellem neuronerne. Det er lavet i high performance C-kode. Alt, hvad der kræver performance, er skrevet i C. Vi plejer at skrive i Python først, og så ser vi, hvad der performer, og så bygger vi det i C, fortæller Kevin Broløs.

Men brugergrænsefladen er en API skrevet i Python, og webserveren til brugerne er skrevet i Python, forklarer Kevin Broløs, der generelt foretrækker Python fremfor PHP til webudvikling.
– Python er mere robust og gennemtænkt, hvis man kan sige det uden at være for elitær. PHP har en masse bagage, en masse levn fra gamle dage, som skal supporteres, fordi en stor del af internettet er lavet på gamle PHP-servere. Med PHP er det nemt at træffe valg, som er uhensigtsmæssige og usikre, siger han.

På nettet er PHP dog stadig langt det foretrukne sprog, hvor det vurderes at være brugt på knap 80 procent af websites, mens Python vurderes til kun at være brugt på godt 1 procent.

Abzu regner med at kunne lancere den kunstige hjerne i april 2020.
– Den skal kunne løse hvilket som helst givent problem, vi kaster mod den. Den lærer af de problemstillinger, der kommer ind, og så kommer den med værktøjer til at løse problemet. Den giver også en forklaring på, hvordan den er kommet frem til løsningen. Det kan eksempelvis være, man vil identificere, hvilke kreditkorttransaktioner der er ægte, og hvilke der er svindel, fortæller Kevin Broløs.

Hos Damvad Analytics hjælper konsulenter med at bygge kunstig intelligens og machine learning.
– Vi analyserer på data, hvor indsigter er skjult i data og ikke ses med det blotte øje, fordi datasættet er så stort, at et enkelt menneske ikke kan overskue, hvad værdien er i det, fortæller Jess Alfredsen.

Python som rollespil

Har man lyst til at komme i gang med Python, er der hjælp at hente. Den letlæselige kode og det store fællesskab gør Python meget velegnet til begyndere, fortæller de to undervisere. Man kan endda lære Python ved at spille et webbaseret rollespil kaldet CodeCombat. I spillet er du en ridder, der går rundt og dræber monstre gennem Python, men spiller du det længe nok, bliver du en virkelig god Pythonudvikler, siger Jess Alfredsen.

Med CodeCombat kan man også lære JavaScript, CoffeeScript og HTML. De grundlæggende niveauer er gratis. Man kan spille alene eller som skoleklasse, og man kan registrere sig både som lærer og elev.

Det vil især være let at lære Python, hvis man kan et objektorienteret eller dynamisk sprog, siger Kevin Broløs:
– Kender man traditionelle sprog som C, Java eller C#, vil det se relativt fornuftigt ud. Man vil nok være forvirret over, at der ikke er så mange keywords. Kender man JavaScript eller PHP, vil man næsten ikke opleve nogen overgang.

TEST: Er Python noget for dig?

KAN DU SVARE JA TIL 3 AF DISSE 10 SPØRGSMÅL, ER PYTHON NOK NOGET FOR DIG.

  • Er du en begynder inden for programmering?
  • Vil du gerne arbejde med at udvikle kunstig intelligens eller machine learning?
  • Er du på udkig efter et bedre programmeringsjob med mere i løn, end det du har i dag?
  • Vil du gerne arbejde med backendudvikling?
  • Er du interesseret i Django?
  • Kan du programmere i JavaScript eller PHP?
  • Er du på udkig efter et effektivt programmeringssprog, der er let at lære?
  • Vil du gerne selv kunne lave programmer, der kan automatisere dit arbejde på computeren?
  • Arbejder du med prototyper?
  • Kan du i forvejen programmere i et objektorienteret eller dynamisk programmeringssprog?

 

Det kan Python

Python er et platformsuafhængigt og generelt anvendeligt programmeringssprog udviklet af hollænderen Guido van Rossum i 1991. Det er open source og bygget til at kunne det hele.

Python er væsentligt lettere at læse og skrive end mange andre programmeringssprog. Dels fordi sproget i sin struktur er tæt på engelsk, dels fordi det ikke benytter specielle tegn som Tuborg-parenteser til at omkranse blokke af {kode}, men i stedet benytter sig af indrykninger.

I dag er Python et populært sprog til udvikling af kunstig intelligens eller machine learning, ofte i kombination med C. Det er også populært til at udvikle webapplikationer. Python er blevet brugt i udviklingen af Google, YouTube, Spotify, Instagram, Netflix, Uber, Dropbox og Reddit. Python benyttes også i høj grad til databehandling og big data.

Navnet Python er en hyldest til den britiske komediegruppe Monty Python. Det viser sig også i vejledninger og andet materiale om programmeringssproget, hvor der er referencer til Monty Pythons sketches.

KURSUS I PYTHON

PROSA afholder løbende kurser i Python for med­lemmerne. Næste gang er 4. februar 2020 i København og 11. februar i Aarhus. Se mere på prosa.dk/arrangementer


Populære programmeringssprog

Det verdensomspændende udviklerfællesskab Stack Overflow har de seneste ni år foretaget en årlig undersøgelse blandt deres brugere. I år har 90.000 udviklere deltaget og svaret på spørgsmål om, hvilke værktøjer de benytter.

Undersøgelsen viser, at Python er det hurtigst voksende af de større programmeringssprog. Forrige år overhalede det PHP, sidste år overhalede det C#, og i år har det overhalet Java.

DE 10 MEST ANVENDTE PROGRAMMERINGSSPROG:

  1. JavaScript (dynamisk webudvikling)
  2. HTML/CSS (webudvikling og design)
  3. SQL (databaser)
  4. Python (generelt programmeringssprog)
  5. Java (programudvikling til computere og til smartphones med Android)
  6. Bash/Shell/PowerShell (kommandofortolker, automatisering af administrative opgaver)
  7. C# (alsidigt programmeringssprog ofte brugt til at udvikle Windows og .NET-apps)
  8. PHP (dynamisk webudvikling)
  9. C++ (programudvikling og spiludvikling)
  10. TypeScript (udvidelse af JavaScript)

Kilde: Stack Overflow

botMessage_toctoc_comments_9210