These guys are awesome and I feel kind of bad to say this, but it's the perferction of a failed idea. I've been trying these kinds of GUI builders for almost 20 years, starting with VB and PowerBuilder, and I always ended up not actually using them. The usual criticism is that they generate awful code, but that's not necessarily the case. The problem is really that these tools ask you to keep clicking on lots of litt…
You've got some good points, but Interface Builder (and I imagine Atlas) departs fundamentally from VB and PowerBuilder in that the code doesn't live directly behind the GUI elements. Instead, it's connected by a series of inlets and outlets that are designed to allow for reusability and model-view-controller disconnect. You can also define UI things in code in Cappuccino (as well as Obj-C). IB is optional with Obj-C…
There are a few fundamental requirements for a language to allow for powerful abstractions. I think self-referentiality and closure (in the maths sense not in the CS sense: http://en.wikipedia.org/wiki/Closure_(mathematics) ) are among those requirements.
GUI tools are ages behind what today's programming languages can do in terms of abstraction. So I don't see why it should be a good idea to limit the expressiveness of my toolset by inserting static blobs or nibs of visual somethings everywhere.
To make it perfectly clear: I want to be able to insert a function in place of any static structure, anywhere! I don't want barriers that make this process more difficult. And that's what GUI builders do.
You say I can define UI things in code as well. Great, I'll gladly take that offer, thank you very much ;-)