Programmering

30. augusti 2009
Programmering kan ske på olika abstraktionsnivåer och handlar om att instruera en maskin, dator eller robot att utföra ett arbete. Personen som utför detta arbete kallas ofta för just programmerare.

En programmerare som programmerar, skriver ett program med ett programspråk, som sedan översätts till maskinkod som maskinen kan tolka och förstå.

Assemblerprogrammering

 Vid assemblerprogrammering används ett assemblerspråk, de instruktioner man skriver motsvaras direkt av instruktioner i maskinkod samtidigt som koden är i läsbar form för människan.

Assemblerkod måste översättas till maskinkod med hjälp av ett program, en assemblator.

Allmänna programspråk (General Purpose Computer Languages)

Exempel på almänna programspråk är Java och C. Ett program som skrivs med dessa språk översätts, kompileras, till maskinkod av en kompilator eller interpreteras av en tolk. Högnivåspråk kan också användas som term för språk med högre abstraktionsnivå än assembler.

Ytterligera en abstraktionsnivå uppnås när man inte längre direkt beskriver hur något ska utföras, utan vad som ska utföras. Detta förutsätter att man begränsat problemområdet så att tolken eller kompilatorn kan använda färdiga dellösningar som sätts ihop till en totallösning. Allmänna programspråk kan vara konstruerade för en viss uppgift, exempelvis PostScript, för sidbeskrivning.

Strukturerad programmering

Edsger Dijkstra skrev 1968 en artikel som kom att bli det vi idag kallar för strukturerad programmering.

Han hävdade att ett oreglerat användande av hopp-satser i ett program skapade oöverblickbara och ohanterliga program. Resultatet blev vad man brukade kalla spagetti-programmering med hopp fram och tillbaka.

Lösningen var att endast använda strukturerade satser som if-then-else och do-while istället för explicita hoppsatser.

Funktionell programmering

Funktionell programmering bygger på en matematisk grund, lambdakalkyl, vilket kan leda till ökade möjligheter till automatisk analys av funktionella program, exempelvis i syfte att bevisa att programmet har en viss egenskap eller att en viss optimering är giltig.

Det uppstod många idéer om hur man skulle kunna dela upp program i mindre bitar, modularisera, samt hur dessa skulle tillåtas påverka varandra.

Objektorienterad programmering

Idéerna bakom objektorienterad programmering har i likhet med den föregående strukturerade programmeringen, fått ett mycket stort stöd. Stora fördelar som brukar framhållas är att funktioner som är gemensamma för många olika typer av objekt/begrepp bara behöver kodas en gång, och kan återanvändas av alla de objekt som behöver dem. Endast de funktioner som verkligen är olika mellan olika underordnade objekt behöver programmeras om.

Man började inse fördelarna med att återanvända kod.

Logikprogrammering

Inom logikprogrammering ligger tyngdpunkten på att samla fakta och regler. Genom deduktion eller induktion kan sedan olika resultat automatiskt härledas. Logikprogrammering är nära besläktad med Artificiell intelligens (AI) och det mest kända programspråket för logikprogrammering är Prolog.

Just nu värderat 4.0 av 2 människor

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Allmänt

Svensk toppchef på Google

30. augusti 2009

I början av augusti stod det klart att Richard Steiber skulle komma att bli global marknadsdirektör för Googles annonsprodukter. En svensk it-profil som äntligen tagit en plats bland toppcheferna på Googles huvudkontor i Silicon Valley.

Richard har tidigare varit VD för konsultbolaget Xlent, grundat konsultbolaget Digiscope samt startade Scandinavia Online. Han har även varit Googles marknadsdirektör i Europa under två års tid.

"Jag kommer att ta globalt ansvar för att lansera och marknadsföra alla Googles produkter mot annonsörer, mediaförmedlare, byråer och publicister, B2B. Till exempel AdWords, AdSense, Double Click och annonslösningar för mobil, Youtube, tv, kartor, etc."

- Richard Steiber i en mejlintervju med Veckans Affärer

 

Just nu värderat 4.0 av 1 människor

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Allmänt