In response to my blog on Software Factories a young commentator wrote me:
I think the thesis is spot on, with the caveat that another axis of value–besides cheaply and quickly produced–is quality. Programming without errors is very hard. Most domains are actually pretty tolerant of errors. But I think there’s an opening for ‘premium quality’ software. Galois Inc., by all accounts, is an example of this.
I would also like to see some examples. The idea of software factories isn’t one that needs anything other than market forces to get off the ground. So I think the burden is on [Dan Gordon] to prove: a) why such factories don’t exist yet, given the claimed advantages, and b) why doesn’t he go into that business and rake it in?
Final point: It seems like the people who write the dsl’s would have to know quite a bit about the domain they’re writing their dsl for, which would sort of obviate the benefits of breaking up the labor like that. Language design is notoriously hard, especially when you won’t actually be using the language you write.
Final final point: Lisp’s ‘crown jewels’ are its fantastic capabilities with regard to DSLs. I totall agree that DSLs are a good thing.
The question about lack of market is the heart of the matter. If software factories are so productive, how come there aren’t lots of them?
The few DSLs I’ve seen out in the literature are academic exercises for the most part, and, like some XML languages, they are so detailed and so arcane that it would be a miracle if any other software group would ever use them.
Of course, XML is similar: a breakthrough idea for generating sublanguages, abused in many cases by overkill dialects which are impossible to use, but with many useful XML-based sublanguages out there doing a landoffice business.
Let me beg the market question a bit: the finest software minds of the current generation are not interested in solving the American productivity problem, but are interested in profiting from what I elsewhere call flash-fads, huge blockbuster moneymakers that last for the comparative blink of an eye but, like the Pet Rocks of my youth, make lots of money.
If I were starting up a startup (and I may someday yet again), I would give this serious consideration.