| Programmering i PHP | ||
|---|---|---|
| Föregående | Nästa | |
Det finns idag hundratals olika programmeringsspråk. De har kommit till av olika anledningar och har olika syften. Vissa är besläktade och har arv från varandra och andra har utvecklats för att fylla ett speciellt ändamål.
Anledningen till att det finns så många språk och alltid kommer nya är naturligtvis att de är bra på olika saker och att olika personer uppskattar språken olika mycket.
Vi kan börja med att dela upp språken i två grupper efter hur programmen kompileras och körs. Alla program skrivs i någon form av källkod. Denna källkod måste sedan översättas till något som en dator kan förstå. Datorn förstår bara 1 och 0, på eller av. Detta kallas kompilering och kan göras vid olika tillfällen.
Datorn kan ju inte läsa utan det som man skriver i sina program måste översättas till något som datorn förstår. Det datorn förstår kallas för maskinkod eller binärkod. Denna kod består av maskininstruktioner som är, näst intill, omöjliga för en människa att förstå.
Ett kompilerande språk är ett programmeringsspråk där källkoden med hjälp av olika verktyg översätts till maskinkod. Maskinkoden blir då ett fristående program som kan köras direkt av datorn. Man säger att man kompilerar koden. Koden kopileras alltså i samband med utvecklingen och inte i samband med exekveringen av programmet. Mer om det i ett annat avsnitt.
Exempel på kompilerande språk är: C, C++, Pascal och många fler.
Ett interpreterande programspråk, som också kallas skriptspråk, är ett programspråk som inte kompilerar det program som programmeraren har skrivit förrän det körs, och som gör det varje gång det körs. Ibland kompileras hela programmet innan det körs och ibland kompileras det rad för rad. Detta gör att utvecklingen går snabbare eftersom programmet inte behöver kompileras vid testkörning men det innebår också att det färdiga programmet blir långsammare eftersom det måste kompileras varje gång det körs.
Motorn som kör ett interpreterande språk kallas interpretator, programtolk eller tolkare.
Exempel på interpreterande språk är: Perl, PHP, Python, TCL, Bash.
Det finns andra sätt att lösa uppgiften på. Till exempel att man kompilerar koden till en mellankod som sedan en interpreterare tolkar. Så fungerar till exempel Java.
Tabell 2-1. Fördeler och nackdelar med kompilerande och interpreterande språk.
| Fördelar | Nackdelar |
|---|---|
| Kompilerande | |
| Snabbt att köra | Långsam programmering |
| Lätt att distribuera | Svårt att portera |
| Interpreterande | |
| Snabb programmering | Långsamt att köra |
| Mycket lätt att portera (om tolkare finns) | Svårare att distribuera (tolkare måste finnas) |
Det finns tusentals, jo säkert, olika programmeringsspråk. Här listas de jag tycker ni bör känna till och hur programmet "Hello World!" ser ut i dem.
C är ett av de mest utbredda språken. Det är en vidareutveckling av språket B. Utvecklades vid AT&T Bell Labs samtidigt med operativsystemet UNIX®. C anses som ett ganska maskinnära språk. Flera operativsystem är till stor det skrivna i C. Hello World i C ser ut så här:
C++ utveckladen av Bjarne Stroustrup vid AT&T Bell Labs och är en utökning av programspråket C. Till skillnad från C så är C++ objektorienterat (eller har bättre stöd för det i alla fall).
Hello World i C++ ser ut så här:
Objektorienterat språk utvecklat av Microsoft för att möta Java från Sun. Språket är, liksom Java, halvinterpreterande och har mycket influenser från C och C++.
Hello World i C# ser ut så här:
Objektorienterat språk utvecklat av Sun Microsystems. Språket är halvinterpreterande och har mycket influenser från C och C++. En stor fördel med Java är att program skrivna i Java är nästan platformsoberoende. Du kan alltså köra dem i alla miljöer till vilka det finns en javamotor.
Hello World i Java ser ut så här:
En sida med jättemånga exempel på "Hello World!" i olika språk. ( http://www2.latech.edu/~acm/HelloWorld.shtml )
| Föregående | Hem | Nästa |
| Kort historik | Från källkod till program |