archives

Microsoft's Software Factories and DSLs

This article over at SD Magazine written by Jack Greenfield and Keith Short from Microsoft argues:
Patterns demonstrate limited but effective knowledge reuse. The next step is to move from documentation to automation, using languages, frameworks and tools to automate more of the software life cycle.
We are using UML for documentation, but we are using models based on small, focused, domain specific languages (DSLs) for automation. DSL based tools can help developers define and assemble components, such as web services, generate their implementations using framework completion, and capture metadata used to automate validation, packaging, deployment, configuration management, test generation, defect tracking and many other aspects of the software life cycle. We are using high fidelity DSL based models as first class software development artifacts.
The description on the accompanying book adds:
using models based on highly tuned Domain Specific Languages (DSLs) and the Extensible Markup Language (XML) as source artifacts

My question is: with highly dynamic languages like python, which often reads more like pseudocode, and a complementary declarative language, may be a lot can be accomplished without resorting to DSLs? Definitely beats learning a new configuration language for every new tool.

More at: Microsoft .Net architecture.

multidimensional arrays

Someone on comp.lang.python remarked

It is just funny how easy horizontal slicing is made (list[:]) but how "difficult" vertical slicing is. It is a common task and one does not realize how often one does need vertical slicing. eg.: getting the keys of dictionary is a vertical slicing, or turning a list into a dict involves vertical slicing...

Just out of pure curiosity: Is there a langue that allows vertical and horizontal slicing and dicing with the same built-in pattern?

The basic problem is, of course, that multidimensional arrays are implemented as arrays of arrays, but that made me wonder in turn - which languages have true multidimensional arrays? (i.e., arrays in which every dimension is treated as equivalent)

Amazon Associates (+ other advertising)

a while back, in the last days of userland, there was some discussion about putting advertising on this site to help pay for hosting, upkeep, etc.

i don't know where or how the site is hosted now, but even if it's in a forgotten corner of some kind company or institution's server, it seems to me that there would be no harm if the people involved in maintaining this site (not me, in case you're suspicious ;o) made a tiny profit. especially if it adds something to the site.

anyway, i'm mentioning this now not because i have a sudden desire to see google textads on every page, but because i've been looking at the amazon associates program. they pay a commission for any purchase made via certain links (so you provide a link saying "buy this book from amazon" that people click on). i was kind-of hoping i could become an associate, recommend books to myself, and then buy them at a discount. strangely enough, that seems to be against the conditions. so i then thought "well, who would i want that commission to go to, if i can't have it...?"

if this seems at all sensible, go to amazon, click on the "help" link and then type "associates" in the search box.

seems to me you could start with a page of classics, add a forum where people recommend new titles, and take it from there...