|
Sponsored Links
Resources
.NET Research Library
Get .NET related white papers, case studies and webcasts
|
News
News
News
|
Messages: 13
Messages: 13
Messages: 13
Printer friendly
Printer friendly
Printer friendly
Post reply
Post reply
Post reply
XML
XML
XML
|
 |
Tools For Domain Specific Languages Technology Preview
Microsoft has released a Technology Preview of their visual tools for building Domain Specific Languages. The DSL Concepts Editor is a visual tool that plugs into Visual Studio 2005 and allows you to describe the concepts within a problem domain for later use in a domain specific tool. For example, if you need a business process modeling tool, this editor allows you to describe the concepts specific to the way you like to model your business processes. If you are building a statechart tool, you can describe what a state is, the properties a state has, what kinds of states exist, how transitions between states are defined, etc. Of course, the notion of a statechart used to describe the status of contracts in an insurance company and the notion of a statechart used to describe user interaction amongst pages on a website are similar, but different. With the ‘DSL Concepts Editor’ you can specify exactly the definition of statechart concepts you need in your tool. Download the DSL Technology Preview here.
|
|
Message #145947
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
I have been using the DSL non-stop since I got my Hands on It
Since I was first briefed on this by Microsoft, anxiously awaited the build, and now have been using this for what seems like weeks, I am convinced that this is it.
A Silver Bullet? No. This will bring a different set of challenges, but economically they will be far less daunting then what we face today. I believe the next 12-24 months is the time for mass adoption of 'Software Factories' and ‘Software Product Lines’ in corporate America and abroad. It will fundamentally help fix an industry that is in incredibly bad shape (which you should know if you read any studies about our industry – We are a sick horse that in many companies has been shot ala outsourced to countries that do not even know what a bank account is). There are other products out there doing ‘Model Driven Development’, but there is nothing even close to this. I think my friends at Sparx are doing amazing things with their flagship Sparx EA Corporate Edition in Australia. However this is something different.
Microsoft Research perhaps is behind some of the innovations here (as the incredible book 'Software Factories' by Wiley - ISBN: 0471202843 shows).
The fact that 4 Microsoft Senior people wrote this, yet the intro is by John Crupi! (of SUN!) should tell you this is not a game.
It is authored by 4 incredible talents:
Jack Greenfield: Key Contributor to VS Team Edition and much, much more.
Keith Short: Another key Enterprise player for Microsoft Team Edition (both he and Jack are in Redmond).
Steve Cook: Coming out of a massive UML contributor role, he is in Canterbury, UK.
Stuart Ken: MAJOR UML expert and Program Manager for CS Team Edition.
Why am I taking my time to write this? Because I am strategically devoting a hell of a lot to this effort because it is it makes business sense, I enjoy working with it as a developer, and it works. My clients want it (yet many do not know how to ask for it yet), and my developers even want it. And I know we need it.
I have a book on our fundamentally improved (in terms of Agile family processes) Process coming out Q1 2005. What many people don't see is this is the logical step POST AGILE. If you have read the fantastic work of the Poppendiecks, and you are smart (and if you are on this site you almost certainly are), then you could make the connection. Not to spoil one of the major themes of my book (which is Technology Agnostic) but Software Factories are the ‘post agile’ place we will be if all works out well.
Think of how many people REALLY know Design Patterns for example? Unless you are in a software company, probably not many. As I always say (and it is totally true) : I can only hire 1 in 100 mostly because developers want ‘code and fix’ and will not devote any study time. It’s like ‘Hey I’m done with college, I don’t need to study’ I can only suppose. Now there are many INCREDIBLE people but I just don’t see all that many, and when I do I hire them . Even the most basic .NET questions are met with long silences like ‘what is boxing!’.
Think of component technology taken to a much higher level of power and abstraction, customized for YOUR needs, and then turned into a modeling environment that will generate implementations. I come from over 15 years of professional experience. I used the I.E.F. tool from Texas Instruments for example, and believed in I-Case in 1989. Now in 2004 we have possibly arrived to at least the generation of an implementation or simply one version of a collection of assets from a model. The best example (that is not even close to the power of this post is describing) is what my company is doing with SharePoint 2003. We are building hundreds of WebParts (and using the hundreds of external parts) to let SALES AND MARKETING decide how to package an application for the Financial Services vertical we are so involved in here in Manhattan.
Here is the analogy. The decision is made to pick say 40 ‘Web Parts’ and package them and brand them for the ‘Hedge Fund Industry’. Perhaps the decision is made that we need 5 new ‘Web Parts’ to make this happen. However this is mostly an assembly job (sound familiar?). So developers just think about a whole bunch of Web Parts. The product line managers are the assemblers now, not the old metaphor of ‘Component Builders and Assemblers’ as developers. The ‘Assemblers’ are non-technical. And a GRID component is not exactly a functional Application on its own so this is way beyond component technology.
Software Offering = A manifestation of the assembly of Software Assets, Customized to the domain
The Web Parts = Software Assets
Product Line = A series of Software Offering all made up of the core set of assets, differing by target market, and even individual customer. Customization, or Rapid Manufacturing (instead of Rapid Application Development) will complete shift the economics of software.
Are you with me at all here? Please email and tell me why you think this will not work if not. I’d love to know actually. I understand the human and political aspects but I also understand the economic and global competitive aspects. We live through cycles (I did Monolithic App, 2-Tier Client Server with stored procedures as the business & data tier, 3-Tier - where no business logic was put (or very little) in the database (where we still are today), N-Tier and now SOA N-Tier and beyond with all the WS- standards and what Indigo will bring).
The other dimension is process, where of course Structured Techniques, RAD, Information Engineering, early OO Innovators (Booch, Rumbaugh, etc.) , UML and the 3-Amigos / RUP, and now SCRUM, XP and agilefactor (the latest evolution we are releasing which is the next step in Agile and a step closer to Software Factories), and where we will go in process. Agilefactor addresses many of the issues people have addresses and is a process that is Agile to the core, yet can pass an audit and compliance group’s scrutiny. Here is a common misconception I believe said with great clarity by Gordon Bell (with Microsoft Research now) - http://research.microsoft.com/~gbell/ in this snippet from his book “HIGH-TECH VENTURES : THE GUIDE FOR ENTREPRENEURIAL SUCCESS” : from 1991! “Because nearly all software products are developed by a method that is subject to process control and quality standards, the Japanese appear to generate software that is a factor of 10 better in terms of quality, as measured in defects per thousands of lines of code, and at a productivity rate that is a factor of 2 to 3 times higher, as measured in thousands of lines of code per person per day. This development environment is often called a software factory, and as with any U.S. factory, no one wants to work in on ~ certainly not America’s creative software engineers.” This has turned out to not be true, as much as I respect Gordon Bell and his amazing achievements (that are still coming). Now it is 2004 and his prediction has not come true, as others have experienced liked Ed Yourdon in the ‘Decline and Fall’ book (later reversed in the ‘Rise and Resurrection”. Factories are nothing new as you can see.. Many were ahead of their time a decade ago. Now is the time and Microsoft appears to be the vendor that will make this real. Time will tell. But .NET is now multi-platform (BSD Unix, Linux, etc. as well as an international ECMA Standard).
For example:
ECMA C# - http://www.ecma-international.org/publications/standards/Ecma-334.htm
ECMA CLI - http://www.ecma-international.org/publications/standards/Ecma-335.htm
The 2.0 version is around the corner as is VS.2005 Team Edition with DSL technology. Game On!
Damon Carr, CEO & Chief Technologist agilefactor www.agilefactor.com
P.S. For a MUCH more detailed treatment of these topics I will soon have a WIKI devoted to this technology. If you are interested please sign up for our newsletter here:
http://lb.bcentral.com/ex/manage/subscriberprefs.aspx?customerid=50925
|
|
Message #145980
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Careful of your own excitement.
for things may not be what they seem..
Ecma-335 (Common Language Infrastructure) describes the result of taking up a collection of most programming concepts and datatypes and integrating them in a non-conflicting manner. Then boiling it down into a common language/bytecode for which a runtime engine would process and execute the code. This allows any programming language code to be translated into compatable bytecode to run on such a runtime engine.
anybody could have done this summary of programming languages, cooking up the bytecode common, runtime engine, etc..
Being it was Microsoft, only shows again that they are able to take the works of others (many others in this case) and integrate these works into a package to market. Often with the insinuation of their innovation of the work, rather than a more honest "integration" of the works.
MS is a marketing company first and formost. They are a third party integrator second. Even in the early beginning of MS, it was Bills port of BASIC and then the selling to IBM an OS they didn't yet own (and likely wouldn't have pursued obtaining had they not sold it to IBM). I doubt innovation comes in at third or even forth as those positions might be filled with legal departments and licensing.
Certainly the "Software Factories" is nothing new nor innovated by MS.
Software is a tool that allows control over some hardware, be it a monitor screen, input device, printer, etc...
Software is abstract and sets between the concrete user and the concrete hardware, its translation control of input -> translation -> output.
Software development deals with creating the abstract with abstraction, as does the total scope of the software factory concept.
This is NOT unlike the dotcom bubble and its deflation. A build up of hype (abstraction) going nowhere is something to be careful of. Meaning real innovation is very capable of causing a deflation of the software factory ideal.
FOSS (Free Open Source Software) was born out of a desire for freedom in creating such abstract control over hardware. And applying this desire to the software factory ideal will lead to such systems by which the typical end user will be able to create what they want/need, perhaps thru describing to the system what they want and letting the system generate the application, but on a free basis rather than a fee basis.
To put FOSS and commercial proprietary software in a difference equasion, the result will be "distortion for excessive profit". That is the distortion of what is honestly actually possible to do, via the creation of false constraints, in order to extract values such as money, ideas, testing/feedback from others.
As a matter of physics and nature and the continual increasing rate of our advancement, these such distortions will, if not already, become obvious in contributing to the hinderance of advancement, and be dismissed.
The question here is: How to convert from an economically based injection of distortion to the mode of honesty that allows for far faster advancement?
The battle ground front line is of course on the software patents, right or wrong, issue.
Do we advance faster, so we all get to each experience more wonders in our short life span (perhaps even lengthening our life span) or do we sacrifice it for the excessive benefit of the few? The arguement is of course that of the need to finance R&D vs. Free access and use of what is developed.
Domain Specific Language is what this thread is about.... So I'd say it's refering to all of us. But in what way? slave of anothers way of thinking or master over our own personal way of thinking? Abstraction is a reflection of those who create it and the constraints of those who use it. Though there is a positive in having standards.
Maybe the individual is not the overbearing marketing force of MS, but maybe the individual doesn't need to be. Maybe all that is needed is a common understanding of Abstraction Physics and the non-patentable and free tool set to apply it via computers.
Who better to be the force behind the the creation of a domain specific application or language for the creation of domain specific applications, then those who are actually doing such domain specific tasks? Many of such individuals are not, nor have ever studied software programming, nor should they have to, but only understand Abstraction Physics as they would in only needing to understand the hindu-arabic decimal system and basic mathmatical symbols (add, substract, multiply, divide, etc..) to do math beyond roman numeral limitations.
|
|
Message #146008
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Appreciating all opinions, let me humbly point out some facts.
Tim,
I can see you are a man of interesting, and non-traditional thinking and have writen this post with a passion. Unfortunately your passion is based on an emotional rather then logical foundation. Try to set asside your anti-Microsoft bias and your open-source dogma for a moment and be a person who thrives on the logic of truth using the scientific method and does not cloud his judgement with arguments that are not based on evidence and economic reality (and factual reality). If you forget that it is Microsoft and pretend it is 'New Company X' you would never write such a post perhaps. Frankly I feel qualified as a 15 year technoogy professional to say this is one damn strange set of words you strung together (althogh I am not in the least unfamiliar with these arguments you have offered us like so many other zealots.
***********************************
"Careful of your own excitement. Posted by: Tim Rue on November 13, 2004 in response to Message #145947 0 replies in this thread for things may not be what they seem.."
"Ecma-335 (Common Language Infrastructure) describes the result of taking up a collection of most programming concepts and datatypes and integrating them in a non-conflicting manner. Then boiling it down into a common language/bytecode for which a runtime engine would process and execute the code. This allows any programming language code to be translated into compatable bytecode to run on such a runtime engine."
This is off topic and not what the DSL is about (the topic of the thread?) And who do you think finally got Ecma-335 pushed throgh with a lot of help?
"anybody could have done this summary of programming languages, cooking up the bytecode common, runtime engine, etc.."
Really? Why didn't you then? It would of made you rich, and a ledgend? No?
Of course you, or I didn't because we couldn't. Until Microsoft (with Hewlett-Packard and Intel) took this on, they made Ecma-335 happen. So if anybody could why them? Why not Sun for example? I respect Sun and especially Bill Joy. But they didn;t make this happen. They were so desperate they only had the (actually quite funny) rhetoric of their CEO to entertain us as heir stock price headed south.
"Being it was Microsoft, only shows again that they are able to take the works of others (many others in this case) and integrate these works into a package to market. Often with the insinuation of their innovation of the work, rather than a more honest "integration" of the works."
Again, this was hardly just Microsoft. See http://msdn.microsoft.com/net/ecma/
Also, I appreciate your passion but please base your arguments on facts. I am not a man that accepts arguments without some foundaton in logic and hopefully proof.
"MS is a marketing company first and formost. They are a third party integrator second."
Really? Microsoft has 'bet the farm' on SOA/Web Services with the upcoming Ingigo release (with the amazing Don Box at the helm) and .NET. This is hardly easy marketing . The whole 'Microsoft is a company that is not Enterprise capable' is just plain silly now and has been for years. With Gordon Bell, Jim Gray and so many others involved it is so misguided to think of Microsoft an not capable of what they have already achieved! Another point of fact for you is the study done by the Middleware Company here:
http://www.middlewareresearch.com/endeavors/040921IBMDOTNET/endeavor.jsp
and I suggest you read the pathetic 'leaked' IBM response and Microsoft's rebuttal, all covered here in the usual amazing fashion on theserverside (my favorite web site for Java and .NET issues):
http://www.theserverside.net/news/thread.tss?thread_id=29654
"Even in the early beginning of MS, it was Bills port of BASIC and then the selling to IBM an OS they didn't yet own (and likely wouldn't have pursued obtaining had they not sold it to IBM). I doubt innovation comes in at third or even forth as those positions might be filled with legal departments and licensing."
Well I hope people don't judge me on my past as I was a skateboarder in California growing up, hardly an indicator of what I am today. Microsoft is not even close to what you describe.
To me this was a stoke of BUSINESS genius capped off by his demands to recieve royalties on every copy of MS-DOS sold. But why in the world are we discussing this? It is completely irrelevant to the post.
Microsoft has been beaten up (in the past for some good reasons) but who do you think is now the global leader in the innovation of Enterprise Application Development and Integration? Microsoft.. It is absolutely true (look at the Gartner reports and other third-party studies). Don't take my word on anything I say in this post. It is verifiable by external sources quite easily. Again science my friend. Hard facts.
They are in that top right quadrant that I led my previous company into while CTO (for a study Forrester performed in our sector in Europe where we did most of our work). On all fronts: Innovation, Quality, Security (now finally), Total Cost of Ownership, and ease of use Microsoft is leading the pack by a very wide margin. Do you think a company cannot fundamentally reinvent itself as Microsoft has? It is irrelevant of your answer as it has happened. Again, SCIENCE over irrational passion please.
Have you looked at Microsoft Research? This is a Financial Times quote:
"The Seattle-based software group has spent the past decade assembling a team of scientists to rival the great industrial research labs of yesteryear. Microsoft Research now has 700 researchers, including many of the biggest names in computer science, and an annual budget estimated at between $500m and $1bn"
What was it you said again about not innovating?
"Certainly the "Software Factories" is nothing new nor innovated by MS."
Yes, that is true and something I clearly stated if you othered to even read my post. But (and I know there are other really capable vendors out there) it looks like Microsoft will make this happen in a realy broad way. It is what we need. Here are some statistics for you from the Standish Group:
1) Businesses in the US spend $250 Billion annually on software development. Average is from $430,000 to $2,300,000 per project based on company size. 2) Only 16% are completed on schedule (OK the concept of 'schedule is so completely broken, our IT managers are constantly asked to do the impossible: predict the future) and within Budget 3) 31% are cancelled with the majority (statistically ) because of quality problems. 4) This creates a loss and drain on the US economy (waste) of $81 Billion EVERY YEAR 5) 53% of our projects cost more then planned (another broken area, the 'planning of costs'). 6) These 53% exceed their 'budgets' by an average of 189%, creating theoretically another $59 billion in losses EVERY YEAR. But the budget is usually a joke anyway so I'm not sure I can call this a loss. The budget is based on fallacies of logic. 7) For the few that actually DO make their date, deliver (on average) only 42% of the planned scope.
So do you like this status-quo? I certainly will not stand for it.
"Software is a tool that allows control over some hardware, be it a monitor screen, input device, printer, etc..."
That is not how I think of it, but OK I will try your conceptual reference.
"Software is abstract and sets between the concrete user and the concrete hardware, its translation control of input -> translation -> output. "
I prefer to think of software as a strategic asset and enabler but OK.
"Software development deals with creating the abstract with abstraction, as does the total scope of the software factory concept. "
You said: "creating the abstract with abstraction".....Well that depends on what your definition of 'is' is.
"This is NOT unlike the dotcom bubble and its deflation. A build up of hype (abstraction) going nowhere is something to be careful of. Meaning real innovation is very capable of causing a deflation of the software factory ideal."
This has not even been released. It is a technology preview. What exactly are you talking about? This is nto hype. Hardly anyone even knows the DSL exists.
"FOSS (Free Open Source Software) was born out of a desire for freedom in creating such abstract control over hardware. And applying this desire to the software factory ideal will lead to such systems by which the typical end user will be able to create what they want/need, perhaps thru describing to the system what they want and letting the system generate the application, but on a free basis rather than a fee basis."
Ahhh. Now I get it. Another anti-capitalist who believes that we should give away software. I don't understand it. I could write 100 pages in my upcoming book on why Open-Source is interesting, great for the budget challenged and harrmful to those of us who build software that we expect to be better then our competitors and get (hold your breath) paid for. But we offer (another revelation) SUPPORT and great documetnation. Well give me a URL and I will give your software a try. Where is this free Software Factory Software? The reason I will not waste 100 pages in the book I am writing on Open Source is that it is very cool, fun and almost totally irrelevant in the doman I work in (global financial services). I would say NUnit is a great exception, as is NDoc and many others. The book "Open Source .NET Development" by Brian Nantz is excellent in this area. But again, my clients (for the most part) will not even consider open-source for anything other then toy applications in terms of production use.
"To put FOSS and commercial proprietary software in a difference equasion, the result will be "distortion for excessive profit". That is the distortion of what is honestly actually possible to do, via the creation of false constraints, in order to extract values such as money, ideas, testing/feedback from others."
Look, I have no problem with open-source, but it is what it is. Developers with extra time (with paying jobs in most cases) doing things for free. That is their choice but ask them to handle a 3AM emergency support call and watch what happens when they have to be up at 6Am to go to their real job. Open-Source is no answer to innovation. It is about the fun aspects of development. Nothing more or less.
"As a matter of physics and nature and the continual increasing rate of our advancement, these such distortions will, if not already, become obvious in contributing to the hinderance of advancement, and be dismissed."
OK now I am wondering why I am even responding...
"The question here is: How to convert from an economically based injection of distortion to the mode of honesty that allows for far faster advancement?"
Faster advancement is achieved by true competition and a relentless desire to innovate and an ability to make your own products obsolete. The more global the competition and the more skilled your competitors and the higher the profit motive, the faster the innovation. The profit motive, the ability to provide real shareholder value and ROI based on quality products and services is the key to innovation and the introduction of new, fundamentally great technologies like the DSL. Let me ask you. Have you even run the DSL build?
"The battle ground front line is of course on the software patents, right or wrong, issue. "
Intelectual Property must be protected. Some have abused the system as we have seen. That is the price we pay. What is the alternative? Make all software open source? How many people will innovate when they get a paycheck for $50 each week? Or the kind-hearted 'donations' that amount in most cases to little to nothing. If you check my company's site we offer a very innovative .NET Assembly to XMI converter for guess how much... FREE! Because we want to provide this to everyone to help move both .NET and XMI forward, and because the peple who would need such software are usually the people we want to talk to about what we can offer them strategically to gain coompetitive advantage over their competitors.
Can I ask you, what do you base your economic philosophy on? Can you refer me to one academic source that is widely accepted or even marginally accepted?
"Do we advance faster, so we all get to each experience more wonders in our short life span (perhaps even lengthening our life span) or do we sacrifice it for the excessive benefit of the few? The arguement is of course that of the need to finance R&D vs. Free access and use of what is developed."
The profit motive is the most powerful way to drive innovation. Let's try to lighten this post up a bit:
http://ourworld.compuserve.com/homepages/ken_crossman/Gore.htm
"Domain Specific Language is what this thread is about.... So I'd say it's refering to all of us. But in what way? slave of anothers way of thinking or master over our own personal way of thinking? Abstraction is a reflection of those who create it and the constraints of those who use it. Though there is a positive in having standards."
Huh? This is in no way referring to all of us. This will be a niche Technology that HOPEFULLY will be widely adopted. Time will tell.
"Maybe the individual is not the overbearing marketing force of MS, but maybe the individual doesn't need to be. Maybe all that is needed is a common understanding of Abstraction Physics and the non-patentable and free tool set to apply it via computers."
I really do not have any idea how to respond to that.
"Who better to be the force behind the the creation of a domain specific application or language for the creation of domain specific applications, then those who are actually doing such domain specific tasks? Many of such individuals are not, nor have ever studied software programming, nor should they have to, but only understand Abstraction Physics as they would in only needing to understand the hindu-arabic decimal system and basic mathmatical symbols (add, substract, multiply, divide, etc..) to do math beyond roman numeral limitations. "
Tim, again, I will repeat what I said in the beginning. I am sure you are well intentioned here and I do appreciate your feedback (I am assuming, but I canot be sure, who you are addressing) my post. I only hope you read some basic economic literature:
Software as Capital: An Economic Perspective on Software Engineering by Howard Baetjer Jr.
"Capitalism and Freedom : Fortieth Anniversary Edition"- Milton Friedman
The Road to Serfdom by F. A. Hayek
Wealth of Nations (Great Minds Series) by Adam Smith
It sounds like you believe in what you say, but there is no foundaton that I can discern academically.
Feel free to respond to this post, but do your research first please.
Damon Carr, CEO agilefactor www.agilefactor.com
|
|
Message #146091
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Appreciating all opinions, let me humbly point out some facts.
Ah Tim, I thought your original post was an entertaining, if nonsensical response to Damon's heavy on the marketing effort. Then you went and ruined it by linking to a post on /..
Firstly, no one considers /. a credible source of research material, its groupthink central over there.
Second, you wrote the post yourself which hardly constitutes researched validation of your imaginary concept.
Third, you wrote an anti-patent post in an anti-patent thread on /. and it only got a +1 informative moderation. Oh dear, that’s not very good is it. To be fair though most slashbots probably gave up after the first few lines and missed the patent stuff at the end.
Still keep the abstract responses coming.
|
|
Message #146118
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Stop the bashing.. start working together
I must frankly say that I am getting tired of all this MS bashing and I am one of the people who whole heartedly believe in "community" driven software development. (whether open source or not). Yes. Microsoft has traditionally been a closed software development company that relied heavily on marketing brute force than community driven initiatives. But they are changing and changing fast to the better. So please take a step back and look at things for what they are. I dont hear anyone complaining about Java not being open source because it is JCP driven.. right? If we have a say we dont feel either threatened or left out. I guess we are all "control freaks" :-)
Most Java guys still believe and perceive .NET as an MS tactic to just duplicate Java and all the tools around Java. I dont care if that is true or not but now .NET is at a respectable point in its evolution where it is not a platform weaved around Java and its community. And best of all MS executives and technical leaders seem to be really reaching out to the community for both feature induction and support before they introduce them into the platform. So please think of this as an opportunity to get involved in "another" (after Java) "community driven" platform (whether open source or not.. like for example Reflector by Lutz Roeder).
And MS is also going out of its way to allow third-party vendors and even individual developers with a passion, to extend the core development environment and even the platform feature set. So if the only thing that you thrive on is "open source", please feel free to contribute in your own way and I am sure people would love and use your .NET tools if they are relevant. (Look at NAnt)
I agree that Software factories, domain specific languages et. al. are not new concepts. But these concepts till now have resided only in the brains of a select few "scientists" and never had the tools to make them accessible and understandable by a common developer. Now with MS in that arena there is a chance that those tools and awareness will creep in which is a good thing for everyone!
So once again, stop bashing and start working together. Worst case, if you dont want to work together then dont spend your energy and everyone else's by just bashing! Walk away and stay in the Java realm!! :-)
|
|
Message #146131
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Random thoughts
Although I find the idea of MDA interesting, the problem I have with it is this.
1. How many people use it successfully?
2. In my own experience with C# developers, there's still a lot of confusion about what C# OOP means. This is from a very small sampling, but the problems I've seen include combining model and view into one component. That in itself is necessarily bad and depends on the application and requirements. Writing everything as concrete classes and not using interfaces or abstract classes. Making all classes simple data classes without knowledge of domain. Confusing C++ with C# and thinking they are the same.
3. complexity with modeling flow. The use cases I've seen first hand, it's not at all clear to me a flow or sequence diagram is sufficient to capture the semantics or relationship between components.
4. for software factories to work smoothly with visual modeling, my guess is it works best with a predefined framework. For example, say you want to build a component for saving data. The editor could load the required classes/interfaces and generate the appropriate stubs.
5. capturing abstract relationship and converting to concrete code may be more complicated for developers to understand than procedural thinking.
What I see is that MDA tools are great when it's used by a programmer that understands the low and high level. Someone who just understands the nuts and bolts often have a hard time adjusting to higher level abstractions. Someone with high level understanding, but lacks the low level knowledge tend to model things that are not feasible. The result I see is it creates more headaches than solutions. At some point, a programmer has to code a component. If the architect of a project designs the system, but fails to take into account the limitations, it can result in ugly arguments.
If on the otherhand, the MDA tool is closely linked to a specific framework, then these types of mis-matches between high and low level can be reduced and prevented. It's nice to have tools, but it doesn't get around the fact that you need someone who understands how to build software. What I fear is some business guy will take the tool and dream up a magical application and tell the programmers to "build it."
I'm sure everyone has seen this happen. I hope they don't over sell MDA and create a nightmare for developers.
|
|
Message #146139
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Random thoughts
Peter,
That is the fundamental philosophy behind DSLs, software factories, product families et. al.
I think of it as a more refined and practical approach to MDA. And I am sure that there is every chance that people can shoot themselves in the foot or worse, if these concepts are not used properly. Infact I am most certain that we will see at least some enterprises creating one DSL for each product/project they build! :-) And the reasons will be abundant ranging from no high level shared vision of the business to internal politics between various development groups!
It is up to the sane voices in those organizations to understand, preach and practice these concepts, properly, I guess! :-)
|
|
Message #146150
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Random thoughts
Peter,That is the fundamental philosophy behind DSLs, software factories, product families et. al. I think of it as a more refined and practical approach to MDA. And I am sure that there is every chance that people can shoot themselves in the foot or worse, if these concepts are not used properly. Infact I am most certain that we will see at least some enterprises creating one DSL for each product/project they build! :-) And the reasons will be abundant ranging from no high level shared vision of the business to internal politics between various development groups! It is up to the sane voices in those organizations to understand, preach and practice these concepts, properly, I guess! :-) except that usually the person who understands the least often is the one making the decisions. the end result is the good developers all jump ship, while the remaining developers pray the project doesn't get cancelled. I fail to see how this or any product will solve cultural and institutional problems.
In fact, I would argue good organizations can build solid software regardless of the "official" chosen methodology. Bad companies (we all know know one or more) fail regardless of the chosen approach. Be it RUP, XP, MDA or the flavor of the month, yet another fancy tool does nothing to solve organicational issues. If anything, it makes it worse and ends up being a distraction. But that's my pessimistic take on things. The fewer distractions in my book the better.
|
|
Message #146156
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Random thoughts
:-) I feel your pain. Been there.. lived through a few of those situations! As you said there is no miraculous cure for organizational stupidity and wrong guys at decision making places! But maybe, just maybe, these tools would help guys like you knock some sense into those individuals and maybe the UI will be jazzy enough to mesmerize the morons and will let you dictate the implementation methodology (so you better start looking into it)! :-)
|
|
Message #146191
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
what would be nice
:-) I feel your pain. Been there.. lived through a few of those situations! As you said there is no miraculous cure for organizational stupidity and wrong guys at decision making places! But maybe, just maybe, these tools would help guys like you knock some sense into those individuals and maybe the UI will be jazzy enough to mesmerize the morons and will let you dictate the implementation methodology (so you better start looking into it)! :-) it would be nice, if someone credible from one of the big MBA's writes a book about how to work together with your technical people. Rather than the recent trend of trashing IT and claiming IT is no longer a competative advantage. It doesn't matter where the programmers are, if the mentality of the executives is "programmers are a risk that should be fixed through out-sourcing or magic tool X."
I've worked at places where the CTO thought the programmers were toys to be played with. So far, I've only come across one CTO who treated programmers with respect and listened to them. That isn't to say the CTO rolled over. Quite the opposite. A CTO should be able to grasp a technical problem in a few minutes and inspire the team to think of better solutions. I know you're joking, but if anything I would rather a tool unfog the managers eyes. That way, instead of just saying "we should do this!" it comes a real dialog of "how do we get the job done more efficiently."
I doubt any tool can achieve that :)
|
|
Message #146202
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Software Factories
Personally I like the idea of software factories and have been advocating this approach (higher levels of abstraction) for some time. I think this approach is inevitable if we want to fix what ales our industry.
Practially speaking I don't believe this was possible before the advant, adoption and main stream acceptance of .NET/Java and XML/Web Services.
To limit software factories to web parts only, as someone stated earlier, may be missing the point. I envision a number of technology abstractions being composed and used within numerous domain/business specfic abstrations. Of course the technology abstractions would run the gambit from the client down to the data store. Also, the technology abstractions could be reused in numerous business scenarios.
I'm also of the opinion we will not see wide spread adoption of these approaches until the tools vendors provide a suitable framework for Joe developer.
Regards Kevin Weir
|
|
Message #146358
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Stop the bashing.. start working together
my initial post was done as a matter of simply present a caution. I was being nice, probably to those who don't deserve it... shrug.
Do I know what I'm talking about? Absolutely!!! But if all your skill at researching only goes as far as what you are being told to look at, then you don't deserve to know what you'd otherwise find with real research.
Do I really care what others think? Nope, as father physic and mother nature don't care either.
Abstraction physics is what is. And what is done with it is not limited to what only MS wants to create.
If you mention your support for MS and your support for capitalism, I will honestly see you as a hypocrite or someone who is not intouch with what has been going on regarding anti-trust issue. I don't trust black people as much as I trust some other nationalities, not due to prejudice, but due statics, so understand me, don't try to put words in my mouth, for who are you trying to fool?
I don't need others quoting what some others have recently written when I wrote the same or similiar near a decade ago. But for you to know this, you have to do honest research. For I'm tired of pointing it out and considering all things, I really don't have to anymore.... its clear plenty have heard me and done or headed in the direction I expected they would, and that includes MS.
I have no problem playing proprietary and open source against each other, if that is what it takes to to GET REAL. Each have their problems and dislikes of each other but it is the market place that each is after. and compete for. This puts the consumer, the end user in the ultimate position of control... cept for acts violating anti-trust law....
I understand abstraction physics. I tried to get the FOSS community to listen up but their ego problems prevent them from doing so. But they are gaining market share so that presented me with a way to get them to listen up. I'm the idiot/genius who told MS how to beat FOSS while knowing how they would distort it in bias towards... well "making people need them..". Its really quite simple, use FOSS weakness against them, by making coding far easier to do then FOSS. In turn FOSS dev will and are moving towards what is more real... towards allowing better the open application of abstraction physics.
We go back and forth enough and who knows, maybe in my lifetime I just might get enough honesty in software that I can do more for myself. I also resent having to battle, play this one against the other game, for it.
In law there is a matter of "reasonable doubt" and in the same way, for those who do the research, you may find reasonable doubt regarding MS originality of anything software factory wise.
I recall a comic frame. A Judge swinging his gavel about to slam it down in a guilty verdict against someone who is, even then, trying to point out to the judge that his bench is on the edge of a cliff that is breaking away and will the moment the gavel hits.
its not uncommon for those making claims against me to themselves be commiting the very claim.... within their claim.
give a man a fish and you feed him for a day, teach him to fish and you feed him for life. making people need you is on which side of that?
Domain specific language is about vocabulary sets and syntax. both are applied through the use of abstraction physics. Understanding abstraction physics is like learning how to fish. Hiding away abstraction physics and falsely constraining others to owned/contriolled vocabulary sets so to make them need you is less efficient, but potentially more profitable to a few.
New things tend to require new vocabulary and syntax sets...so its important to stay open about the possibilities, not try to corner vocabulary sets into IP holdings.
Greed has been openly admitted of the software industry... so yeah, I do know what to expect.... but I also do understand the power of the consumer and genuine market competition, and the fact that there are some things simply obviously not ownable, like physics.
I've been told several times that people generally don't like me because I'm more honest than they want to hear.
Working together?....only when choice has been removed, due to the few who don't want to genuinely do it. For some only know they have choice, by doing the wrong thing.
I present a caution and I see efforts to shoot the messanger..... how nice...
|
|
 |
| |
|
New content on TheServerSide.NETNew content on TheServerSide.NETNew content on TheServerSide.NET |
 |
 |
Language "mashups" will become more prominent, and developers will become polyglots, one programmer suggests.
SearchWinDevelopment.com offers an introduction to the language, performance, testing and data management improvements in VS 2008.
VBCode.com code snippets cover all aspects of application development, from data binding to security to the user interface.
Get up to date on XAML best practices with a variety of articles, tutorials and webcasts. [SearchWinDevelopment.com]
One team's experience with the VSTS DB edition suggests that it can improve workflow for dev teams. It also enhanced Agile efforts.
(June 24, Article)
Microsoft has begun to include DSL tools in the VSTS kit. A new book by Steve Cook and other VSTS team members helps set the stage.
(June 24, Article)
Cartoon: Be it ever so humble there is no place like your home after you get a Microsoft Home Server .
(June 18, Cartoon)
Microsoft's Thom Robbins says new technology to highlight in NET 3.5 includes AJAX, LINQ for both C# and VB, as well as tooling enhancements intended to ease the task of building WPF, WF and WCF apps.
(June 29, Podcast)
Venkat Subramaniam discusses AJAX bottlenecks, the tenets of Agile development and more. He spoke at the Ajax Experience.
(June 25, Tech Talk)
In the second of a two-part series, Michele Leroux Bustamente discusses design decisions related to the claims-based security model. Read the story and walk through the process for creating a set of claims-based utilities to encapsulate claims authorization at the service tier.
(May 24, Article)
Understanding why the Entity Framework exists and learning where it can fit into your projects can get you prepared for the eventual release early next year.
(May 10, Article)
Resource: This learning guide gives you quick access to useful links on Windows Communication Foundation security information.
(April 24, Article)
TSS.NET's Jack Vaughan spoke recently spoke with Microsoft's Brad Abrams to find out what he is seeing in the field and what the chefs in Redmond are cooking. Along the way he discusses patterns of AJAX frameworks.
(April 11, Article)
In a two-part series, Michele Leroux Bustamente explains how claims-based security is supported by WCF, and how you can implement a claims-based security model for your services.
(March 29, Article)
Windows Workflow Foundation is a new technology that many developers will need to get their heads around. In a brief excerpt adapted from Programming Windows Workflow Foundation: Practical WF Techniques and Examples using XAML and C#, K.Scott Allen considers aspects of workflow definition.
(March 22, Chapter Excerpt)
|
|