Vilka är de olika typerna av datorprogrammering?
Med tanke på att definitionen av datorprogrammering är så bred och användningen av program så genomgripande, finns det faktiskt många typer av datorprogrammering, ofta definierade på starkt olika sätt. De mest grundläggande typerna av datorprogrammering kan delas upp av programmeringsspråket - som C, LISP eller Java® - som används av programmeraren. I andra sammanhang finns det kanske bara två typer av datorprogrammering - system och applikation. Vissa skillnader görs mellan nätverksprogrammering, webbaserad programmering och skrivbordsprogrammering. De olika typerna av datorprogrammering kan ibland separeras med målplattformen, såsom inbäddade systemprogrammering, realtidssystem (RTS) -programmering eller databasprogrammering.
De olika typerna av datorprogrammering definieras ofta av språket som används för att skriva programvara. Det finns många språk tillgängliga, men de faller i stort sett i antingen strukturerade språk som C eller objektorienterade språksom Java®, där båda vanligtvis används av proffs för olika uppgifter. Språk kan också vara nödvändiga, som de tidigare nämnda, eller funktionella, som LISP, där program består av en serie funktioner istället för kommandon. Vissa datorprogrammering görs enbart med skriptspråk, som tolkas mänskliga läsbara dokument som utför operationer inom en annan ram.
Det har traditionellt skett en åtskillnad mellan två breda typer av datorprogrammering. Den första är applikationsprogrammering och involverar skrivprogram som kan användas direkt för någon funktion. Alternativt finns det systemprogrammering, som syftar till att utforma program för hantering av hårdvara eller ramar där applikationer kan köras, till exempel operativsystem.
eftersom tekniken för nätverk och fjärrkommunikation blev mer allmänt använt, viss typS av datorprogrammering började skilja sig från de andra områdena för datorprogrammering. Nätverksprogrammering anses vara annorlunda på grund av den nödvändiga kunskapen om nätverksprotokoll och hårdvarugränssnitt. Programmering av webbaserade applikationer eller servrar kräver specifik kunskap om säkerhetsbegränsningar, internetprotokoll och unika programmeringsdesignmönster.
Det finns också typer av datorprogrammering som är specifika för ett visst fält eller målhårdvara. Databasprogrammering innebär att använda speciella frågespråk, skript och andra element för att interagera med specifika databasinfrastrukturer. Spelprogrammering involverar kunskap om grafikhårdvara, grafikalgoritmer och ibland specialoptimeringstekniker. Inbäddade system, såsom handhållna enheter eller konsoler, kan involvera unika hårdvaruspecifikationer och kunskap om leverantörsbibliotek. Mer avancerad realtidssystemprogrammering kan involvera skrivning av FailSafe-kontrollprogramvara för kärnkraftOwer -växter eller militär hårdvara.