I call for discussion on the need for guidance packages and tools for
Prism. I consider them to be a necessary part of the overall package,
and absolute requirement for the success of Prism.
Without tools, which would conceptually resemble the GPs found in
SCSF 1 and 2, you have a package of code that needs to be cut and
pasted into applications. This reduces the application programmer to
the level of someone writing a 16-bit SDK application a-la Petzold.
There's so much boiler plate that is the same from one app to
another, or has minor changes such as class names that has to be cut
and pasted. It's much more difficult than other parts of the tools to
which he's accustomed, namely Visual Studio. The app programmer feels
like he has stepped back in time 10 years.
Having good tools is far more necessary in today's development
environment than, for example, the local scoping of regions which we
are discussing today. Think of cars today versus 10 years ago. The
bar has been raised, a lot. You can't sell one without antilock
brakes and side-impact airbags and lots of cupholders. So has the bar
been raised for application frameworks. Users demand tools.
Interfaces and even default implementations are necessary but not
sufficient.
It is great that Ohad and possibly others are working on tools on
Codeplex, but even this is problematic, for two reasons: first,
without official Microsoft tools, application programmers question
Microsoft's commitment to a framework. Yes, as Blaine said, they're
expensive to build, all the more reason for application programmers
to consider that their presence constitutes a commitment (similar to
a diamond engagement ring).
Second, many larger companies are forbidden by their lawyers from
using any sort of open-source code. This is especially pronounced in
any industry that is heavily regulated, such as finance and medicine.
For example, a major accounting firm and a major mutual fund company
that are clients of mine fall into this category. I think you still
want their participation. Ohad, I respect and salute your efforts and
you, and I wish that these segments of the market would share my
view. But they don't, and they're large and influential. Their
lawyers have enough clout to require someone to sue if it breaks, and
you're not bg enough to satisfy them, nor am I. If Microsoft simply
bought the tools that you create and slapped their name on them, that
would solve the problem that these customers have.
Glenn, I understand the difficulties involved in producing tools. And
I see what you mean that it doesn't make sense until you know exactly
what it is that these tools should produce. But I strongly feel that
you should allocate a large-ish block of time, towards shipment time,
to produce tools and make them work. Apart from the most basic
features of the architecture, I consider this the work product that
will contribute most towards acceptance by the application programmer
market.
Sincerely yours,
David S Platt