Oosthoek Encyclopedie

Oosthoek's Uitgevers Mij. N.V (1916-1925)

Gepubliceerd op 17-06-2020

programmeer taal

betekenis & definitie

v./m. (-talen), code waarmee men een computer programmeert.

(e) De programmeertalen kunnen als volgt verdeeld worden.

1. Symbolische talen of assembleertalen. Deze zijn direct uit de ➝machinetaal van een bepaalde computer afgeleid. Opdrachtcodes, zoals ‘tel op’, ‘lees ponskaart’ of ‘spring naar adres ... indien resultaat negatief’, die in de machinetaal een numerieke code hebben, worden in de symbolische taal door eenvoudig te onthouden lettercombinaties aangegeven, zoals resp. A(add), R(read) en BN(branch if negative). Geheugenadressen worden door symbolische namen aangegeven, die de programmeur zelf kan bedenken. Het resultaat kan een beter leesbaar programma zijn (een instructie A INLEG, SALDO om aan te geven dat voor een bepaald rekeningnummer bij een spaarbank een nieuwe inleg bij het saldo moet worden opgeteld is eenvoudiger te begrijpen dan de resulterende machineinstructie: +0217215312). Het gebruik van een symbolische taal vereenvoudigt de programmering dus met als gevolgen: sneller programmeren, minder fouten, sneller testen, veranderingen eenvoudiger aan te brengen en programma iets overzichtelijker. Ten opzichte van een probleemgerichte programmeertaal is het voordeel dat het na de vertaling resulterende machinetaalprogramma in het algemeen efficiënter is. Een nadeel is vooral het gericht zijn op een bepaalde machine.
2. Algemene probleemgerichte talen. Deze talen zijn onafhankelijk van een bepaald type machine. In opzet dienen zij logisch consistent (niet tot tegenspraak leidend) en volledig (alle benodigde bewerkingen mogelijk makend) te zijn. Een in een algemene probleemgerichte taal geschreven programma kan in principe op elke computer verwerkt worden die groot genoeg is en een vertaalprogramma voor die taal bezit. Zo zou men een in één rekencentrum ontwikkeld programma zonder meer aan een ander centrum kunnen overdragen, maar in de praktijk blijkt dit enigszins tegen te vallen omdat er binnen een taal nogal wat ‘dialecten’ bestaan. De bekendste talen in deze klasse zijn ➝algol en ➝fortran voor mathematisch/technische problemen, ➝cobol voor administratief/organisatorische problemen en PL/I die voor beide klassen van problemen geschikt is. In algol en fortran kan een wiskundige uitdrukking in één opdracht worden opgeschreven, b.v.

Y = 3*X**4 + LOG (2 *X + SIN (X + 1)) in fortran, waarbij * vermenigvuldiging en ** machtsverheffing voorstelt. In machinetaal is dit een groot aantal opdrachten. Het vertaalprogramma bevat reeds ➝subroutines (kant en klare hulpprogramma’s) voor het uitrekenen van de waarde van de meest voorkomende wiskundige functies. Cobol lijkt het meest op een vereenvoudigd soort Engels. Een in deze taal geschreven programma is met enige moeite zelfs voor een buitenstaander leesbaar. Het gebruik van algemene probleemgerichte talen leidt dus tot betere documentatie: algol b.v. wordt reeds gebruikt om numerieke methoden in te rapporteren, terwijl cobol gebruikt zou kunnen worden om administratieve procedures in te beschrijven.

De voordelen van symbolische talen gelden bij de hier behandelde talen in versterkte mate. Bovendien wordt de gebruiker minder afhankelijk van één bepaalde computer. In een symbolische taal geschreven programma’s moeten bij een dergelijke conversie veelal volledig worden overgeschreven, hetgeen vele manjaren werk kan inhouden. Een groot voordeel is ook dat de programmering kan worden gedecentraliseerd en verzorgd door de ‘gebruiker’ die het probleem heeft: minder communicatieproblemen en bijgevolg snellere resultaten zijn het gevolg. Een nadeel ten opzichte van de symbolische talen is dat het resulterende machineprogramma veelal minder efficiënt is, d.w.z. meer geheugen en meer computertijd behoeft.

3. Speciale probleemgerichte talen. In toenemende mate komen talen ter beschikking die bedoeld zijn voor een bepaalde klasse van gebruikers en aangepast zijn aan deze gebruikers.

Te onderscheiden zijn:

a. talen voor een speciale klasse van problemen, b.v. voor problemen op het gebied van ➝simulatie, voor ➝informatieontsluiting en het verwerken van tekst (b.v. de taal Lisp), voor het werken met mathematische formules (b.v. differentiëren en integreren) enz.;
b. gegeneraliseerde programma’s, of ‘standaardpakketten’, d.i. een verzameling programma’s voor een bepaald toepassingsgebied (b.v. voor een salarisadministratie, voor bedrijfsinformatiedoeleinden of voor technische berekeningen van een bepaalde soort) die zeer algemeen is opgezet. Door middel van een speciale taal kan men nu specifieke bewerkingen uit laten voeren. Deze taal is zo eenvoudig dat de gebruiker zelf zijn wensen kan specificeren, zodat van een volledige decentralisatie van de programmering sprake is;
c. conversationele talen, waarmee een gesprek met de computer gevoerd kan worden. Deze zijn vereist bij het gebruik van een ➝man-computersysteem. Bij een dergelijk conversationeel gebruik van de computer is het van belang dat de voortgang van het ‘gesprek’ afhankelijk kan worden gesteld van tussenresultaten. Een volledige scheiding in drie fasen (programmering, vertaling, uitvoering) is dan niet meer mogelijk. [prof.dr.A.A.Verrijn Stuart] .

< >