post

Python nb-no:Introduksjon

Contents

Introduksjon

Python er ett av de sjeldne språkene som man kan hevde at både er enkelt og kraftig. Du blir nok positivt overrasket over hvor lett det er å konsentrere seg om hvordan man skal løse et problem, heller enn om syntaksen og strukturen til språket du programmerer i.

Den offisielle introduksjonen til Python er:

Python er et lettlært og kraftig programmeringsspråk. Det har effektive høytnivås datastrukturer og en enkel, men effektiv, tilnærming til objektorientert programmering. Pythons elegante syntaks og dynamiske skriving, sammen med at det er basert på tolking, gjør det til et ideelt språk for skripting og rask programutvikling for mange områder på de fleste plattformer.

Jeg skal se nærmere på det meste av det som blir sagt i neste seksjon.

Bemerkning
Guido van Rossum, mannen som fant opp Python, kalte opp språket etter TV-programmet “Monty Python’s Flying Circus”. Han er ikke noe spesielt glad i slanger som dreper dyr de skal spise ved å kveile de lange kroppene sine rundt dem og knuse dem.

Trekk ved Python

Enkelt
Python er et enkelt og minimalistisk språk. Å lese et bra Python-program føles nesten som å lese veldig regelrett engelsk. At Python holder seg til å se ut som halvt kode og halvt språk er et av dets største styrker. Du får konsentrert deg om hvordan du skal løse et problem heller enn selve språket.
Lettlært
Som du får se er Python veldig lett å begynne med. Som jeg allerede har sagt er syntaksen uvanlig enkel.
Gratis og åpent
Python er et eksempel på FLOSS (Free/Libré and Open Source Software), som kan oversettes til fri programvare med åpen kildekode. Enkelt sagt kan du fritt gi videre kopier av programvaren, lese kildekoden til den, gjøre endringer i den og bruke biter av den i dine egne programmer (så lenge de også har åpen kildekode). FLOSS er basert på tanken om et fellesskap som deler kunnskap. Dette er en av grunnene til at Python er så bra – det blir laget og forbedret av et miljø rundt det som bare har lyst til at det skal bli bedre.
Et språk på høyt nivå
Når programmerer med Python trenger du aldri å bry deg om detaljer på lavt nivå, som minnebehandling og lignende.
Portabelt
På grunn av at språket baserer seg på åpen kildekode har Python blitt portet til (det vil si, forandret for å virke på) mange plattformer. Alle Python-programmene dine virker på samme måte på alle disse plattformene, så lenge du er forsiktig og unngår å bruke funksjoner som er avhengig av ett spesielt system.
Du kan bruke Python på Linux, Windows, FreeBSD, Macintosh, Solaris, OS/2, Amiga, AROS, AS/400, BeOS, OS/390, z/OS, Palm OS, QNX, VMS, Psion, Acorn RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE og til og med PocketPC!
Tolket
Her må jeg forklare litt grundig
Et program som skrives i et kompilert språk (for eksempel C eller C++) blir konvertert fra kildespråket til språket datamaskinen din snakker (binærkode som bare består av 0 og 1) ved hjelp av programvare med diverse valg og muligheter. Når du starter programmet blir programvaren kopiert fra harddisken til minnet og starter å kjøre.
Python trenger ikke å kompileres til binærkode. Du bare kjører programmet rett fra kildekoden. Python konverterer kildekoden til en mellomting, kalt bytekoder, og deretter til binærkoder som datamaskinen kan bruke. Dette gjør Python til et mye enklere alternativ, siden du ikke trenger å bekymre deg for å kompilere programmet eller at du har de rette bibliotekene lenket sammen og lastet inn og så videre. Dette gjør også Python-programmer langt mer mobile, siden du bare kopierer Python-programmet over på en annen datamaskin hvor det virker av seg selv.
Objektorientert språk
Python støtter prosedyreorientert programmering og objektorientert programmering. Prosedyreorienterte språk er bygget rundt prosedyrer, eller funksjoner. Dette er gjenbrukbare biter med programkoder. Objektorienterte språk er bygget rundt objekter som kombinerer data og funksjonalitet. I Python er dette løst på en veldig kraftig, men enkel måte, sett i forhold til andre store språk, som C++ og Java.
Mulig å utvide
Hvis du vil at en viktig bit med kode skal kjøre veldig fort eller at en spesiell algoritme ikke skal være åpen for offentligheten, kan du skrive denne delen av programmet ditt i C eller C++ og så bruke dem i Python-programmet ditt.
Mulig å bygge inn
Du kan bygge inn Python i C/C++-programmene dine for å gi brukerne mulighet til å lage skript.
Omfattende bibliotek
The Python Standard Library – Pythons standardbibliotek – er virkelig stort. Det hjelper deg i sammenheng med forskjellige ting, som regulære uttrykk, generering av dokumentasjon, testing av enheter, threading, databaser, nettlesere, CGI, post, XML, XML-RPC, HTML, WAV-filer, kryptografi, GUI (grafisk brukergrensesnitt), Tk, og andre systemavhengige saker. Husk at alt dette er tilgjengelig overalt der man har installert Python. Denne filosofien kalles “batterier medfølger”.
Det finnes andre bibliotek i tillegg til standardbiblioteket som har høy kvalitet, som wxPython , Twisted og Python Imaging Library.

Python er et spennende og kraftig språk. Kombinasjonen av ytelse og funksjoner gjør det både morsomt og lett å lage programmer.

Hvorfor ikke Perl?

Til opplysning: Perl et annet ekstremt populært åpent og tolket programmeringsspråk.

Hvis du noen gang har prøvd å skrive et stort program i Perl vil du nok klare å svare på det spørsmålet selv; Perl-programmer er enkle når de er små, og det virker bra til små hacks og skript som ‘får ting gjort’. Det blir vanskeligere å jobbe med når du starter å skrive større programmer, og jeg uttaler meg basert på erfaring fra den gangen jeg skrev store Perl-programmer hos Yahoo!

Sammenlignet med Perl er Python-programmer definitivt lettere å skrive, forstå og vedlikeholde. Jeg synes Perl er et flott språk og bruker det hver dag til forskjellige ting, men når jeg skriver et program tenker jeg alltid på hvordan jeg ville løst det i Python fordi det har blitt så naturlig for meg. Perl har gjennom tiden blitt forandret så mye at det føles som en stor hack. Trist nok ser ikke den kommende oppdateringen (Perl 6) ut til å ha noen planer om å forbedre dette.

Den eneste fordelen som jeg føler Perl har er det store CPAN-biblioteket – Comprehensive Perl Archive Network. Dette en mastodontsamling med Perl-moduler, og den er så stor og dyp at man blir satt ut – du kan gjøre praktisk talt hva som helst med de modulene. En av grunnene til at Perl har flere biblioteker enn Python er at det er eldre. Dette ser ut til å forandre seg nå, siden Python Package Index stadig blir større.

Hvorfor ikke Ruby?

Til opplysning: Ruby er enda et populært åpent og tolket programmeringsspråk.

Hvis du allerede bruker Ruby og liker det, anbefaler jeg deg å fortsette med det.

Dersom du ikke har brukt det og skal velge mellom å lære Python og Ruby, vil jeg anbefale Python fordi det er lettere å lære. Jeg syntes at det var vanskelig å få et ordentlig tak på språket, men de som forstår Ruby synes ofte at språket er skjønt. Jeg har ikke vært like heldig som dem.

Hva sier programmerere?

Det kan hende du synes det er interessant å lese hva store hackere som ESR har å si om Python:

  • Eric S. Raymond er forfatteren bak ‘The Cathedral and the Bazaar’ og er også mannen bak uttrykket ‘Open Source’. Han sier at Python er blitt hans favorittspråk. Denne artikkelen var grunnen til at jeg ble inspirert til å se på Python for første gang.
  • Bruce Eckel er forfatteren bak de berømte bøkene ‘Thinking in Java’ og ‘Thinking in C++’. Han sier at det ikke er noe språk som har gjort han mer produktiv enn Python. Han sier også at Python kanskje er det eneste språket som fokuserer på å gjøre ting enklere for den som programmerer. Les hele intervjuet for å få med deg flere detaljer.
  • Peter Norvig er en kjent Lisp-forfatter og Director of Search Quality hos Google (takk til Guido van Rossum for å gjøre meg klar over det). Han sier at Python alltid har vært en viktig del av Google. Du kan faktisk bekrefte dette ved å se på Google Jobs-siden, som setter kjennskap til Python som et krav til programvareingeniører.

Om Python 3.0

Python 3.0 er den nylig utgitte versjonen av Python. Det blir også omtalt som Python 3000 eller Py3K.

Den viktigste grunnen til at det kommer en ny versjon av Python er at man ønsker å fjerne alt av problemer og småplukk som har vist seg gjennom tiden og samtidig gjøre språket enda renere.

Hvis du allerede har skrevet mye kode i Python 2.x, finnes det et verktøy som skal hjelpe deg å konvertere 2.x-kildekode til 3.x-kildekode.

Du finner mer informasjon på: