You are here: Home Q&A Vragen en Antwoorden Wat zijn de overeenkomsten en verschillen tussen natuurlijke talen en programmeertalen?

Vragen en Antwoorden

Questions and Answers English Fragen und Antworten Deutsch

Is er iets wat u altijd al hebt willen weten over taal? Wij hebben misschien het antwoord! Op deze pagina beantwoorden we vragen over taal die gesteld zijn door mensen die geen taalonderzoeker zijn. Heeft u een vraag over taal? Stuur ons uw vraag via deze link! Onderzoekers van het Max Planck Instituut zullen regelmatig vragen selecteren en nieuwe antwoorden publiceren. Bezoek ons dus opnieuw in de toekomst, want dan vindt u hier nieuwe antwoorden en komt u nog meer te weten over taal. 

Wat zijn de overeenkomsten en verschillen tussen natuurlijke talen en programmeertalen?

Sommige programmeertalen lijken veel op natuurlijke talen. Hieronder zie je een stukje Pythoncode dat een namenlijst doorzoekt en deze uitprint als ze ook voorkomen in een lijst genaamd invited_people.

Python

for name in my_list:
  if name in invited_people:
    print name

Echter, andere programmeertalen zijn veel minder leesbaar. Hieronder zie je een stukje code dat hetzelfde doet als de code hierboven, maar dan in Scheme.

Scheme

(map (lambda (name) (if (cond ((member name invited_people) name)) (display name) name)) my_list)

Dus het is de vraag in hoeverre natuurlijke talen en programmeertalen eigenlijk van elkaar verschillen? Om deze vraag te beantwoorden, kunnen we niet puur kijken naar de oppervlakkige overeenkomsten, maar leggen we allereerst een aantal vaktermen uit die taalkundigen gebruiken om de structuur van talen te beschrijven.

Code
Vergelijkbare semantische en syntactische structuren

Twee van de meest centrale  begrippen in de taalkunde zijn semantiek en syntaxis. In het kort is semantiek een taalkundige term voor betekenis, maar een meer preciese uitleg is dat semantiek de informatie bevat van een begrip. Bijvoorbeeld, een woordvorm zoals "slaap" (gespeld in letters als s-l-a-a-p, of uitgesproken in klanken) verwijst naar een specifieke actie van een levend organisme en dat is de semantiek van dat woord. De syntaxis bestaat daarentegen uit de regels van hoe verschillende soorten woorden (bijvoorbeeld werkwoorden en zelfstandige naamwoorden) kunnen worden vervoegd en met elkaar kunnen worden gecombineerd. De zin "Mijn ideeën slapen" is een welgevormde zin in het Nederlands vanuit het oogpunt van de syntaxis, maar niet vanuit de semantiek,  aangezien ideeën niet leven en dus ook niet kunnen slapen. Semantiek en syntaxis bieden dus beiden een structuur voor wat samen kan gaan en wat niet, maar semantiek heeft betrekking op betekenis en syntaxis gaat over de manier waarop woorden en woordsoorten kunnen worden gecombineerd.

Nu we de semantiek en syntaxis van natuurlijke talen hebben uitgelegd, komen we terug op programmeren. In programmeertalen heeft de programmeur een bedoeling over wat de code moet doen. Dat zouden we de semantiek of betekenis van de code kunnen noemen. De syntaxis van de programmeertaal koppelt een stukje code, en de "woorden" daarin (dit zijn de variabelen, functies, verschillende soorten haakjes etc.), aan deze bedoelde betekenis. De voorbeelden van Python en Scheme hierboven hebben dezelfde semantiek, maar de syntax van de twee programmeertalen verschilt.

Verschillende doelen

We hebben beschreven dat er veel overeenkomsten zijn tussen de basale structuur van natuurlijke talen en programmeertalen, maar hoever strekt deze analogie? Natuurlijke talen zijn namelijk gevormd door de communicatieve behoefte van mensen en de functionele beperkingen van menselijke hersenen. Programmeertalen daarentegen zijn ontwerpen om de capaciteiten van een Türingmachine te hebben, dat wil zegen dat ze elke berekening kunnen doen die mensen kunnen met pen en papier, keer op keer.

Het is noodzakelijkerwijs zo dat programmeertalen vastliggen en beperkt zijn in hun functionaliteit, terwijl natuurlijke talen juist nieuwe combinaties toestaan en daardoor niet vastliggen. Programmeercode zorgt ervoor dat lange lijsten met gegevens ingelezen, opgeslagen en verwerkt kunnen worden in veel verschillende stappen, om zo de outputgegevens te genereren. Waar het om gaat is dat dit op een rigoreuze manier gebeurt. Natuurlijke talen daarentegen staan toe dat gesprekspartners elkaar begroeten, beloftes maken, of juist vage antwoorden geven en leugens vertellen. In natuurlijke talen ontstaan daardoor voortdurend nieuwe syntactische regels en betekenissen uit de graduele verandering van bijvoorbeeld woordbetekenissen. De zin "Ik zag de hond met een telescoop", bijvoorbeeld, heeft twee verschillende betekenissen (het zien van een hond door een telescoop of het zien van een hond die een telescoop heeft). Mensen gebruiken de context en hun kennis van de wereld om te bepalen welke betekenis er bedoeld . Natuurlijke talen rusten daardoor op altijd veranderende culturen, die verschillende nuances en combinaties van betekenissen voortbrengen voor verschillende mensen in verschillende culturen en contexten. Programmeercode daarentegen, laat zelden een dergelijke flexibiliteit in  interpretatie zien. In programmeertalen heeft een regel code één enkele betekenis, zodat de output met grote zekerheid kan worden gegenereerd.

By: Julia Udden, Harald Hammarström and Rick Janssen

Vertaald door: Connie de Vos & Sara Bögels

About MPI

This is the MPI

The Max Planck Institute for Psycholinguistics is an institute of the German Max Planck Society. Our mission is to undertake basic research into the psychological,social and biological foundations of language. The goal is to understand how our minds and brains process language, how language interacts with other aspects of mind, and how we can learn languages of quite different types.

The institute is situated on the campus of the Radboud University. We participate in the Donders Institute for Brain, Cognition and Behaviour, and have particularly close ties to that institute's Centre for Cognitive Neuroimaging. We also participate in the Centre for Language Studies. A joint graduate school, the IMPRS in Language Sciences, links the Donders Institute, the CLS and the MPI.

 
Vragen en Antwoorden

Stuur de onderzoekers van
het MPI een nieuwe vraag: 

Outlined font 1,5 pt wide cirkle 3 pt.

Dit project werd door Katrien 
Segaert,
Katerina Kucera en 
Judith Holler
 opgestart. 

Momenteel wordt dit project
gecoördineerd door:
Katerina Kucera
Sean Roberts
Agnieszka Konopka
Gwilym Lockwood
Connie de Vos

Vroegere leden:
Joost Rommers
Mark Dingemanse