Programmeerparadigma’s – wat is procedureel programmeren?

Programmeerparadigma’s zijn verschillende stijlen, verschillende “manieren” van programmeren. Er zijn veel verschillende paradigma’s, waaronder een aantal populaire, zoals procedureel programmeren, object-georiënteerd programmeren, functioneel programmeren, enz. En sommige die niet zo populair zijn, zoals imperatief programmeren, declaratief programmeren, event-driven programmeren, enz. Als je nieuwsgierig bent, er is een zeer goede samenvatting van programmeerparadigma’s hier. In deze post zullen we een populaire bespreken, namelijk Procedurele Programmering.

Tl; dr;

Procedurele programmering is een van de meest populaire programmeerparadigma’s die er zijn. Door procedureel programmeren te volgen, splitsen we de code op in kleinere eenheden die functies of procedures worden genoemd, zodat het gemakkelijker te hergebruiken is en de uitvoeringsstroom van boven naar beneden loopt. Deze stijl is gemakkelijk te begrijpen en te implementeren. Daarom wordt deze stijl vaak onderwezen in introductiecursussen in programmeren.

Andere blogposts in deze serie:

Programmeerparadigma’s – is objectgeoriënteerd programmeren beter?

Wat is procedureel programmeren?

Procedureel programmeren is een methode van programmeren die ondersteuning biedt voor het opsplitsen van functionaliteiten in een aantal procedures. Bij procedureel programmeren wordt een groot programma opgesplitst in kleinere hanteerbare delen die procedures of functies worden genoemd. Hierbij wordt prioriteit gegeven aan functies in plaats van aan gegevens. In een procedurele programmeertaal bestaat een programma in wezen uit een reeks instructies die elk de computer vertellen iets te doen, zoals het lezen van invoer van de gebruiker, het uitvoeren van de noodzakelijke berekening, het weergeven van uitvoer.

def add_number(a, b): return a + b# workflow starts here# call function add_number() to add 1 and 2 together and print the result to screenprint(add_number(1, 2))# execute add_number() function 5 times and print the result to screenfor i in range(5): print(add_number(i, 1))# workflow ends here

Wanneer een programma groter wordt, wordt het opgesplitst in kleinere eenheden die procedure of functies worden genoemd. Een aantal functies wordt verondersteld te worden geschreven voor het volbrengen van een specifieke taak. Deze functies staan geen code duplicatie toe door dezelfde functie aan te roepen vanaf meerdere plaatsen. Deze techniek is alleen geschikt voor middelgrote softwaretoepassingen

In procedureel programmeren worden twee soorten gegevens gebruikt: lokale en globale. Gegevens binnen de functie worden lokale gegevens genoemd en de gegevens die niet binnen een functie vallen worden globale gegevens genoemd. Lokale gegevens zijn toegankelijk voor de enige functie waar ze zijn gedeclareerd. Elke functie heeft dus zowel toegang tot de lokale gegevens als tot de globale gegevens.

// this is a global variable$globalVar = 1;function addNumber($a, $b) { // this is a local variable $randomNumber = rand(); return $globalVar + $randomNumber + $a + $b;}

De lokale gegevens van een functie zijn niet toegankelijk voor andere functies. Als gegevens toegankelijk moeten zijn voor twee of meer functies, moeten ze globaal worden gemaakt. Globale gegevens zijn echter kwetsbaar voor een andere programmeur om onbewust te worden gewijzigd. De gescheiden rangschikking van gegevens en functies is een slechte manier om dingen in de echte wereld te modelleren. Daarom modelleert de procedurele programmeerbenadering een systeem in de echte wereld niet perfect.

COBOL, FORTRAN, C, Pascal zijn enkele programmeertalen die procedureel programmeren kunnen implementeren.

Karakteristieken van procedureel programmeren

Een groot programma wordt opgedeeld in kleine hanteerbare procedures of functies. Dit vermindert duplicatie van code, wat de leesbaarheid en onderhoudbaarheid van de code verbetert.

Verschillende functies kunnen gegevens delen via globale variabelen. Functies zijn volledig geïsoleerd, dus als we gegevens willen delen, moeten we deze declareren in het bovenste bereik.

Functies kunnen globale gegevens wijzigen. Aangezien globale gegevens worden overgedragen van functie naar functie; in de loop van de transformatie, kunnen de globale gegevens worden gewijzigd in functie ketens.

Top-down methodologie. Zoals eerder vermeld, procedurele programmering volgt de top-down methodologie, workflow is het gaan van boven naar beneden.

Voordelen van procedurele programmering

  • De codering is gemakkelijk en eenvoudig.
  • De codes hebben de mogelijkheid om te worden hergebruikt in verschillende delen van het programma.
  • Het programmeerparadigma verbruikt minder geheugen op de computer.
  • Het is gemakkelijker voor het bijhouden van de stroom van de codes in het programma geschreven in de procedurele programmering paradigma.
  • Het programmering paradigma wordt beschouwd als de beste voor algemene programmering te leren en te implementeren.

Limitaties of nadelen van procedurele programmering

  • Focus op functies in plaats van gegevens.
  • In grote programma’s is het moeilijk vast te stellen waar globale gegevens thuishoren.
  • Het gebruik van globale gegevens is foutgevoelig en het kan een obstakel vormen bij onderhoud en verbeteringen.
  • De wijziging van globale gegevens vereist de wijziging van de functies die er gebruik van maken.
  • Het onderhouden en verbeteren van programmacode is nog steeds moeilijk vanwege globale gegevens.
  • Het procedurele programmeerparadigma modelleert het werkelijke probleem niet erg goed, omdat functies actie-georiënteerd zijn en niet echt overeenkomen met de elementen van het probleem.

Samenvatting

Procedurele programmering biedt zeker veel voordelen, een daarvan zijn gemakkelijk te leren en te implementeren. Nieuwe programmeurs kunnen hun reis beginnen door te leren hoe ze code in procedurele stijl moeten schrijven. Dat zal hen helpen begrijpen hoe bepaalde programmeertaal werkt.

Hoewel, wegens zijn beperking, echte wereldtoepassingen geen gebruik maken van procedureel programmeren. Daarom zullen studenten moeten leren andere paradigma’s om te worden blootgesteld aan echte problemen.

Dank u voor het lezen. U kunt bladeren meer berichten over technologie hier.

Door Tuan Nguyen

Post Views: 7,558

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.