Thread safe is for acedemics? Come on, if you screw up syncing the threads, your best senario is application crashed, the worse is it keeps running but the numbers are all wrong, and the worst case is it updates back to database for months until accounting auditor comes and realize something is not right. The mess is extrememly scary.

 

You miss the point he was making. While it's all well-and-good that WPF is somehow 'inherently' thread-safe, it has a downside of actually making it harder to get stuff done right (and so potentially makes the consequences worse as you have even more complicated code to wade through). So whilst having a "safe" system is interesting from an academic perpsective (think: Haskell-types) little attention has been paid towards it practical uses and 'programmer usability'.

To paraphrase an old saying: "WinForms makes it easy to shoot yourself in the foot. WPF makes it harder, but when you do you blow your head off instead."

 

A proper bigger project should be styleless built-in and user controlls. And finally completely change the skin by art designers using Expression.

Now you miss the point I've been making: only a tiny, tiny minority of code shops have actual designers. Those that do are probably making consumer-facing products that wouldn't use WPF anyway. WPF's greatest advantage is the databinding support, which is largely used for internal applications, which have historically always had their UIs designed by the people who're writing the code for it. This isn't like web-work where an internal IT department would have a dedicated "HTML guy" who is separate from their "ASP code guy". Clearly Microsoft wanted to see this pattern being used for desktop apps, but they're mistaken.

Also it's hard to develop good looking controls for WPF, even less so to make properly "style-less" controls. Things were so much simpler even a few years ago where all you had to do was immediate-mode graphics for shapes, and the System Colors and Visual Styles APIs for UI components. You didn't have to think for yourself to get good results.

There's a reason why Mac OS X only has one style, and I don't understand why Windows 7 ostensibly supports other visual styles even though Microsft would never release anything besides Aero for fear of breaking all the poorly-developed applications that make that assumption *COUGH* Microsoft Office.