Beste svaret
Flott spørsmål!
Semantikk i språk refererer til hvordan betydningen endres hvis strukturen endres; i design er semantikk ikke avhengig av sekvensen (som i skriftlig eller muntlig språk), men i elementene og hvordan disse samhandler: materiale, størrelse, form, tekstur, farge; alle disse gir semiotiske ledetråder som lar deg forstå hvordan du kan samhandle med et bestemt design.
For eksempel kan bruk av et bestemt materiale få deg til å tro at et objekt er dyrt eller billig; skjemaet (størrelse for eksempel) kan gi et hint om det er ment for yngre eller eldre mennesker (tenk for eksempel på byggesteiner av plast, som lego). En stols stilling kan kommunisere at den er ment for den viktigste personen i gjenforeningen, og så videre.
Designere må ta hensyn til alle disse subtile (og ikke så subtile) informasjonsbitene for å kunne lage objekter som folk kan samhandle med, uten manualer eller bli flau for ikke å vite hva de skal gjøre.
Jeg vil anbefale å utforske teorien om materialkultur.
Svar
Syntaks og semantikk er begge deler av å kommunisere med hverandre og med andre enheter, som datamaskiner.
Syntaks refererer til det grammatiske ordet av ord og skilletegn i setninger.
Semantikk refererer til betydningen av ord og skilletegn som er ordnet på en syntaktisk akseptabel måte.
La oss vurdere en syntaktisk korrigering et eksempel som først ikke kan forstås semantisk av vår Plain English-kompilator, som anser en setning som semantisk forstått når den kan reduseres til en form som en Intel x86-datamaskinprosessor kan utføre.
The uthevet setning i dette programmet…
… trenger åpenbart arbeid.
Problemet er at kompilatoren ikke vet hva en» sparegris «er. Nå vi vet at en sparegris har mange egenskaper (størrelse, form, farge osv.) …
… men det eneste programmet trenger å vite om en sparegris er at den kan holde penger i forskjellige beløp. Så vi legger til en enkel definisjon langs disse linjene (rød pil), og prøver å kompilere vårt program igjen:
Rotter! Kommuniserer fortsatt ikke. Kanskje vi burde TALE LØDER !!! Men nei, vanlig engelsk er ikke store og små bokstaver. Og vent … feilen har endret seg. Denne gangen tror jeg det er «dollar» -ordet som datamaskinen ikke forstår. Så vi forklarer “dollar” som vist nedenfor og prøver å kompilere igjen:
Rotter igjen! Vel, la oss se om vi kan fikse det ved å legge til en setning som forteller kompilatoren hvordan du skal tenke på pennies:
Et voila ! Denne gangen vi kompilerer er vi forstått semantisk, og når vi kjører programmet, fungerer det (konsollutdata vist nedenfor):
I mellomtiden, på innsiden …
Slik ble semantisk forståelse av setningen nådd i kompilatorens hjerne.
• «10 dollar» ble anerkjent som en numerisk bokstav etterfulgt av en måleenhet, og ble konvertert til en numerisk variabel med en verdi på 1000 (10 dollar ganger 100 pennies per dollar).
• «En sparegris» ble forstått som en forespørsel om en ny lokal variabel av typen «sparegris» – som reduseres til basistypen «nummer» – og plass til denne variabelen, initialisert til null, ble tildelt på stabelen.
• Setningen «Legg til 10 dollar i en sparegris» ble internt redusert til bare de slurvede nødvendighetene – «Legg til [dollar] i / inn / til [sparegris]» – der ordene i firkantede parenteser er typenavn.
• Ingen slike rutiner ble funnet i verken programmets kode eller i «Noodle» – det vanlige engelske biblioteket med praktiske dandytyper, variabler og rutiner – så variablene ble redusert til basistypene, en om gangen, hvor hver kombinasjon ble sjekket for en matchende rutine på vei ned.
• På det nederste nivået – «Legg til [nummer] i / inn / til [nummer]» – ble en tilsvarende rutinemessig overskrift funnet i Noodle. Eureka! Spesielt den andre overskriften på denne rutinen …
… hvis kropp ble skrevet, som du kan se, på et språk som Intel x86-hjerner kan forstå (monteringsspråklige uttalelser i blått er kommentarer).
• Så kompilatoren genererte de nødvendige Intel x86-setningene for å (a) skyve adressene til de to variablene på bunken, og til (b) ring rutinen ovenfor.
Og det handler om den setningen. Resten av programmet ble samlet på samme måte.
Semantisk forståelse.Et sinnsmøte.
Et voila!