Nejlepší odpověď
Skvělá otázka!
Sémantika v jazyce odkazuje na to, jak se význam mění, pokud se změní struktura; v sémantice designu nezávisí na posloupnosti (jako v psaném nebo mluveném jazyce), ale v prvcích a jejich vzájemném působení: materiál, velikost, forma, struktura, barva; všechny tyto poskytují semiotické stopy, které vám umožní pochopit, jak komunikovat s konkrétním designem.
Například použití určitého materiálu vás může přimět k tomu, abyste si mysleli, že je předmět drahý nebo levný; forma (například velikost) může dát nápovědu, pokud je určena pro mladší nebo starší lidi (přemýšlejte například o plastových stavebnicích, jako je lego). Pozice židle může komunikovat, že je určena pro nejdůležitější osobu na setkání atd.
Návrháři musí vzít v úvahu všechny tyto jemné (a ne tak jemné) informace, aby vytvářejte objekty, se kterými mohou lidé komunikovat, aniž byste museli používat příručky nebo být v rozpacích, protože nevěděli, co mají dělat.
Doporučil bych prozkoumat teorii hmotné kultury.
Odpovědět
Syntax a sémantika jsou obě části komunikace mezi sebou navzájem a s dalšími entitami, jako počítače.
Syntaxe odkazuje na gramatické uspořádání slov a interpunkční znaménka ve větách.
Sémantika označuje význam slov a interpunkčních znamének, která jsou uspořádána syntakticky přijatelným způsobem.
Uvažujme o syntakticky Příklad ect, který zpočátku nelze sémanticky pochopit naším překladačem v prosté angličtině, který považuje větu za sémanticky pochopenou, když ji lze zredukovat do podoby, kterou může provést počítačový procesor Intel x86.
The zvýrazněná věta v tomto programu …
… zjevně potřebuje práci.
Problém je v tom, že překladač neví, co je to„ prasátko “. Nyní víme , že prasátko má mnoho vlastností (velikost, tvar, barva atd.)…
… ale o prasátce musí program vědět jen to, že může držet peníze v různých částkách. Přidáme tedy jednoduchou definici podél těchto linií (červená šipka) a pokusíme se náš program znovu zkompilovat:
Krysy! Stále nekomunikuje. Možná bychom měli HOVORIT HLASOVATELE !!! Ale ne, prostá angličtina nerozlišuje velká a malá písmena. A počkejte … chyba se změnila. Tentokrát si myslím, že je to „dolarové“ slovo, kterému počítač nerozumí. Vysvětlíme tedy „dolar“, jak je znázorněno níže, a pokusíme se znovu sestavit:
Krysy znovu! Uvidíme, jestli to napravíme přidáním věty, která kompilátoru řekne, jak má přemýšlet o haléřích:
Et voila ! Tentokrát, když kompilujeme, jsme sémanticky rozuměli a při spuštění programu to funguje (výstup konzoly je uveden níže):
Mezitím uvnitř …
Takto bylo v mozku překladače dosaženo sémantického porozumění této větě.
• „10 dolarů“ bylo rozpoznáno jako číselný literál následovaný měrnou jednotkou a bylo převedeno na číselnou proměnnou s hodnotou 1000 (10 dolarů krát 100 haléřů za dolar).
• „Prasátko“ bylo chápáno jako požadavek na novou lokální proměnnou typu „prasátko“ – která se snižuje na základní typ „číslo“ – a v zásobníku byl přidělen prostor pro tuto proměnnou inicializovanou na nulu.
• Věta „Přidejte 10 dolarů do prasátka“ byla interně snížena pouze na nedbalé základy – „Přidat [dolary] do / do / do [prasátka]“ – kde jsou slova v hranaté závorky jsou názvy typů.
• Žádná taková rutina nebyla nalezena ani v jednom programu kódu nebo v „Nudle“ – prosté anglické knihovně užitečných typů, proměnných a rutin dandy – takže proměnné byly redukovány na své základní typy, jeden po druhém, přičemž každá kombinace byla cestou dolů zkontrolována na shodnou rutinu.
• Na spodní úrovni – „Přidat [číslo] do / do / do [čísla]“ – byla v Nudle nalezena odpovídající hlavička rutiny. Heuréka! Konkrétně druhá hlavička této rutiny…
… jehož tělo bylo napsáno, jak vidíte, v jazyce, který Mozky Intel x86 mohou rozumět (modré příkazy assembleru jsou komentáře).
• Takže kompilátor vygeneroval požadované příkazy Intel x86 na (a) odeslání adres dvou proměnných v zásobníku a na (b) zavolej výše uvedenou rutinu.
A to je pro tu větu asi vše. Zbytek programu byl sestaven stejným způsobem.
Sémantické porozumění.Setkání myslí.
Et voila!