Re: You said “command line”
The Unix shell was conceived as a means of separating the low-level OS user interface from the kernel. As the only option at the time was a character-based interface using teletypes it was implemented as commands issued as lines of text, hence a command line.
Because os the layered nature of Unix it was possible to replace one shell with another so although you might be thinking of the Bourne shell or, possibly more likely, bash there were many others, ksh and csh being a couple I've used. Although, as you say, they have become programmable (and also implement some commands as built-ins) the essence has always been invoking other programs and providing parameters to them. If one wanted to be unkind (which I wouldn't) it would even be possible to describe that programmability as bloat.
With the arrival of GUIs we new have GUI-based shells. But if it's a text based shell interpreting lines of text as commands, then it's a command-line shell. What else could it be?