Sign In
[Profoundly Esoteric Image]
GarethJ's WebLog - Code generation and abstraction
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Options
Blog Home
Email Blog Author
Share this
RSS for posts
RSS for comments
Search
Advanced search options...
Search In:
Everything
Blogs
Forums
People
Groups
Places
Pages
Date range:
All Time
Last Year
Last 6 Months
Last 3 Months
Last Month
Last Week
Last Two Days
Tags
Built with DSL Tools
Code Generation
Code samples
Community
DSL Tools
Enterprise Development
Fun
Metablog
Modeling
Pages
Razor
Sounding off
SP1
T4
Tech thrills
The real world
UML
Visual Studio
Visual Studio 11 Beta
VSX
Archive
Archives
April 2012
(1)
November 2011
(1)
September 2011
(1)
June 2011
(1)
May 2011
(1)
April 2011
(1)
March 2011
(2)
January 2011
(6)
December 2010
(2)
August 2010
(1)
June 2010
(1)
April 2010
(2)
March 2010
(1)
October 2009
(1)
September 2009
(6)
May 2009
(3)
February 2009
(4)
January 2009
(2)
November 2008
(6)
October 2008
(5)
September 2008
(3)
July 2008
(2)
May 2008
(4)
April 2008
(4)
March 2008
(2)
February 2008
(9)
January 2008
(9)
December 2007
(6)
November 2007
(1)
October 2007
(3)
September 2007
(5)
August 2007
(3)
July 2007
(3)
June 2007
(5)
May 2007
(6)
April 2007
(1)
March 2007
(2)
February 2007
(5)
January 2007
(3)
December 2006
(2)
November 2006
(2)
October 2006
(3)
September 2006
(3)
August 2006
(2)
July 2006
(2)
June 2006
(5)
May 2006
(1)
April 2006
(3)
March 2006
(1)
February 2006
(3)
January 2006
(3)
December 2005
(10)
November 2005
(5)
October 2005
(3)
September 2005
(8)
August 2005
(2)
July 2005
(4)
June 2005
(5)
May 2005
(6)
April 2005
(2)
March 2005
(4)
February 2005
(4)
January 2005
(5)
December 2004
(9)
November 2004
(4)
October 2004
(13)
August 2004
(4)
July 2004
(2)
Custom code junkies beware - DSL Inertia
MSDN Blogs
>
[Profoundly Esoteric Image]
>
Custom code junkies beware - DSL Inertia
Custom code junkies beware - DSL Inertia
GarethJones
4 Apr 2006 11:02 AM
Comments
1
In
his response
to my
last post
,
Steven
said
"Microsoft's focus on IDE integration seems to be leading many of its customers astray. They're jumping straight in to building tight integration with Visual Studio, before they've even had their modeling language used in practice. The 5-10x increase in productivity with DSM does NOT come from IDE integration -- none of the reported cases have had that. It comes from a good modeling language, fitting the needs of describing applications in that domain."
I don't dispute that in the general case, custom IDE tricks won't buy you a lot of extra productivity over and above the big boost I believe you get from having all of your tools in one familiar place with one set of IDE skills to learn. I personally don't believe that most customers will be using 100% DSM for some time so they'll still spend plenty of time in their traditional IDE.
However, imagine for example, one aspect of your DSL called for mapping custom forms to some of its data. I'd hate for your users to lose some of their new-found productivity by having to use some kludgy form designer or worse still some sort of diagram of a form just because Microsoft hasn't gotten around to integrating the VS forms editor into the DSL Tools in V1. Custom code would make it possible to do this job well if you can justify the spend.
Steven also said in a comment on the
AppDevAdvisor blog
many moons ago…
"The important thing in a metaCASE tool is that it should do the "heavy lifting" for you. The whole idea is to obtain a CASE tool without having to program it, and without having to learn all about how to program CASE tools well. The metaCASE tool provider is the expert in programming CASE functionality, so you don't have to be. "
Now I do agree that we in the DSL Tools camp forget this sometimes (or as he says, maybe haven't learned it yet). I'm certainly personally more focussed on the experience of creating a DSL rather than the experience of creating business software using that DSL. My day job is focussed on my customer, not my customer's customer.
There's a definite danger that as a developer one can get caught up in the coolness of all the widgets you can bolt on and the level of smoothness you can achieve in integration.
Jochen
often reminds us that in our game, it is the business value of the generated designer that really matters and by implication that it's not about hardcore devs becoming Visual Studio SDK experts (or even DSL Tools experts). I guess sometimes you might get the opposite impression by reading our
forum
:-)
There's a great post by
Oliver Steele
called "
The IDE Divide
" where he describes language-centric people as essentially not being tied down by the baggage of a lot of rich IDE tooling but also not getting the productivity benefit of that rich tooling. Instead they get their productivity from adoption of new languages.
I think this applies equally to graphical DSLs. Folk who just use the basics of the tooling but focus on upgrading and honing their language regularly will fall into one camp whilst other folk will evolve their language more slowly but add all sorts of tool-productivity features on top.
In the end, I think a lot of it comes down to the cycle of your business.
If you're using DSLs to boost the productivity of project teams generating data access layers in a consulting firm then you probably need to be super-agile and able to make sweeping changes to your DSLs at the drop of a customer scope-change. The inertia of a lot of custom code may actively hold you back.
If you're a shrink-wrap vendor on an yearly release cycle, with the stability that brings, then investing in a lot of extra integration can add massive value to your customers as they use your DSLs. You don’t have to make big changes to the tool itself until the next cycle - most of your agile customization needs will probably come in your code generators which aren't usually coupled tightly to IDE integration.
P.S. Steven - I will try harder not to misunderestimate you in future ;-)
1 Comments
Modeling
,
DSL Tools
Blog - Comment List MSDN TechNet
Comments
Loading...