This might be more of a comment on the state of available tools, than the habits of programmers.<p>While some programmers will have the passion to make great UIs no matter how difficult or tedious the code becomes, a lot will simply find the first thing that gives them the results they need. (In fact, even when their end goal is to make something nice, they may still start with something ugly to make sure that everything else is working.)<p>There's really only two ways to solve that: give them more time to ship and make "great UI" a clear deliverable (that they're paid for), <i>or</i> give them better tools and expect correspondingly-better results in the time originally allotted.<p>Assuming your company isn't producing just one product, it's usually wiser to invest in the programming tools. That way, you pay most of the cost once, during development and perfection of the tools, instead of having every single product pay a penalty as programmers and QA have to correct cosmetic and behavioral imperfections in the UI in 1000 places.<p>Take Interface Builder and Cocoa on Mac OS X. The design of the layout tool, combined with the unapologetic adherence to MVC and KVC design principles in the API, means that interfaces are <i>easier to do elegantly than inelegantly</i>. So it should come as no surprise that the resulting programs, relative to the amount of time spent, tend to be more functional and easier to use compared to equivalents on competing platforms.