Albert Wagner wrote:
> I have never written such a program

I have. Using OpenUI, you can first define the content of a set of messages
that will be sent between the application and the GUI, then you can code
either or both independently. An anecdote, but first, I must point out that
I'm not spruiking for a product - you can't buy this product any more.

A customer had a team of eight Oracle programmers in Sydney, and a team of
UI programmers in Melbourne whose only experience with OpenUI was the
three-day training course. We got one developer from each team to meet with
one of our blokes for two days and they agreed a set of messages between
the presentation (UI in OpenUI) and semantic (C + Oracle) layers. The tech
leads returned to their teams, and spent three months developing the
application, testing the two parts separately against stubs. When the time
came to glue the two together, the GUI was emailed up to Sydney on the Friday,
and we had our bloke booked on a plane to fly up on the Monday afternoon
and spend three weeks making it work. The Sydney crowd phoned at 11AM
Monday to say "Don't come, it's already working". Even we were blown away.
40,000 lines of C and Oracle application worked first time against a GUI
of forty windows.

You *can* do presentation-semantic independent application design if you
have the right tools. However... call-back-driven widget sets prevent most
people from ever discovering this. You need procedural logic on both sides
of the split, but you need a layer that makes the location of the split
highly evident - the messaging layer did this.

--
Clifford Heath