A programming language can be called as structured language if there is compartmentalization of code and data.1
Example: C
Block strucured lanuage permit procedures or functions to be declared inside other functions or procedures.1
Example: ALGOL
, Pascal
, Javascript
and Swift
“Reflection in computing is the ability of a program to examine its own structure, particularly through types; it’s a form of metaprogramming."[1]
Languages support reflection (not a exaustive list)