While initial reviews of Bill Gates’ final Microsoft keynote in his chief architect role were rather underwhelming, partner in crime Jack Vaughan caught one interesting detail that was latched onto by Michael Meehan this week: that Microsoft’s forthcoming Microsoft SOA strategy would indeed embrace Unified Modeling Language (UML …
UML is useless for maintenance & enhancement
UML is great for describing the structure or behavior of an OO system in diagrams, but it fails in one crucial area: it can't describe succinctly the delta between one version of a system and the enhanced version of that system. A great majority of software engineering projects involve modifying an existing system, either to fix bugs or enhance features. It would be great for modeling tools to represent not only the class hierarchy, but the changes necessary to implement an upgrade from an existing system to the modified version of that system. So far UML cannot do that, even in UML 2.0.
We already have a D
I hope the codename gets changed before deployment as there is already a language called D - it's a c++ style language, but with proper support for objects.
Forget these poncey models
Hands up anyone who has actually developed, deployed and maintained systems using Rational/UML without a) loads of bucks, b) loads of developers and c) loads of headaches.
Me, I prefer to just get on with things.
My coat is the one with the kevlar lining.
The problem with all these languages...
...is that they can't be compiled into a working program. They are little more than glorified prose descriptions. Much better to express your design as something that can be submitted to a tool (whether theorem prover or compiler) and executed. Anyone doing "test driven" development, or working with an automated build system that supports regression testing, already knows this of course.
Mother Code ..... Godisagoddess
"Using D will not mean that the programmer will become restricted to a specialized runtime vm (virtual machine) like the Java vm or the Smalltalk vm. There is no D vm, it's a straightforward compiler that generates linkable object files. D connects to the operating system just like C does. The usual familiar tools like make will fit right in with D development. " ....... http://www.digitalmars.com/d/2.0/overview.html
That would be more accurately written ... There is no D vm, it's a straightforward compiler for Virtual Machinery, that generates linkable object files.
D Code is then a Coalition of the Ready Willing and Able with no Proprietary Intellectual Property Interest to Impede Its Progress, Matthew Ellen?
Now there's a Novelty. :-)
A more bloated pile of bollocks I have never seen. Well - except Vista, obviously
My company jumped on the UML bandwagon a couple of years ago, insisting that every project we did from then on was modeled in minute detail using Rational Rose. Of course, they never factored in the extra time it was going to take so, not surprisingly, it came in well over time and over budget. But I digress.
The thing that struck me after we'd finished though, was the fact that the only diagrams which seemed to be of any use to someone unfamiliar with the code, were the relatively simple Use Case diagrams and the classic class diagrams. All the other crap that we spent our time drawing provided very little that a code walk through couldn't (assuming the code is well documented, which as professionals we always do. *cough*).
Still, we now have a couple of ring binders full of very pretty pictures, which no one will ever look at, but someone is still going to have to spend a fair amount of time updating whenever the code changes.
Paris, because she sucks as much as UML does.