Wat is LPC?
De programmeertaal LPC is een objectgeoriënteerde computertaal die oorspronkelijk is ontworpen voor de ontwikkeling van computerspelletjes. Het LPC-acroniem staat voor de maker, Lars Pensjö, en de programmeertaal waaruit het is afgeleid, C - dus LPC. Pensjö, een Zweedse programmeur, ontwikkelde de programmeertaal voor LP-MUD, een Multi-User Dungeon-omgeving onder veel UNIX-systemen. Met MUD's kunnen spelers communiceren met de spelers in het spel door opdrachten in een ietwat natuurlijke taal te typen.
De basissyntaxis, het systeem dat wordt gebruikt om lexicale en syntactische analyzers te genereren, van LPC komt overeen met die van de taal C, maar LPC heeft geen sterk getypeerde variabelen. Hiermee kan LPC worden gebruikt voor het maken van objecten in plaats van items. Voor de kerkeromgeving zijn kamers, wapens, monsters en pantser objecten. Met de programmeertaal LPC kunnen gebruikers deze objecten op vrijwel elke gewenste manier maken, wijzigen, verwijderen en reproduceren.
LPC ondersteunt procedureel programmeren, modulair programmeren, gestructureerd programmeren, objectgeoriënteerd programmeren, programmeren met gedefinieerde gegevenstypen en zwak variabel getypte programmering, waardoor het een uitgebreide en allesomvattende computertaal is. Een belangrijk kenmerk van het LPC-ontwerp van Pensjö is de ongevoeligheid voor veel voorkomende programmeerfouten door contentbuilders. De algehele stabiliteit van een server is verbeterd, waardoor nieuwe programmeurs zich kunnen concentreren op de taak om dingen te bouwen in plaats van te worden geconsumeerd met de programmeerlogica zelf.
Hoewel bijna alles een object is in LPC, maakt het geen gebruik van het concept van klassen. In plaats daarvan is een object in LPC een blauwdrukobject of een kloon van een blauwdrukobject; hoewel technisch verschillend van een klasse, kunnen deze blauwdrukken vaak op dezelfde manier worden behandeld. Alle attributen en methoden zijn toegankelijk op exemplaar- en klassenniveau in LPC, wat verschilt van andere objectgeoriënteerde talen waardoor ze kunnen worden beperkt tot klasse en exemplaar.
In LPC-code worden gemeenschappelijke objecten gedefinieerd in gecentraliseerde bestanden. Naarmate verschillende game "rooms" worden gemaakt, erven deze objecten van het centrale bestand; een wijziging in dat bestand is dan van invloed op elk stuk code waarin dat object wordt gebruikt. Dit voorkomt dat elk van die objecten moet worden gecodeerd op elke locatie die wordt gebruikt, waardoor de code gemakkelijker te schrijven en te onderhouden is. Deze centralisatie is niet uniek voor LPC-codering, maar maakt deel uit van wat het mogelijk maakt om met deze programmeertaal gecompliceerde spellen te maken.
De flexibiliteit van LPC heeft ertoe geleid dat het voor verschillende doeleinden wordt gebruikt, behalve voor het maken van MUD-games. Het heeft ook geleid tot zijn evolutie naar de programmeertaal Pike. De programmeertaal Pike wordt gebruikt voor multimediatoepassingen, systeembeheertaken en internetservers.