... or are they unnecessary in such a high-level language?
I've been thinking about programming style, coding standards and the like quite a bit lately, the result of my current work on a mixed .Net/Mathematica project.
In object-oriented programming, people talk a lot about "design patterns", essentially, standard ways of approaching particular problems (There's even a conference). The idea has been extended to other domains as well, e.g. for personal productivity.
But some people argue that identified "patterns" are really just a sign that the language in question isn't abstracted enough.
So what, if any, are the patterns of Mathematica programming? Or are they not necessary?