Dynamisk programmeringsspråk

QS IT
Denne artikkelen var på grunn av innholds feil på kvalitetssikring side av informatikk redaksjonelle lagt. Dette gjøres for å bringe kvaliteten på artiklene fra fagområdet informatikk til et akseptabelt nivå. Hjelp til med å eliminere manglene i denne artikkelen og ta del i diskusjonen !  ( + )

Dynamisk programmering referert til i programvareteknikken en klasse på høyt nivå språk , som kjøretiden utfører aktiviteter, ikke de andre programmeringsspråkene eller kompileringstiden . Disse aktivitetene inkluderer for eksempel utvidelse av programmet i løpet av kjøretiden. Disse aktivitetene kan også simuleres på andre programmeringsspråk, men i dynamiske programmeringsspråk støttes de direkte av språket.

Grenser for definisjonen av dynamiske programmeringsspråk

Avgrensningen av dynamiske programmeringsspråk fra andre er ikke nøyaktig. Begreper som kompileringstid og kjøretid er uskarpe når du for eksempel bruker virtuelle maskiner eller just-in-time kompilering . Videre tilbyr mange programmeringsspråk muligheten for å manipulere bytekode eller maskinspråk på en eller annen måte . På den annen side er dynamiske programmeringsspråk for det meste, men ikke alltid, dynamisk skrevet .

Generelt er tildelingen av et programmeringsspråk til de dynamiske programmeringsspråkene mindre basert på dets evne til å implementere dynamiske konsepter, men heller på grunnlag av den enkle bruken av dynamiske teknikker i dette programmeringsspråket.

Eksempler

Følgende programmeringsspråk er ofte ansett som dynamiske programmeringsspråk:

Implementering av dynamiske konsepter

Evaluer
Noen dynamiske programmeringsspråk tilbyr en eval funksjon. Denne funksjonen (høyere orden) overtar en hvilken som helst funksjon, og om nødvendig passende aktuelle parametere, bruker disse på dem og leverer beregningsresultatet. Siden eval kan beregne alt som kan beregnes, kalles det en universell funksjon.
Objektendringer ved kjøretid
Typer eller objektsystemer kan endres i dynamiske programmeringsspråk ved kjøretid. For eksempel kan nye objekter opprettes ved hjelp av mixins basert på eksisterende objekter . Eller arvetreet endres ved kjøretid.
Funksjonell programmering
Funksjonelle konsepter støttes ofte av dynamiske programmeringsspråk. For eksempel er nedleggelser vanligvis en del av dynamiske programmeringsspråk, mens fortsettelser ofte ikke støttes.
speilbilde
Refleksjon (engl. Reflection ) og introspeksjon (engl. Introspection ) støttes vanligvis av dynamiske programmeringsspråk. For eksempel, i Lisp's S-Expressions, blir koden evaluert og modifisert som en datastruktur.
Makroer
Noen dynamiske programmeringsspråk kombinerer introspeksjon og evals i makroer . Dynamiske programmeringsspråk bruker makroer for å påvirke prosessen med å lage det abstrakte syntaks-treet i kompilatoren og dermed tillate direkte metaprogrammering . Hovedrepresentanten er Lisp.

weblenker

Individuelle bevis

  1. Sol: Bruke JavaScript som et ekte programmeringsspråk ( Minne til originalen fra 10. august 2017 i Internettarkivet ) Info: Arkivkoblingen ble satt inn automatisk og er ennå ikke sjekket. Vennligst sjekk originalen og arkivlenken i henhold til instruksjonene, og fjern deretter denne meldingen. . Der: "Begrepet dynamisk programmeringsspråk beskriver en klasse programmeringsspråk som deler en rekke vanlige kjøretidskarakteristikker som bare er tilgjengelige på statiske språk under kompilering, hvis i det hele tatt."  @1@ 2Mal: Webachiv / IABot / www.activemode.com
  2. ^ Formørkelse: Verktøysett for dynamiske språk .
  3. Active: Løsninger for Dynamic Language Support, Management, og Compliance ( Memento av den opprinnelige fra 12 juni 2010 i Internet Archive ) Omtale: The arkivet koblingen ble automatisk satt inn og ennå ikke kontrollert. Vennligst sjekk originalen og arkivlenken i henhold til instruksjonene, og fjern deretter denne meldingen. .  @1@ 2Mal: Webachiv / IABot / www.activestate.com
  4. Spring Framework: Dynamisk språkstøtte .
  5. Groovy - offisielle nettsted ( minnesmerke av den opprinnelige fra 02.03.2014 i Internet Archive ) Omtale: The arkivet koblingen ble satt inn automatisk og har ennå ikke blitt sjekket. Vennligst sjekk originalen og arkivlenken i henhold til instruksjonene, og fjern deretter denne meldingen. . @1@ 2Mal: Webachiv / IABot / groovy.codehaus.org