Both, neither, the code is displayed as text but it is automatically converted between to/from dialogs
You will notice that the program in the background is displayed in a traditional manner.
This removes any "culture shock" for those who decide to move on to other languages. However Initial Programming Language automatically converts between this format and the dialog boxes whenever you edit an instruction.
Even after programming for a long time error messages can be confusing, by using dialogs it is easier to locate exactly what is wrong and where and explain it to the user.
Modern languages such as C++ error messages, well...... It's true; aGetWindowText() is not a member of CEdit, but what do I do next?
Old fashioned BASIC often wasn't that helpful either if you were learning by yourself "Syntax error at line 10" doesn't help when you typed an oh (O) rather than a zero (0).
Surely dialogs are very slow to use?
If you use a modern environment like Visual Studio and are really familiar with a programming language that supports something like Intellisense then it is faster to be able to type exactly what you want.
However once you get used to the dialog approach and use the keyboard rather than the mouse the difference is acceptably small, well worth the price of not getting complex error messages.
Having said that there is a time to move on to Java, VB/C# or C/C++, if you are really interested in programming then you will hit the limits of IPL. But you probably won't realise what a good start that IPL gave you.
Although I wrote IPL quite a while ago I have avoided the temptation to add features to it, avoiding the
improved latest version that changes it completely and makes it worse.