Monday, February 11, 2008

D is the new C?

Mary J Foley at ZDNet recently announced Microsoft's plans for a new programming language 'D' that will be a key component to Microsoft's Olso technology strategy. She writes:
D will be a declarative language aimed at non-developers, and will be based on eXtensible Application Markup Language (XAML), sources, who asked not to be named, said.
I cringe when I hear about solutions for difficult problems being targeted at those who do not understand the inherent complexities. Why should non-developers be tasked to build an SOA application in the first place. Well from 30,000 feet this sounds like a great idea, "lets empower the people who understand the business to deliver the technology that with run the business".

There are no shortage of frameworks/platforms that take this approach. BEA's AquaLogic ESB is (was?) targeted at the Business Analyst. The Same for CapeClear, who tried to build an ESB on top of BPEL since the business should be viewed as a set of processes.

You learn fairly quickly that this theory does not play into practice since business processes and technology do not map well with each other. No matter how well defined the business processes are or how brilliant the software is you need good developers in between to drive a solid architecture, write software and configure things.

The other issues with these abstracted environments for non-developers is that you almost always need to change some behavioural or functional aspect of the generated code so suit your application environment. For many point n' click tools this is often difficult and sometimes impossible, but invariably will require a real developer to figure out.

I think initiatives such as Microsoft's 'D' do have a lot of value. While I doubt they will define the one-size-fits-all service language (it's based on XAML after all, yuk), there will be some great new ideas in there that can be re-used and improved on other platforms. I'll be watching them.


Neil Ellis said...

Well said Ross, the same idea was behind the revival of MDA of late and of many of the old-school 4th Gen languages. To me it's kind of like saying: 'here's a kit for making an aeroplane that anyone can put together'! Sure sounds great, would you fly in an aeroplane that you built ;-) Some things just can't be made non-technical easily.

Ross Mason said...

That reminds me of when I was 14 I did 2 weeks work experience in a parachute factory. My second week I was given the job of stitching the harnesses. I remember thinking then that I would never use a 'Harley Chute' just in case I was a victim of my own unskilled labour.

Paul R Brown said...

Of course, there is already a language called "D" out there...

stu said...

BEA's AquaLogic ESB is (was?) targeted at the Business Analyst.

*cough* *choke* wheeze.... no way. Well, it's not really a "developer's tool" either.... though 3.0 has an Eclipse IDE version

It's sorta in-between IT management software and a scripting language environment. a business analyst isn't going to write Xquery :)

Ross Mason said...

Hey Stu, fair enough. This maybe an issue of nomenclature, but AquaLogic has been positioned as the ESB for 'non-developers' who understand the business. My comment is that you simply cannot claim to divorce developers from the complex task of building an SOA.