Believe the way it is is the most natural way. At least for people reading left-to-right, top-to-bottom.
A terminal can be viewed as an eternal book / log. It could of course be arranged in reverse, but that would cause some issues. One is that one often work with streams. One would also need to constantly re-arrange the buffer / view.
One problem with multi-line output would be that the end of output could be below the view, thus after a command one would have to scroll down to see. One could of course argue the opposite - that now one have to scroll to see the top, but believe one on average are more interested in last output.
Focus is at bottom because that is where last action is / was.
With command line at top, one would also constantly need to shift focus from top to bottom. Say you do tail -n 10 some_file. You would read the 10 lines, then shift focus back to top.
A command printing information in intervals. How should one do this? Print - read that section. Move focus up, read down to where previous print started, move focus up, repeat.
Believe that would be more prone for missing things then reading top-to-bottom.
Or say one do a command that results in 10k lines. Should one scroll down to view end result? Or say you compile a program. How should the output be arranged?
One have programs that utilize static "comand line", for example terminal IRC clients (irssi, weechat, ...). Here one (typically) have command line at bottom, and log top-to-bottom above that.
In effect a terminal is the same when it screen is filled, though one are not limited by the height of a input line.
The way it is is
- the simplest way by far (implementation wise),
- for most (I believe) the most natural way to read information.
For example, why not have the cursor settle at the top to reduce downward neck craning?- how would you see output of commands in this case?termcapfacility exists in UNIX today.