In the same vein as this question about conditionals, I am interested in the first time a language provided functionality we assume as a given for modern programming languages. The question is when a programming language fully embraced structured programming by providing all 4 control structures (sequence, selection, iteration & recursion).
Now, "sequence" seems like a given, but selection, iteration & recursion also need to be provided. As far as I can see that means
- conditional keywords (e.g.
if...then
) - loop keywords (
while
,for
etc.) - functions which are able to call themselves
For the keywords, they should be dedicated keywords for the purpose mentioned here, opposed to "things that can also be used that way".
When was a programmer first able to make use of all 4 control structures in a language?