# WinAPI vs WinForms vs WPF

**URL:** <https://boards.straightdope.com/t/winapi-vs-winforms-vs-wpf/643799>\
**Category:** Miscellaneous and Personal Stuff I Must Share\
**Created:** [December 12, 2012, 5:24am UTC](https://boards.straightdope.com/t/winapi-vs-winforms-vs-wpf/643799 "2012-12-12T05:24:22Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Terr](https://avatars.discourse-cdn.com/v4/letter/t/839c29/32.png) [@Terr](https://boards.straightdope.com/u/Terr)\
**Post date:** [December 12, 2012, 5:24am UTC](https://boards.straightdope.com/t/winapi-vs-winforms-vs-wpf/643799/1 "2012-12-12T05:24:22Z")

</div>

This is a simple WinAPI control:

[![](https://pamsletsgetdowntobusiness.files.wordpress.com/2008/11/horn8001.jpg?w=192&h=130) ](https://pamsletsgetdowntobusiness.files.wordpress.com/2008/11/horn8001.jpg?w=192&h=130)

This is the same control in C# WinForms:

[http://www.personal.psu.edu/jas5333/images/trumpet\_stock.jpg](http://www.personal.psu.edu/jas5333/images/trumpet_stock.jpg)

This is the same control in C# WPF:

[http://www.egomusic.biz/images/intelli/French-Horn.jpg](http://www.egomusic.biz/images/intelli/French-Horn.jpg)

I guess I am getting old.

---

<div class="post-metadata">

**Author:** ![TimeWinder](https://avatars.discourse-cdn.com/v4/letter/t/bcef8e/32.png) [@TimeWinder](https://boards.straightdope.com/u/TimeWinder)\
**Post date:** [December 12, 2012, 5:28am UTC](https://boards.straightdope.com/t/winapi-vs-winforms-vs-wpf/643799/2 "2012-12-12T05:28:05Z")

</div>

Could you perhaps clarify what you’re trying to say?

---

<div class="post-metadata">

**Author:** ![Terr](https://avatars.discourse-cdn.com/v4/letter/t/839c29/32.png) [@Terr](https://boards.straightdope.com/u/Terr)\
**Post date:** [December 12, 2012, 5:30am UTC](https://boards.straightdope.com/t/winapi-vs-winforms-vs-wpf/643799/3 "2012-12-12T05:30:20Z")

</div>

> [@TimeWinder](#):
>
> Could you perhaps clarify what you’re trying to say?

I’ve been programming since 1977, and professionally programming since 1982. And WPF is still stumping me constantly any time I need to seriously customize something. Either it is a pile of unnecessarily complex crap, or I am getting too old. Just wanted to vent.

---

<div class="post-metadata">

**Author:** ![TimeWinder](https://avatars.discourse-cdn.com/v4/letter/t/bcef8e/32.png) [@TimeWinder](https://boards.straightdope.com/u/TimeWinder)\
**Post date:** [December 12, 2012, 5:33am UTC](https://boards.straightdope.com/t/winapi-vs-winforms-vs-wpf/643799/4 "2012-12-12T05:33:46Z")

</div>

Well, if it’s any consolation, it’s obsolete now, too. Today’s flavor of the day is WinRT. (Still XAML, though).

You’re welcome.

---

<div class="post-metadata">

**Author:** ![BigT](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/bigt/32/12044_2.png) [@BigT](https://boards.straightdope.com/u/BigT)\
**Post date:** [December 15, 2012, 5:44am UTC](https://boards.straightdope.com/t/winapi-vs-winforms-vs-wpf/643799/5 "2012-12-15T05:44:04Z")

</div>

> [@TimeWinder](#):
>
> Well, if it’s any consolation, it’s obsolete now, too. Today’s flavor of the day is WinRT. (Still XAML, though).
> 
> You’re welcome.

Unless Microsoft also adapts that to desktop, there’s no way that’s going to last. I may have grown to like Windows 8, but too many people absolutely hate it. And even I spend most of my time in Desktop.

No serious programmer is going to make software that only runs on an unpopular operating system. Heck, most developers still support XP, which gives instant support for all later Windows versions.

---

<div class="post-metadata">

**Author:** ![Khadaji](https://avatars.discourse-cdn.com/v4/letter/k/9e8a1a/32.png) [@Khadaji](https://boards.straightdope.com/u/Khadaji)\
**Post date:** [December 15, 2012, 3:10pm UTC](https://boards.straightdope.com/t/winapi-vs-winforms-vs-wpf/643799/6 "2012-12-15T15:10:31Z")

</div>

> [@Terr](#):
>
> I’ve been programming since 1977, and professionally programming since 1982. And WPF is still stumping me constantly any time I need to seriously customize something. Either it is a pile of unnecessarily complex crap, or I am getting too old. Just wanted to vent.

It took me way longer to come up to speed with WPF than I am comfortable admitting. (Primarily because I’m a little too full of myself and figured that I had enough experience that I could pick it up just by tinkering with it.)

After I broke down and actually typed in all the examples from the books, I really fell in love with it. It is very powerful.

But the learning curve is a bitch.

---

<div class="post-metadata">

**Author:** ![Kinthalis](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/kinthalis/32/16084_2.png) [@Kinthalis](https://boards.straightdope.com/u/Kinthalis)\
**Post date:** [December 15, 2012, 6:08pm UTC](https://boards.straightdope.com/t/winapi-vs-winforms-vs-wpf/643799/7 "2012-12-15T18:08:34Z")

</div>

Data binding is my bitch.

That is all.
