First programs I made, were using Turbo Pascal 5.5. Console output, even when I tried to code some GUI support. The same think happend with assenbly, C and C++.
At some point C++ mixed with Borland/MS support for windows promised the desktop era, but code was a mess; to much libraries, to many techniques, to many considerations about pointers just to show a window or a widget.
In Smalltalk everything changed; the UI was part of the enviroment, but anything you want to do was restricted to that microcosmos.
At some point I met with VB and 4GL. The UI paradigm changed radicaly; less useless efforts trying to fix and understand technical issues.
And then, Java appeared. And console was great; UI applications need some IDE support, and web...well it was HTML mixed in the output methods.
Now some proposals promise to save the day, but Javascript is too messy, and ActionsScript seems to be splited between designers and programmers; even server side solutions like PHP, Asp.NET or Ruby still need to consider to many details in order to make development easier.
But it seems that things are about to change.