If you’re in the New England area next week, you should check out the “Why I hate programming” seminar at MIT. The abstract sounds interesting:
“Over the past thirty years a host of new ideas about programming have
   emerged from this building, yet the average engineer has seen little
   change in the drudgery of day to day programming.  Why is it that have
   we not seen large-scale improvements in our programming environments
   and methodology?  To answer this question I will share a few lessons
   and trends picked up from industry and the implications I think these
   have for the future.
   I will argue that, in part, we have not been solving the right
   problems.  Far too little of the techniques learned in the pursuit of
   AI and the advancement of computer science are employed in our
   programming environments and these environments are of too limited
   scope.  I argue that visibility into behavior is more important than
   specific language semantics.  I illustrate why testing is more
   fundamental to good programming than coding.  I explore why the
   ambiguity in most projects is actually backwards; typically found in
   the design specification and not in the implementation.  I’ll propose
   that languages hurt abstraction and reuse by requiring programs to be
   too specific and introduce some ideas on how to avoid this.
   This talk addresses the fundamental question of how to make Moore’s
   law work for programmers as well as users: enabling software to be
   faster to create, easier to evolve and more robust to run.”
More information can be found at the Dangerous Ideas site.