Geeks like us are always tempted to implement very complex, never-ending features because they’re academically or algorithmically interesting, or because they can add massive value if done well, such as speech or handwriting recognition, recommendation engines, or natural-language processing.
These features — often very easy for people but very hard for computers — often produce mediocre-at-best results, are never truly finished, and usually require massive time investments to achieve incremental progress with diminishing returns.
— http://www.randsinrepose.com/archives/2011/01/25/interview_marco_arment.htmlThe software shouldn’t be at the center of a programmer’s world, instead a programmer should focus on the benefit that the software is supposed to deliver. — http://martinfowler.com/bliki/CraftmanshipAndTheCrevasse.html
I assert that any true measure of software development productivity must be based on delivered business value. — http://martinfowler.com/bliki/CannotMeasureProductivity.html
Fowler and Rebecca Parsons on DSLs -
Good overview, Q&A style.
Remember to keep your DSL simple (otherwise it might morph into just another L)
Advanced Regular Expressions -
I always forget about word boundaries and back references.
(Source: stackoverflow.com)