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.
A new scientific index
-
The CF-Index, or Conference Frustration index, is an integer n (n ≥ 1)
defined as follows. You are at a conference where your paper submission was
reject...
Science and Technology links (April 13 2024)
-
Our computer hardware exchange data using a standard called PCI Express.
Your disk, your network and your GPU are limited by what PCI Express can
do. Curre...
Using data replication in legacy displacement
-
*Alessio Ferri* and *Tom Coggrave* complete their article about introducing
seams into mainframe systems by looking how we can use data replication.
Done...
What You Want Is What You Get
-
How do we resolve the classic tension between WYSIWYG and markup . Alas,
one can't explain that properly in blogger, but if you follow this link,
you'll se...
Protecting your business in the age of ransomware
-
Ransomware is hitting close to home for organizations of all sizes and
sectors. With attacks making headlines daily, it’s no surprise that 62% of
surveyed ...
The case for strong leadership in agile teams
-
The key to scaling a software engineering organization is stable teams. A
while ago I wrote about the need to focus on stable, autonomous teams.
Teams wi...
The redesigned Racket blog
-
*posted by Matthew Butterick*
I love Racket. But a few months ago, I really wanted to kill this blog.
Why? Because who reads blogs, right? It’s like get...
10 Things I Learnt about Life from Masterchef
-
OK, I confess, I watch Masterchef, the television reality show and cookery
programme. We record them on the Sky box and if I need to mindlessly zone
out,...
New Book Available
-
The new book, DSL Engineering is now available. You can get the print
version as well as the PDF via dslbook.org. Have fun with the book and let
me know wh...