Recently I’m reading Martin Fowler’s book “Domain Specific Language”, a book about some long-proven useful software practices. Overall, Mr Martin Fowler is still on-track holding the latest promising trends of best-practices in software engineering. I’ll just grab the important best-practices from Mr Fowler’s site here (in the order I think how important they are):
- Agile (Continuous Integration)
If you are practicing software development, these practices are your friends. Of course, none of them is a silver bullet. In software development, nothing can be an one-fit-all method/tool.
I came across an interesting blog about software best practices. The blog seems to bring up an interesting point that remotely relates to DSL technology, though it is missing what Mr Fowler is trying to say. The blog is arguing with Mr Fowler about Semat. Mr Fowler is saying that using a meta-method-kernel to program and run a process is fundamentally doomed. Not that Agile is not effective, Agile is just not deterministic enough as any of the 90s’ meta-methods would have hoped. As a conclusion, software can only be developed under a process targeting for vague results, like a “working system”. I don’t see how a “working system” can be specified (programmed and run) by any meta-method.
(Content re-arranged on Nov 2 2011).