Michael Latta on Declarative vs. Imperative
Micheal Latta has an iteresting post "Declarative vs. Imperative". In it he compares the approach of Xaml for UI and Ruby for Rails for UI.
In the end, it seems like the thing he enjoys with Ruby is the ability to stay in one language:
You can make [treeviews] you anticipated in the XAML visible, but not create new ones. For that you need imperative code. In WPF this is C#. You need to change to a different language. In Ruby you stay in the same language for all cases, and you can place any of those operations in the system at any time. The program is not cast in stone the minute the class is loaded into the AppDomain as in the CLR. You do not need to use some arcane code generation API to create run-time dynamic logic.
If you spend time working with people on WPF, you’ll often hear the "how can I do this in Xaml" question. Perhaps it is the draw to one language?
Xaml has shown strength in tooling…we already have many tools (designers and file format converters) for Xaml for UI. I’m not sure how this compares to imperative approaches. I understand how it compares to Windows Forms, but not Ruby. How does programming in teams, using visual designers, etc… affect this picture?