Insights: You don’t need your DSL to be English-like
There is a widespread opinion that a good DSL has to be English-like. Dave Thomas advocates against such approach asserting that DSL are not about getting as close as possible to natural languages and that having this as a guiding principle of DSL design can be rather detrimental. He also highlights what he believes is important in DSL design and provides some examples of successful DSL.
March 21, 2008
Programming Languages: More Powerful with less Freedom?
In quest for more power, languages are often grown with new features. While it provides programmer with more freedom, does this actually achieve more power? Reg Braithwaite believes that this is not necessarily true and argues that it is possible to render language more powerful yet limiting options offered to programmers.
March 16, 2008
A new "Agile" pattern by Martin Fowler?
I had a chance personally to witness the application of a brand new agile pattern at a conference I was attending. Well actually that took place in a panel that Martin was leading. The panel’s set was very interesting, panel members suggest a topic and then other members of the panel together with audience discuss and comment on that subject.
One of the things that was almost obvious to realize, is that there were not a lot of comments coming from audience. I guess that is almost normal as people are usually shy to start to talk. That is due to several reasons, like language constrains (not everyone is a native English speaker in an international conference), cameras (not everyone is born a star) and lot of other reasons.
There were a guy sitting not far from me. He was trying to wave his hand to Fowler so that he gets his chance to comment about a subject. Then you see Martin Fowler coming towards him to give him the mic, then suddenly stops and turns his back to him to search for someone else ( and there weren’t any!). He completely ignored him. I thought that might be just the fact that he didn’t actually see him. But then the same thing happens with another theme when the same guy tried to tell his opinion.
Hold on, this can’t be true. There should be something going wrong. Such a thing can’t happen twice! Am I imagining things?
Well it turned out that Fowler actually chooses what people to block, and completely ignore. I surprisingly found this out when Fowler heads by the end of the panel, and tells the guy "I am sorry, but I did this in purpose. I’ve noticed in other presentations that your questions are unclear, and I will continue doing this until I see a change"
My question is: How will you get the 1000 other people to talk if you got such strategy? Can I call this pattern "Fowler’s Shut up I can’t understand you agile pattern"? or "Martin Fowler: Shut up you seem to talk unclearly agile pattern"? Does it worth to hurt people in the first time? wasn’t it Martin himself that emphasized on communication ? So according to this pattern, can I shut up my developers when they talk unclearly? or my users (in this case the guy fits in a role of user of this suggested panel) that don’t know how to express precisely in formulas their needs? Should I actually fire a developer for his funny accent? or because his vision doesn’t fit with mine me the leader?
I am still very surprised by this irresponsible unrespectable behavior coming from a person I thought I trusted. That felt for me unprofessional, and quite disappointing from a leader. I assure you that I am not making this up, there were other people that witnessed that! So does your position and your role allow you to exclude the existence of other people? To harm them and break them in this ugly way? well I don’t guess so!
I mean I wont go through the suggestion that person might be not fluent in English, or cannot express himself well or even got some kind of disablement. Isn’t all agile is about communication? discussion? acquiring and understanding? Does the fact that you are a hero give you the right to punish people this way? Are we at school here? Isn’t that exactly what dictators are about? Selective freedom of express?
What I really think is anti-agile is this kind of guessing. Fowler tried to guess what the guy’s comment is about it, and it excluded it right away, twice? Don’t we say that in agile we should not try to guess?
I met and had long talks with a lot of programing pioneers. Erik Mejier, James Coplien, Bob Martin, Eric Evans, Kevlin Henney, Microsoft Architects, Java language designers. And I can not express enough how simple I find them to be. And discussion with them turns always to be very rich, for everyone. The thing is I don’t understand really what this arrogance that other "stars" have is for!
Dear Martin Fowler, I am largely disappointed by your unexpected behavior. And I hope you will admit that you were wrong, because I guess trust is a responsibility, and you don’t need to abuse the trust. You do not have the right to hurt people. And you do not have the right to exclude someone that maybe invested all what he got to get to participate to this agile environment. Please do not spoil it.
Things to know though:
I talked to the guy and I asked him curiously what were his comments about:
On Object Oriented Design: He wanted to point out the one of his favorite design books: Domain Driven Design, doesn’t talk about a particular paradigm; but rather choosing the best paradigm that fits in the problem. That a user model should map to the programming model and that is the only way to anticipate change. To map these two we need modeling tools that fit for that particular problem at hand. So one should then go search in the different paradigm modeling concepts, to find what fits best. And that domain analyses is explained very good in a paper and a book of James Coplien about Multi-Paradigm design, a paper that was written surprisingly in year 2000!
I do not personally see how can this be unclear!
One of the "unclear" comments that this guy had through earlier presentation was about that we should also try to teach business people how to be agile and to stop underestimating software and accept partial releases. And the other is that Usability is a huge concern, and it is not in the Agile manifesto, neither DDD is!
I do not find this unclear either, even he is in slight disagreement with today’s Agile "leaders". It seems to me logical because "Interface is the program" and it is not Agile
March 10, 2008
My schedule for QCon London 2008
Here goes my schedule for Qcon London 2008
See you there
(more…)
March 9, 2008
Obsev:: Mutability is addictive like drugs, Mutation can become a cancer!
This is really crazy!
The first time I got introduced to mutation, I had a bad feeling. How can x:=x+1 be logical at all?
It felt so unnatural, scary, or maybe like a hack. Then, because of society constrains, I got to forget the bad feeling about that. Well, my mind started to tolerate with counter-logic logic. And that is how I became an enterprise developer. I am not sure how proud I am with this title anyway. I feel that tolerating and accepting the counter-logic logic is one, and most important one, of the prerequisite to this title.
OBSEV:: Dangerous Coupling: A coupling that most people aren’t aware enough of !
Behavior coupling problem might seem obvious, and easily evitable. But not when, with a little observation, we notice that it is everywhere!
March 6, 2008
Crosswords:: Testing and Recoverability: Object Oriented vs. Functional Programming Languages
In his latest blog post, Michael Feathers’ argued that object oriented programming languages offer some built-in features that facilitate testing and are therefore more recovery friendly than functional languages. Proponents of functional languages expressed strong disagreement with this statement, which provoked a very passionate debate in the blog community.
Powered by WordPress




