Vad gör en programmerare
Programmering kan också delas in efter vad programmet utför. De problem med programmering som man försökt lösa har bland annat varit:. Parallellt med detta har hela tiden nya programspråk konstruerats för att ge stöd för dessa olika programmeringsparadigm. Sedan programmeringens barndom på och talet har många olika idéer och läror om programmering och hur man bäst organiserar och strukturerar framför allt stora program framförts.
Ofta skiljer man också här mellan maskinnära språk som C och högnivåspråk där en större del av funktionaliteten beskrivs abstrakt. Exempel på sådana språk är RPG för rapportgenerering.
Många idéer uppstod också om på vilket sätt stora program skulle delas upp i mindre bitar, modulariseras , och hur dessa delar skulle tillåtas påverka varandra. Andra indelningar är de i språk som skall tolkas eller kompileras och enligt programmeringsparadigm funktionell , procedurell , objektorienterad programmering eller liknande. Olika delar av ett program kan vara skrivet i olika programspråk.
Allt du behöver veta om programmering som nybörjare
De första typerna av programmering görs av hårdvaruleverantörer, men operativsystem programmeras numera också av fristående programvaruleverantörer, som Microsoft , Apple Computer , Sun Microsystems , eller i distribuerade frivilligprojekt med öppen källkod. Huvudartikel: Strukturerad programmering. Dessa idéer är numera allmänt accepterade och de flesta moderna programspråk saknar till och med explicita hoppsatser.
Detta förutsätter att man begränsat problemområdet på något sätt så att tolkaren eller kompilatorn kan använda färdiga dellösningar som sätts ihop till en totallösning för det aktuella problemet. Assemblerspråket, som oftast också tillåter makro -instruktioner, måste översättas till maskinkod med hjälp av ett speciellt program: en assemblator eller något liknande.
Närmast hårdvaran kommer här styrning av hårdvarukomponenter genom mikroprogrammering , till exempel BIOS i en persondator eller drivrutiner för olika utrustningar. Ytterligera en abstraktionsnivå uppnås när man inte längre direkt beskriver hur något ska utföras utan snarare vad som ska utföras. Till exempel kan "SR 1,2" betyda "Subtrahera innehållet i register nummer 1 med innehållet i register nr 2".
Ett sådant språk har i det närmaste en direktöversättning till maskinkod, det vill säga de instruktioner man skriver motsvaras direkt av instruktioner i maskinkod, men använder en för människan mer läsbar form än maskinskodens ettor och nollor. Man kan nog säga de problem som strukturerad programmering försökte lösa mycket hängde ihop med de tidiga programspråken som Fortran och COBOL och de möjligheter till spagettikodning som fanns i dessa.
Också allmänna programspråk kan vara konstruerade för en viss uppgift, såsom PostScript för sidbeskrivning eller R för statistiska problem. Närmast hårdvaran , förutom maskinkod, ligger assemblerprogrammering där man använder ett assemblerspråk.
Man visade också att det alltid går att omforma ett ostrukturerat program till ett strukturerat program med samma funktion. Dijkstra hävdade att ett oreglerat användande av hopp-satser i ett program ledde till oöverblickbara och ohanterliga program.
Nästa nivå är operativsystemet som fördelar och administrerar datorns resurser och gör datorn allmänt tillgänglig för människan genom ett användargränssnitt. Slutligen kommer nivån med alla olika användarprogram som ordbehandlare , webbläsare och datorspel. När man programmerar skriver man ett program och man använder ett programspråk.
Programmering direkt i maskinkod förekommer praktiskt taget inte alls eftersom det är för arbetskrävande. Programmering handlar om att instruera en maskin eller del av en maskin, till exempel en mikrodator , dator , robot eller NC-maskin att utföra ett visst arbete. Detta måste översättas till den maskinkod som maskinen är konstruerad att direkt förstå. Olika typer av maskiner har helt olika uppsättningar instruktioner i sin maskinkod.
Programmering kan ske på olika abstraktionsnivåer. Ett sådant program översätts, kompileras , till maskinkod av en kompilator eller interpreteras av en tolk. Resultatet blev lätt vad man brukade kalla spagettiprogrammering med hopp fram och tillbaka och fel som var svåra att spåra.
Bli programmerare på 12 veckor
I ett sådant språk motsvarar en sats eller instruktion normalt många instruktioner i maskinspråket. Högnivåspråk kan också användas som term för språk med högre abstraktionsnivå än assembler. På nästa nivå kommer allmänna programspråk engelska: general purpose computer languages som till exempel C , Pascal och Java.
Personen som utför detta hantverk brukar ofta tituleras programmerare. Begrepp förknippade med programmering är bland annat slingor och uppställningar. Programmering är en del av det vidare begreppet programvaruutveckling eller mjukvaruutveckling som även innefattar aktiviteter som sammanställning av krav, mjukvarudesign och testning. Maskinen förstår normalt inte programspråket direkt.
Lösningen var att endast använda strukturerade satser som if-then-else och do-while istället för explicita hoppsatser.