Redigerer
Programmeringsspråk
Hopp til navigering
Hopp til søk
Advarsel:
Du er ikke innlogget. IP-adressen din vil bli vist offentlig om du redigerer. Hvis du
logger inn
eller
oppretter en konto
vil redigeringene dine tilskrives brukernavnet ditt, og du vil få flere andre fordeler.
Antispamsjekk.
Ikke
fyll inn dette feltet!
[[Fil:C Hello World Program.png|thumb|right|402px|[[Kildekode]]n for et enkelt dataprogram som er skrevet i [[C (programmeringsspråk)|programmeringsspråket C]]. Når koden er [[Kompilator|kompilert]] og kjører, vil det gi utskriften «[[Hello, world|Hello, world!]]».]] '''Programmeringsspråk''' er en betegnelse som henviser et ikke-menneskelig og kunstig [[språk]] som benyttes utelukkende for å styre og kontrollere en [[datamaskin]]. I likhet med menneskelige språk har programmeringsspråk [[syntaks]] og [[semantikk|semantiske]] regler for å definere mening, men i motsetning til mennesker har en datamaskin behov for å få instruksjoner beskrevet 100 % komplett, det vil si uten noen som helst form for tolkning. Dette stiller særskilte krav til programmeringsspråkene om å være entydig og komplett. Programmeringsspråkene inndeles gjerne i [[høynivåspråk|høynivå]]- og lavnivåspråk, avhengig av hvor ulikt programmeringsspråket er fra den maskinkoden kompilatoren vil generere. [[Assembler]] er et typisk lavnivåspråk der kommandoer skrives nærmest direkte til prosessoren. [[Basic]] er på den annen side et høynivåspråk hvor en kommando i programmeringsspråket ofte blir til flere, mer sammensatte, kommandoer i maskinkoden. For høynivå programmeringsspråk skiller en gjerne mellom ''[[Kompilerte programmeringsspråk|kompilerte språk]]'' – hvor en kompilator oversetter programteksten til direkte kjørbar maskinkode – og ''[[scriptspråk|tolkede språk]]'' – hvor en programtolk leser programmet og utfører det fortløpende. Etter hvert er det kommet til ulike mellomstadier, spesielt språk hvor programteksten oversettes til en [[plattformuavhengig]] [[bytekode]] som deretter eksekveres av en programtolk/et kjøretidsmiljø. Typiske eksempler på det siste er [[Java (programmeringsspråk)|Java]], [[Python]] og noen [[LISP]]-dialekter. Skillet mellom kompilerte og interpreterte programmeringsspråk er flytende – to forskjellige implementasjoner av samme språk kan godt være henholdsvis det ene og det andre. Det er blitt tradisjon å demonstrere et programmeringsspråk ved at teksten ''[[hello, world]]'' blir produsert. ==Hensikt== Alle de [[dataprogram]] som en [[datamaskin]] kjører foreligger i [[maskinkode]]. Da det er upraktisk for et menneske [[Programmering|å programmere]] direkte i maskinkode, er det laget ulike programmeringsspråk som gjør det enklere for programmereren å skrive et dataprogram. For å kunne nyttegjøre seg av det programmet en skriver i et visst programmeringsspråk ([[kildekode]]n), trengs en [[kompilator]] som oversetter kildekoden til maskinkode, som da maskinen kan bruke til å kjøre programmet. Mange programmeringsspråk er blitt tatt fram, endret for å møte nye utfordringer, kombinert med andre språk og til slutt falt ut av bruk. Flere forsøk på å ta frem universelle programmeringsspråk er gjort, men disse er alltid blitt utkonkurrert av mer spesialiserte varianter. Behovet for ulike språk beror på de forskjellige sammenhengene språket skal brukes i: * Program utgjør alt fra bittesmå ''skript'' skrevet av amatører til enorme systemer skrevet av hundrevis av utviklere. * Programmerere har forskjellige ferdighetsnivåer, alt fra nybegynnere til eksperter. Kompleksiteten de forskjellige kan håndtere er ulik. * Programmene må finne en balanse mellom størrelse, hastighet, vedlikeholdbarhet og andre parametre. Systemene de skal kjøre på er alt fra enkle [[mikrokontroller]]e til [[superdatamaskin]]er. * Program som er «ferdigskrevet» kan være under nesten konstant modifikasjon, eller de kan være statiske gjennom hele sin levetid over flere tiår. * Programmererens kompetanse i et bestemt språk kan også være utslagsgivende. En generell trend innenfor utviklingen av programmeringsspråk er at nivået på abstraksjonene har blitt høyere med tiden. De tidligste programmeringsspråkene var veldig nær datamaskinens egne, innebygde konsepter. Etter hvert ble det bygget på mer abstrakte konsepter som lot programmeren uttrykke idéer på et høyere nivå. Dette lot programmererne skrive mer kode på kortere tid..<ref>Brooks, jr., Frederick P. (1982): ''The Mythical Man-Month,'' Addison-Wesley, s. 93-94</ref> Idéen om at naturlige språk vil overta for programmeringsspråkene ble tidlig lansert i denne prosessen. Dette målet er fremdeles langt unna, og om det egentlig er noen fordel er åpent for debatt. [[Edsger Dijkstra]] hevdet at for å unngå meningsløse konstruksjoner er det viktig å nytte et formelt språk, og var helt avvisende til konseptet.<ref>Dijkstra, Edsger W. [http://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EWD667.html On the foolishness of «natural language programming»], EWD667.</ref> [[Alan Perlis]] var også avvisende til konseptet. .<ref>Perlis, Alan, [http://www-pu.informatik.uni-tuebingen.de/users/klaeren/epigrams.html «Epigrams on Programming»] {{Wayback|url=http://www-pu.informatik.uni-tuebingen.de/users/klaeren/epigrams.html |date=19990117034445 }}, ''SIGPLAN Notices'', Vol. 17, No. 9, September 1982, s. 7-13</ref> == Se også == * [[Programvareutvikling]] * [[Liste over programmeringsspråk]] == Referanser == <references/> == Eksterne lenker == * {{Offisielle lenker}} {{Programmeringsspråk}} {{Autoritetsdata}} [[Kategori:Programmeringsspråk| ]] [[Kategori:1000 artikler enhver Wikipedia bør ha]]
Redigeringsforklaring:
Merk at alle bidrag til Wikisida.no anses som frigitt under Creative Commons Navngivelse-DelPåSammeVilkår (se
Wikisida.no:Opphavsrett
for detaljer). Om du ikke vil at ditt materiale skal kunne redigeres og distribueres fritt må du ikke lagre det her.
Du lover oss også at du har skrevet teksten selv, eller kopiert den fra en kilde i offentlig eie eller en annen fri ressurs.
Ikke lagre opphavsrettsbeskyttet materiale uten tillatelse!
Avbryt
Redigeringshjelp
(åpnes i et nytt vindu)
Maler som brukes på denne siden:
Mal:Autoritetsdata
(
rediger
)
Mal:Hlist/styles.css
(
rediger
)
Mal:Navboks
(
rediger
)
Mal:Offisielle lenker
(
rediger
)
Mal:Programmeringsspråk
(
rediger
)
Mal:Wayback
(
rediger
)
Modul:Arguments
(
rediger
)
Modul:External links
(
rediger
)
Modul:External links/conf
(
rediger
)
Modul:External links/conf/Autoritetsdata
(
rediger
)
Modul:External links/conf/Offisielle lenker
(
rediger
)
Modul:Genitiv
(
rediger
)
Modul:Navbar
(
rediger
)
Modul:Navbar/configuration
(
rediger
)
Modul:Navboks
(
rediger
)
Modul:Navbox/configuration
(
rediger
)
Modul:Navbox/styles.css
(
rediger
)
Modul:Wayback
(
rediger
)
Denne siden er medlem av 3 skjulte kategorier:
Kategori:1000 artikler enhver Wikipedia bør ha
Kategori:Artikler med offisielle lenker og uten kobling til Wikidata
Kategori:Artikler uten offisielle lenker fra Wikidata
Navigasjonsmeny
Personlige verktøy
Ikke logget inn
Brukerdiskusjon
Bidrag
Opprett konto
Logg inn
Navnerom
Side
Diskusjon
norsk bokmål
Visninger
Les
Rediger
Rediger kilde
Vis historikk
Mer
Navigasjon
Forside
Siste endringer
Tilfeldig side
Hjelp til MediaWiki
Verktøy
Lenker hit
Relaterte endringer
Spesialsider
Sideinformasjon