From: Giles Bowkett Date: 2006-10-25T12:26:21+09:00 Subject: Re: [OT:usage of uml] > > It's kind of anomalous, because you can't actually > > code in it, yet I think learning UML probably made me a better > > programmer. > > I wouldn't say it's any anomalous at all. UML only lets you manipulate > the "pure" concepts of a given problem. well, anomalous in that the other programming languages I've used have all been languages I could produce programs in. > Conceptual analysis of a problem > is a language-independent activity requiring skill. There are arguably > other ways of doing a conceptual analysis or specification of a problem, > not involving UML, and / or involving executable code (e.g. TDD), but > the UML method enforces a clean layering of the model from its > implementation. Having a method that only lets you manipulate abstract > concepts, and lets you manipulate them very efficiently (the main > diagrams of UML2 are really dead simple) can help your brain fold itself > into the shapes that are needed to understand those abstract concepts > properly. I think that's right. I learned UML and really never ran into any situation where it was of vital necessity, but I think the code I wrote before and after probably has very real differences. the weird thing is, tho, that UML is generally associated with "big" projects, and pretty much everything I've done since learning UML, I think I've actually gotten much better at eliminating unnecessary steps. it gives you a design vocabulary, and maybe that makes it easier to spot unnecessary steps before they happen? I'm not sure. I think it was worth doing. I can't really say that for me personally the jury's come in yet on UML, but I'd definitely prefer to work with programmers who have opinions about UML than programmers who don't. -- Giles Bowkett http://www.gilesgoatboy.org