Like object-oriented, but more limited. These are small limited languages for executing different programs.
Shells usually have if and for statements but no data types or data structures.
The goal is automatic programming, however the problem is that we cannot program a general problem solver with the current technology. Prolog is an example language that uses exhaustive search and backtracking to find all solutions that satisfy all the constraints. This is an expensive constraint-satisfaction mechanism and still does not work for all problems. They are often embedded systems in large machines such as cars, airplanes, trains, missiles, space-craft, etc. These programs must respond at the right time.