Yesterday was celebreated the 4th annual world usability day. In Uruguay it was in the ORT University Artech and other companies from Uruguay were invited to participate in this event.
Yesterday while I was preparing my talk Fabian (a coworker and Mac fan) sent me the perfect sample for usability where the mental model of a 1 year old user match exactly with the program and hardware model
And additionally I found this sample where obviously the program model doesn't match the mental model (From uselog)
After PDC 2008 everybody start talking about a new way of creating textual DSLs using the Oslo Project, actually I have been confused trying to figure it out what exactly are the differences between the Oslo Project and many of the well proved tools and languages in the market.
The Eclipse world is really well positioned with its Eclipse Modeling Project where you can define your grammar for your textual DSL and have a lot of tools for free for your language (like obviously parsing, editors with coloring, intellisense, deploy the generated editor, etc)
(Take a look here)
After PDC new samples of Mg (MGrammar) to define languages appeared:
So I continue confused because I felt that esentially Mg has the same complexity or even more than ANTLR or the Gold Parser project. And I don't understand why we need yet another way to create languages.
Luckly I found a comment of Don Box in a Gold Parser vs MGrammar post that tell this:
"I think we’re not being super-clear on our side when we talk about M and textual DSLs."
"While it is possible to write the grammar for a “capital-L” language in
M, that’s not where most of us on the team see the primary use case of
"Rather, the sweet spot (in my mind at least) is in enabling tailored
syntax over schematized data - that is, the schema dominates the
design, not the language per se. "
I agree with Don Box, Microsoft is not being clear about the message with M, I downloaded and tried the Oslo SDK, I was expecting a complete sample on using the Oslo Project (M, MGrammar, repository, Quadrant, etc) in order to solve a real world scenario.
I know this is only a CTP, anyway I was expecting more..
We, the pragmatic developers, need a side by side sample for a real and simple scenario, in this sample every piece of the puzzle should be included.
We need to learn by example, we need to learn by simple and real examples.