Fråga

Uppväxt som jag är i en värld där allt man köper per automatik har windows som OS så har jag förstås börjat lära mig mer och mer och har då börjat upptäcka Linux.

Min fråga lyder, jag vill börja programmera och det verkar som de flesta söker folk som kan programmera för Windows. Utgör detta ett problem i mitt framtida programmerande om jag börjar köra Linux som OS istället för Windows då jag skriver och testkör applikationerna.

Svar

Hej Clifford.

Trevligt att du börjat intressera dig för GNU/Linux samt programmering.

Svaret på din fråga beror på vad du skall utveckla. Till att börja med så är principerna rätt lika oavsett programmeringsspråk och operativsystem. För det andra så kan man utveckla program som följer standarder. Oftast har språket man programmerar i en standard som berör syntaxen. Ibland definierar även standarden vilka funktioner och klasser som skall vara tillgängliga.

Om man utvecklar för C finns det t ex C99 som beskriver hur språket kan användas, samt några header-filer som ofta klassas som en del av språket (T ex float.h, stddef.h och stdint.h)

De flesta operativsystem följer en standard som heter POSIX, vilket kan vara en bra grund till operativsystemsoberoende. Läs mer om POSIX på denna adress, http://en.wikipedia.org/wiki/POSIX . Windows följer tyvärr inte POSIX, men det går att installera CygWin för att få POSIX kompantibiliteten.

Man kan påstå att det mer eller mindre går att återanvända källkod på de flesta operativsystem, iaf så länge man följer etablerade standarder. Dock händer det att man vill använda ramverk som tillhandahålls via operativsystemet. Tyvärr är sådana ramverk oftast låsta till ett visst operativsystem.

Om man t ex jämför Mac OS X med Windows så använder sig Mac OS X av Cocoa ramverket medans Windows använder MFC och .NET (Windows Forms).

Självklart kan det finnas likheter mellan dessa typer av ramverk, men tyvärr är skillnaderna större.

När det kommer till GNU/Linux så använder man sig oftast av tredjeparts ramverk. T ex så använder sig KDE av QT och Gnome använder sig av GTK+. Men vi har tur eftersom QT och GTK+ även finns för andra operativsystem. Därför kan det vara bra att välja ramverk som man vet är operativsystemsoberoende.

Till sist kan det vara bra att känna till att vissa instruktioner kan bete sig olika beroende på vilken processor du har i din dator. Därför kan det vara nödvändigt att använda olika tekniker för att komma runt sådana problem, i C och C++ är det rätt vanligt att man löser det med macro.

Lycka till…

Skriv ett svar

Skriv din kommentar
Ange ditt namn här