For anyone suggesting VB, or Visual C#, or any of the other "Click to build the framework then fill in the back end", this is the worst possible thing an actual beginning programmer should be looking into.
I would assume from the OP that we're talking about people with no programming background. Taking someone like that, giving them a button to click to generate a UI, then having them fill in the blanks is #fail. They don't already know how to program. It would be like asking someone to complete a puzzle, in a dark room, where they don't know what shape the blanks are in the puzzle, or what colors they should be, or even where the front or the back is.
Interface builders are nice for people that already know how to program, because while creating UI's is tedious, it's also about the 10th thing to be done when building a program. People who have been programming for years can work backwards (Yes, UI to logic is backwards in all cases except for programmers-who-specifically-design-UIs, but that's not what we're talking about here) from the UI to the underlying program logic and the flows between UI elements, but someone new shouldn't be developing in this direction. They should be understanding how the logic behind the program works, in many different variations, before they go putting a pretty button in front of that logic to show the result in pretty graphical ways via some rendering library call..
BASIC, Lisp, Perl, Python, Java (not javaw or AWT), all are useful for the basic understanding of what a program is, what control and input and output logic is. As people have mentioned, Python and Java both have graphical toolkit extensions that can eventually extend your development to pretty pictures and not input/logic/output. If you really want some sort of "visual" developer to put in front of this person, go look into some of the "Blocks" development tools, like Google AppInventor, for example. These use interfaces analogous to puzzle pieces to represent the code in the application, and you can drag and drop inputs and outputs to hook into control statements to do things - sorta like the virtual programming equivalent of everyone's favorite Radio Shack 160-in-1 Electronics kit.
For the love of god, though - don't "teach" someone to program by putting them in front of a framework generator and having them "go at it".