

Introducing Modelling by Example - CiaranMcNulty
http://everzet.com/post/99045129766/introducing-modelling-by-example

======
quizotic
Does anyone know what this means? Can you explain it to an old C++ hacker?
Near the end, it looks like "ubiquitous language" (UL) is being used to
generate API function signatures. Is that how UL connects the business reqs to
the implementation?

~~~
CiaranMcNulty
I'll try and summarise it.

Ubiquitous Language is a term used in BDD and DDD and just means 'the shared
language that you build with non-technical people'. It largely involves using
business terms as much as possible, but often you have to try and agree some
naming when talking to non-technical folk to resolve ambiguities. UL is not a
technical concept, it's a way to focus on how you're expressing concepts in
conversation.

In BDD we use this shared language to have conversations with customers about
requirements, in the form of examples. In DDD we use a shared language to have
conversations with customers about business process and rules. This article is
bringing those two approaches together.

The stuff at the end is showing how the internal domain modelling (class
naming, method naming, argument choice) can be taken directly from the
conversation you had with the customer when you've had that conversation
effectively. The significance is that the 'modelling' effort happens less in
the developer's realm and more in the collaborative realm of customer
communication.

Disclaimer: I work with the author of the article, use these techniques, and
profit from their adoption

------
spacemanmatt
I am getting shades of Literate Programming from this article. I thought that
idea was laid to rest in the early 90s.

~~~
akkartik
1\. No, I don't think this is LP at all. LP is about controlling ordering and
pretty rendering. This is more like Cobol in the support for parsing english.
(/me ducks.)

2\. Are you aware of any comprehensive rebuttals of LP? I'm working on one
myself at the moment, so any pointers would be most appreciated.

~~~
spacemanmatt
> 1\. ...

[snerk!]

> 2\. ...

If LP has essentially yielded to what we now know as DSLs, I might just be ok
with it. I am not aware of any comprehensive rebuttals of LP, except...
where's the market?

~~~
akkartik
Literate CoffeeScript, Literate Haskell, Docco? There's still projects using
CWeb, like the recently-on-HN [http://c9x.me/edit](http://c9x.me/edit).
Anyway, I recently published my rebuttal: [http://akkartik.name/post/literate-
programming](http://akkartik.name/post/literate-programming)

