Pierre Gilbert's Thoughts

As contributed to the Dyalog Forum on 6 October 2014

1. If you are developing an application for the large public than you have no choice of using WPF because your competitors will use it and you can't expect to sell your application with battleship grey buttons.

2. If you develop an application that will be used internally for your company you can use WPF or ⎕WC, your choice.

3. If you develop an application for a specialized audience (accountants, etc.) and all your competitors are using battleship grey buttons than you can do the same until one of them uses WPF and you start loosing market share slowly.

4. For our part we wanted to make our GUI scalable and have nice vector graphics since our customers are buying huge monitor now and our application was a fix 800x600 pixels.

5. One can do a lot with some 3rd party controls that are ocx without going with WPF. But we decided to go WPF because we can use a program like MS Expression Blend to design our GUI. To design our base application with ⎕WI we took 11 months for the GUI and 1 month for the calculation in APL.

6. So the bottle neck is with the design of the GUI and WPF is addressing that with it's tools like MS Expression Blend (part of Visual Studio now). So the basic idea is good, but I must say you have to read so much and practice so much that at the end you take 11 months to do the same but with WPF. The difference will be the second time you will have learned the tools and it will be very fast to design the GUI.

7. Overall we are happy with WPF, we like the separation between the Business Code (APL) and the GUI code in XAML. If you are not going WPF you should at least write your new APL code so you separate the part for the GUI from the Business Code. That way you could go WPF easily later if you change your mind.

8. The thing we like the most from APL is the Workspace. To be able to inspect the variables and functions at the same time that the workspace is running is formidable and unknown to the compiled language world.

9. If there was a Xaml editor included with Dyalog APL we would not have this discussion about the benefits of WPF. All the APLers are reticent to quit the comfort zone of their Workspace and learn something like Visual Studio to do their GUI (myself the first). I must say that Dyalog has done an excellent job with ⎕WC and most APLer will say why change when its working fine ? And they are correct.

10. Personally we spent a lot of time at the beginning to develop the tools we needed to be productive using WPF with APL (and we learned WPF at the same time). But it would be nice for a beginner to have those tools already available to get productive more rapidly (and have some examples of functions using WPF at the same time).

11. Just to mention it, between WPF and Win32 there was 'Windows Form' that has no Xaml and was extremely popular (and still is). It is possible to do quite nice things with Windows Form but we decided to go WPF because Windows Form is the most part cover functions of Win32 (like ⎕WC is doing).