De beroemde informaticus Leslie Lamport zal op donderdag 16 juni spreken op het Centrum Wiskunde & Informatica (CWI) in Amsterdam. Lamport is bekend van zijn werk op het gebied van gedistribueerde systemen en programmaverificatie. De Microsoft-werknemer geeft een lezing met de titel ‘The PlusCal Algorithm Language’. Deze wiskundige taal maakt volgens hem pseudo-code overbodig.
Pseudo-code wordt gebruikt om algoritmen vast te leggen op een door mensen leesbare manier met behoud van de stappen. Natuurlijke taal is hiervoor niet geschikt, omdat deze ambigu is. Een werkelijke formele programmeertaal is vaak te strak gedefinieerd en vereist specifieke kennis van die taal om het algoritme snel en voor iedereen begrijpelijk te maken.
In pseudocode komen bekende constructies uit bestaande programmeertalen voor (zoals C, Java of BASIC). Deze worden echter veel losser gebruikt en vaak in combinatie met geschreven zinnen. Doordat de taal niet vast gedefinieerd is kan pseudo-code echter niet gecompileerd en uitgevoerd worden.
Lamport ontwikkelde PlusCal, een algoritmetaal die gebaseerd is op TLA+ (Temporal Logic of Actions). Een PlusCal algoritme wordt automatisch vertaald naar een TLA+ specificatie, die kan worden gecontroleerd door de TLC model checker. PlusCal maakt daardoor pseudo-code overbodig.
Leslie Lamport
Lamport werd geboren in New York City en behaalde in 1960 zijn Bachelor-diploma op het Massachusetts Institute of Technology. Daarna haalde hij in 1963 een Masters-diploma in de wiskunde en vervolgens in 1972 een PhD-diploma op de Brandeis-universiteit, ook in de wiskunde. Hij werkte als computerwetenschapper bij verschillende bedrijven, waaronder SRI International (1977-1985) en Digital Equipment Corporation/Compaq (1985-2001). Sinds 2001 werkt hij voor Microsoft Research.
Lamport heeft verschillende fundamentele bijdragen geleverd aan gedistribueerde systemen, fault-tolerant computing, cryptografie en programmaverificatie. Voor zijn onderzoek ontving Lamport talrijke onderscheidingen, waaronder de IEEE John von Neumann Medaille.