Hitta ett favoritspråk

Hitta ett favoritspråk

Publicerad 2010-09-28 20:01

C, Java eller Python? För den som vill skriva egna program finns en mängd programmeringsspråk. Vi ska i denna artikel gå igenom de grundläggande egenskaperna hos de mest populära.

Trots att det finns en stor mängd mjukvara tillgänglig är det inte alltid vi lyckas hitta ett program som fyller våra behov. En lösning på detta problem är att skriva sitt eget program, något som ofta inte är så svårt som det låter. Här ska vi titta på en viktig aspekt för den som vill börja programmera, nämligen val av programmeringsspråk.

Det finns som bekant en hel mängd olika programmeringsspråk som kan användas för att skapa mjukvara. Vilket man väljer beror till viss del på vad ändamålet är, men det har även en del att göra med personlig smak. Vissa tycker att C är världens bästa språk till alla uppgifter, medan andra tycker att det är ett hopplöst språk som enbart är krångligt att arbeta med.

En definition som gör det möjligt att dela upp programmeringsspråken i två grupper är om de är kompilerade eller interpreterande. Ett kompilerat språk innebär att källkoden kompileras innan programmet kan köras, det omvandlas alltså i förväg till ett format som datorn förstår.

De interpreterande språken i sin tur omvandlas dynamiskt vid körningen, något som gör att vi slipper kompilera koden. Fördelen med detta är bland annat att det blir enklare vid utvecklingen samt att det går enklare att göra ändringar i efterhand.

Nackdelen är att prestandan blir sämre. Vill du ha maximal prestanda är det ett kompilerat språk som gäller, till exempel C eller C++.

Uppdelningen i dessa två grupper är dock inte helt entydig. Det finns undantag, till exempel Java. Här kompileras en del av koden i förväg, medan en del interpreteras vid programkörningen. 

C
Vi börjar med att titta på det mest använda språket i Linuxvärlden, nämligen C. Detta kan sägas vara alla moderna språks moder, då de flesta språk som tas upp i denna artikel själva är skrivna i C.

En fördel med C, och även det som gör det möjligt att få goda prestanda, är att det är ett hårdvarunära språk. Med C får vi nära tillgång till datorns hårdvara, det går till exempel att skriva data direkt till en viss plats i internminnet. Detta ger stor flexibilitet och stora möjligheter, men det gör även C till ett komplicerat språk.

Ett exempel är att vi måste allokera (avsätta) minne till en variabel innan data skrivs till den, i annat fall kommer programmet troligen att krascha. Den minnesmängd som avsätts måste även vara tillräckligt stor, avsätter vi till exempel tio byte och sedan försöker lagra elva byte kommer programmet återigen att krascha.

Det finns även andra saker som kan få programmen att krascha, om vi som programmerare inte tänker oss för. Det här är alltså ett språk som kräver eftertanke.

Det finns hjälpbibliotek att använda. Bland de mer namnkunniga hittar vi bland annat Gtk+. Detta bibliotek används för att skapa grafiska applikationer och är en av grundstenarna i Gnome. Dessa bibliotek gör att vi inte behöver uppfinna hjulet flera gånger utan kan använda redan skriven kod för att till exempel skapa ett fönster med knappar och dylikt.

Sammanfattningsvis kan C sägas vara ett mycket kraftfullt språk som ger möjlighet att skapa program med goda prestanda. Till nackdelarna hör att det kräver relativt mycket kunskap av programmeraren.

Slutligen ett exempel på hur en kodsnutt i C kan se ut:

int main (int argc, char *argv[])
{
   if (argc != 1) {
      usage();
   }
}

Mer information: www.c-faq.com, www.open-std.org/jtc1/sc22/wg14/

http://www.datormagazin.se/bilder/?id=323457
C-programmering i programmet Scite.

C++
Programmeringsspråket C++ är, vilket hörs på namnet, en utveckling av C. Här finns ett antal funktioner och finesser som saknas i C, vilket gör C++ till ett mycket kraftfullt språk.

När vi pratar om C++ måste även C++ Standard Library nämnas. Det är en samling av klasser och funktioner som underlättar för utvecklaren. För C++ finns även en rad andra hjälpbibliotek tillgängliga. Ett av de mer kända är det grafiska biblioteket Qt. Det är skrivet i C++ och används som bas för bland annat KDE.

Ett exempel på hur det klassiska "Hello world"-programmet kan se ut:

#include
<iostream>
int main()
{
   std::cout << "Hello, world!\n";
}

Mer information: www.cplusplus.com, http://www2.research.att.com/~bs/C++.html

Java
Java är lite speciellt i det hänseende att språket delvis kompileras och delvis interpreteras. Språket liknar C++ men är enklare att använda. En annan fördel är att det är plattformsoberoende, samma kod ska alltså gå att göra på både Windows- och Linuxsystem.

Hemligheten bakom plattformsoberoendet kallas "Java Virtual Machine", vilket kan beskrivas som en virtuell körmiljö för programmen. Mjukvaran behöver alltså inte interagera direkt med värdsystemet, något som (i alla fall i teorin) gör att plattformen inte spelar någon roll. Detta brukar även fungera relativt bra i praktiken, men tyvärr innebär det också att prestandan hos programmet blir lidande.

Till Java finns stora kodbibliotek med funktioner att utnyttja. Ett exempel är Swing som gör det relativt enkelt att skapa grafiska applikationer.

Exempelkod:

public class HelloWorld {
   public static void main(String[] args) {
       System.out.println("Hello, world!");
   }
}

Mer information: http://java.com

On
Off

7 kommentarer

Avatar

Inte inloggad

Logga in Bli medlem

Läs mer

  • Senaste
  • Mest läst
  • Mest kommenterat

Kom in i diskussionen

Detta innehåll är skapat av Datormagazins besökare

Hjälp, disken är tom!

6 kommentarer

Reuter: Nej, jag tror inte heller att filerna är borta. De finns naturligtvis kvar på disken. Och det existerar mycket riktigt sådana virus som ni beskriver, men orsaken till att jag inte tror på att det är...

Månadens fråga

  • Med den kreditkortsstora Linuxdatorn Raspberry Pi kan du både ordbehandla och spela spel. Vad tycker du om den?

Artikelkommentarer


För dig som vill veta mer: prenumerera

Datormagazin är datortidningen för dig som vill veta mest. Vår ambition är att göra en tidning med djupare och mer avancerade artiklar än vad du hittar i andra datortidningar. Samtidigt väjer vi inte för att på ett handfast sätt förklara hur saker och ting fungerar. Du ska alltid känna att du har nytta av tidningen.
Välkommen till Sveriges största tidskrift för avancerade datoranvändare!

Beställ prenumeration och betala direkt online

  • Datormagazin 6-2012

  • Datormagazin 5-2012

  • Datormagazin 4-2012

  • Datormagazin 3-2012

  • Datormagazin 2-2012

  • Datormagazin 1-2012

  • Datormagazin 14-2011

Egmont logo
© Egmont Tidskrifter