martinfowler.com logo Home Blog Articles Books About Me Contact Me ThoughtWorks

UmlAsProgrammingLanguage uml Reactions

One of three UmlModes

If you can detail the UML enough, and provide semantics for everything you need in software, you can make the UML be your programming language. Tools can take the UML diagrams you draw and compile them into executable code.

The promise of this is that UML is a higher level language and thus more productive than current programming languages.

The question, of course, is whether this promise is true. I don't believe that graphical programming will succeed just because it's graphical. Indeed I've seen (and worked with) several graphical programming environments that failed - primarily because it was slower to use than writing code. (Compare coding an algorithm to drawing a flow chart for it). Furthermore even if UML is more productive than programming languages it's hard for programming languages to become accepted. Most people I know don't program for a living in the language they consider to be the most productive. Languages need a lot of things to come together for them to succeed.

Proponents of UML as a programming language often seem to fall victim to the PlatformIndependentMalapropism. While this doesn't invalidate the idea, it concerns me that they believe it. Using the UML and MDA is a platform, and you are just as much committed to it as any other platform.


Links
home
bliki
feed 
Translations
Japanese
Spanish
Korean
Chinese
Thai
Categories
agile
design
dsl
leisure
refactoring
ruby
thoughtWorks
tools
uml
writing
Blog Roll
ThoughtBlogs
TW Alumni
Nicholas Carr
Steve Cook
Brian Foote
Simon Harris
Gregor Hohpe
/\ndy Hunt
Ralph Johnson
Patrick Logan
David Ing
Brian Marick
Jeremy Miller
Jimmy Nilsson
Samuel Pepys
Keith Ray
Johanna Rothman
Kathy Sierra
Dave Thomas

martinfowler.com logo mingle logo thoughtworks logo

© Copyright Martin Fowler, all rights reserved