Redigerer
Visuell programmering
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:Add_all_numbers_block.png|miniatyr| En enkel kodeblokk laget i det visuelle programmeringsspråket Snap!, som er basert på [[Scratch]] (koden beregner summen av alle tall i [[Verdiområde|verdiområdet]] mellom ''a'' og ''b'')]] '''Visuell programmering''', også kjent som '''blokkoding''',<ref>{{Kilde www|url=https://www.ntnu.no/documents/2004699/12108297/MicroBit+4.4.pdf/e992bd17-46f0-4e97-8eb0-a487b185efa4|tittel=Micro:bit Forslag til undervisningsopplegg, Nils Kr. Rossing, Vitensenteret Trodheim}}</ref> '''blokkprogrammering'''<ref>{{Kilde www|url=https://www.statped.no/laringsressurser/syn/temaside-programmering-for-elever-med-nedsatt-syn-temaside/programmering-for-elever-med-nedsatt-syn/blokkprogrammering-og-tekstprogrammering/|tittel=Blokkprogrammering og tekstprogrammering {{!}} statped.no|besøksdato=2024-03-10|verk=www.statped.no}}</ref> eller '''grafisk programmering''',<ref>{{Kilde oppslagsverk|tittel=blokkprogrammering|url=https://snl.no/blokkprogrammering|oppslagsverk=Store norske leksikon|dato=2024-01-19|besøksdato=2024-03-10|språk=no|fornavn=Pål Grønås|etternavn=Drange}}</ref> vil si å lage et [[dataprogram]] ved å manipulere objekter i et [[grafisk brukergrensesnitt]] i stedet for å skrive konvensjonell [[Kildekode|tekstkode]].<ref>{{Kilde bok|tittel=2014 IEEE International Symposium on Multimedia|etternavn=Jost|fornavn=Beate|etternavn2=Ketterl|fornavn2=Markus|etternavn3=Budde|fornavn3=Reinhard|etternavn4=Leimbach|fornavn4=Thorsten|isbn=978-1-4799-4311-1|kapittel=Graphical Programming Environments for Educational Robots: Open Roberta - Yet Another One?|doi=10.1109/ISM.2014.24}}</ref> Det gjør at man kan programmere på en romlig og visuell måte ved hjelp av både tekst og grafiske symboler, enten som deler av [[Syntaks|syntaksen]] eller som [[Sekundær notasjon|hjelpenotasjon]]. Mange visuelle programmeringsspråk er basert på "bokser og piler" der boksene (eller andre [[Objekt|objekter]]) representerer [[Entitet|entiteter]], mens piler, streker og linjer representerer [[Relasjonsalgebra|relasjoner]]. Et av formålene med visuell programmering er å gjøre programmering tilgjengelig for nybegynnere. Det kan også brukes av erfarne programmerere for hjelp til [[Syntaks (programmering)|syntaks]], [[semantikk]] og [[pragmatikk]]. Per 2005 var den daværende trenden å forsøke å integrere visuell programmering med [[dataflytprogrammering]] slik at man har umiddelbar tilgang til [[Tilstand (informatikk)|programmets tilstand]] slik at man letter feilsøking eller automatisk kan [[Dokumentasjonsgenerator|generere dokumentasjon]]. Dataflytspråk tillater også automatisk [[Parallellprosessering|parallellisering]] som antas å bli en av fremtidens største programmeringsutfordringer.<ref>{{Cite journal|title=Advances in dataflow programming languages|url=http://www.cs.ucf.edu/~dcm/Teaching/COT4810-Spring2011/Literature/DataFlowProgrammingLanguages.pdf}}</ref> == Typer visuelle språk == Følgende liste er ikke [[gjensidig utelukkende]], siden noen visuelle programmeringsmiljø kan inkludere elementer fra flere paradigmer. Valget av det visuelle programmeringsparadigmet avhenger ofte av de spesifikke kravene til applikasjonen eller preferansene til brukerne eller utviklerne. ; '''Blokkbasert programmering''' : Popularisert av plattformer som [[Scratch]] og [[Blockly]], brukt for introduksjon til programmering i utdanning. ; '''[[Flytdiagram|Flytdiagrammer]]''' : Mye brukt i [[programvareutvikling]] og [[systemdesign]] for å representere algoritmer og prosesser. ; '''Dra-og-slipp-grensesnitt''' : Vanlig i [[Grafisk brukergrensesnitt|grafiske]] designverktøy og utviklingsmiljø for å lage brukergrensesnitt. ; '''[[Nodegraf|Nodegrafer]]''' : Ofte brukt i visuelle programmeringsspråk, spillutvikling og dataflytsystemer. ; '''[[Dataflytprogrammering]]''' : Populært i miljøer for [[parallellprosessering]], [[signalbehandling]] og visuell programmering. ; '''Ikonisk programmering''' : Brukes for å forenkle programmeringsoppgaver, eksempelvis for utvikling av [[Mobilapplikasjon|mobilapplikasjoner]]. ; '''[[Endelig tilstandsmaskin|Tilstandsmaskiner]]''' : Mye brukt i [[spillutvikling]], [[Reguleringsteknikk|styringssystemer]] og modellering av [[Reaktivt system|reaktive systemer]]. ; '''Arkbasert programmering''' : Finnes i [[Regneark|regnearksapplikasjoner]] og visse pedagogiske programmeringsmiljø. ; '''Tidslinjebasert programmering''' : Vanlig i multimedia- og animasjonsprogramvare for sekvensering av hendelser over tid. ; '''Romlig programmering''' : Brukes i visse interaktive og 3D-modelleringsmiljø. ; '''Skjemabasert programmering''' : Brukes i applikasjoner der brukerinndata og grafiske grensesnitt spiller en betydelig rolle, for eksempel applikasjoner for dataregistrering. == Visuelle språk til generell bruk == [[Fil:Ringlang_shot10.jpg|miniatyr|300x300pk| Implementering av Ring Virtual Machine (VM) ved å bruke det visuelle programmeringsspråket PWCT]] De fleste grafiske programmeringsspråk er laget for [[Utdannelse|utdanning]] eller [[Domenespesifikt språk|domenespesifikk]] bruk hvor brukerne er nybegynnere på programmering. Det har vært noen forsøk på å utvikle visuelle programmeringsspråk til generell bruk som et alternativ til for eksempel [[C (programmeringsspråk)|C]], [[C++]], [[Java (programmeringsspråk)|Java]] og så videre. Noen eksempler er forskningsprosjekter som Envision<ref>Asenov, D. and Muller, P., 2014, July. Envision: A fast and flexible visual code editor with fluid interactions (overview). In 2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) (pp. 9-12). IEEE.</ref><ref>{{Kilde www|url=https://www.pm.inf.ethz.ch/research/envision.html|tittel=Envision}}</ref> og [[PWCT]].<ref>Fayed, M.S., Al-Qurishi, M., Alamri, A., Hossain, M.A. and Al-Daraiseh, A.A., 2020. PWCT: a novel general-purpose visual programming language in support of pervasive application development. CCF Transactions on Pervasive Computing and Interaction, 2, pp.164-177.</ref> Det er vanlig at visuelle programmeringsspråk utvikles ved hjelp av et tekstbasert programmeringsspråk. Dersom man utvikler et generelt visuelt programmeringsspråk vil det motsatte også være mulig. == Liste over visuelle språk == Følgende inneholder en liste over noen notable eksempler på visuelle programmeringsspråk. === Pedagogisk === * [[Scratch]], et produkt fra [[Massachusetts Institute of Technology|MIT]] designet for barn i [[Grunnskole|grunnskolen]] og [[Skolefritidsordning|skolefritidsordninger]]. === Multimedia === * [[Blender (programvare)|Blender]], en [[3D-grafikk|3D-grafikkpakke]] med [[åpen kildekode]] som inkluderer [[Rettet asyklisk graf|nodegrafer]] for å bygge shaders, <ref>{{Kilde www|url=https://docs.blender.org/manual/en/latest/editors/shader_editor.html|tittel=Shader Editor — Blender Manual|besøksdato=2021-01-22}}</ref> compositing <ref>{{Kilde www|url=https://docs.blender.org/manual/en/latest/compositing/index.html|tittel=Compositing — Blender Manual|besøksdato=2021-01-22}}</ref> og teksturer, <ref>{{Kilde www|url=https://docs.blender.org/manual/en/2.79/render/cycles/materials/texture_editing.html|tittel=Texture Editing — Blender Manual|besøksdato=2021-01-22}}</ref> ikke-destruktiv geometri.<ref>{{Kilde www|url=https://wiki.blender.org/wiki/Reference/Release_Notes/2.92/Geometry_Nodes|tittel=Reference/Release Notes/2.92/Geometry Nodes - Blender Developer Wiki|besøksdato=2021-01-22}}</ref><ref>{{Kilde www|url=https://docs.blender.org/manual/en/latest/modeling/geometry_nodes/index.html|tittel=Geometry Nodes — Blender Manual|besøksdato=2021-10-02}}</ref> * [[Pure Data]], et visuelt programmeringsspråk utviklet for å lage interaktiv datamusikk og multimedieverk. * [[Dassault Systèmes|Virtools]], en [[mellomvare]] som brukes for å lage interaktiv 3D === Videospill === * [[Nintendo Switch]], utviklet av [[Nintendo]] * [[Game Maker|GameMaker Studio]], har et spillopprettingssystem med dra-og-slipp * [[Godot (spillmotor)|Godot]], en spillmotor som lar spillskript og grafikk bygges ved hjelp av en nodegraf * [[Unreal Engine|Unreal Engine 4]] har et nodebasert visuelt programmeringsspråk kalt Blueprints Mange moderne videospill bruker [[Atferdstre (kunstig intelligens, robotikk og kontroll)|atferdstrær]], som i prinsippet er en familie enkle programmeringsspråk designet for å [[Atferdsmodell|modellere atferd]] for [[Ikke-spillerstyrt spiller|ikke-spillere]]. Atferdene er modellert som trær, og blir ofte redigert i grafiske vinduer. === Systemer og simulering === * [[DRAKON]], et grafisk algoritmisk språk * [[Node-RED]], verktøy for rask utvikling av programvaresystem === Automasjon === * [[Automator]] === Datavarehus og forretningsinnsikt === * [[Microsoft Access]], funksjonalitet for å designe spørringer * [[SQL Server Integration Services|Microsoft SQL Server Integration Services]] (SSIS), en plattform for dataintegrasjon og arbeidsflytapplikasjoner * [[Pentaho|Pentaho Data Integration]] (PDI), tidligere kalt Kettle, et [[Uttrekk, transformasjon og lasting|ETL-verktøy]] med åpen kildekode === Diverse === * [[YAWL]], grafisk arbeidsflytspråk == Visuelle stiler == * [[DRAKON]], et [[Spesifikasjon- og beskrivelsesspråk|SDL]]- og [[Arkitekturanalyse og designspråk|AADL]]-påvirket visuelt 2D-programmeringsspråk designet for å utvikle det innebygde sanntidssystemet for automatisk flyging og landing av den sovjetiske [[Buran (romferge)|Buran-romfergen]] * [[Eksekverbar UML|Kjørbar UML]], en profil av [[Unified Modeling Language|Universal Modeling Language]] som definerer kjørbar semantikk for en delmengde av UML * [[Flytdiagram]] * Subtext, et moderat visuelt programmeringsspråk == Se også == * [[Konseptdiagram]] * [[Dataflytprogrammering]] * [[Deutsch-grensen]], en [[aforisme]] om at det ikke bør være mer enn 50 primitiver på en skjerm samtidig * [[Dra og slipp]] * [[Flytbasert programmering]] * [[Lavkode programvareutvikling]] * [[Kodefri programvareutvikling]] * [[Unified Modeling Language]] == Referanser == <references/> {{Typer programmeringsspråk}} [[Kategori:Programmeringsspråk]]
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:Cite journal
(
rediger
)
Mal:Hlist/styles.css
(
rediger
)
Mal:ISOtilNorskdato
(
rediger
)
Mal:Kilde artikkel
(
rediger
)
Mal:Kilde bok
(
rediger
)
Mal:Kilde oppslagsverk
(
rediger
)
Mal:Kilde www
(
rediger
)
Mal:Navbox
(
rediger
)
Mal:Typer programmeringsspråk
(
rediger
)
Modul:Arguments
(
rediger
)
Modul:Citation/CS1
(
rediger
)
Modul:Citation/CS1/COinS
(
rediger
)
Modul:Citation/CS1/Configuration
(
rediger
)
Modul:Citation/CS1/Date validation
(
rediger
)
Modul:Citation/CS1/Identifiers
(
rediger
)
Modul:Citation/CS1/Utilities
(
rediger
)
Modul:Citation/CS1/Whitelist
(
rediger
)
Modul:ISOtilNorskdato
(
rediger
)
Modul:Navbar
(
rediger
)
Modul:Navbar/configuration
(
rediger
)
Modul:Navbar/styles.css
(
rediger
)
Modul:Navbox
(
rediger
)
Modul:Navbox/configuration
(
rediger
)
Modul:Navbox/styles.css
(
rediger
)
Modul:TableTools
(
rediger
)
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