Currently at OOPSLA 09 and have just scribed for the DSM 09 Workshop and co-organized the 3rd KISS workshop. Interesting that in both these workshops there seems a great deal of interest in language components. This chimes with Role-based Approach Towards Modular Language Engineering presented at SLE 09. Domain Specific Languages researchers seems to be looking for a way to define languages using reusable fragments. Of course there is no consensus on what a language component is, but the term 'semantics' comes up alot. Laurie Tratt and are working on this issue and have termed the overall approach 'Language Factories'. Our paper is to be presented at Onward! 09.
Markus Voelter has written an article about Best practices for DSLs and Model Driven Development. The article lists and analyses approaches to the development of DSLs and gives them a point score based on whether the author thinks they work or not. Lots of interesting ideas and good advice. I'm not sure I agree with all of them. On one point: how general purpose should a DSL be? I think this is tricky. In the days before DSLs were called DSLs, I was taught to start with a very small general purpose language with a well defined semantics and gradually sugar both syntax and semantics until it had been transformed into the required language. This approach seems to achieve both generality and specificity at the same time whilst being a repeatable step-by-step process.
Saeed Dehnadi and Richard Bornat have done some field work that claims to show that students aptitude for programming can be detected before a line of code is written. Their approach involves a giving the students a programming test before starting a programming course. I recall being given a Swedish test in junior school to determine my aptitude for French and German.