Platonides <platonides(a)gmail.com> wrote:
[...]
I think it really makes sense to define the names of a set of available
functions. That would really make much simpler the development of
portable tools, or working on different languages, without having to
relearn the framework used.
That said, each of us would probably push for their own API to be
standarised.
I think you found the problem :-). Should "normalizeLink"
be a method of "WikiFarm", "Wiki" or "WikiPage"? Should a
page title be a string or a "WikiTitle"? If the latter and
in a true OOP language, should it be a derived class of
"string" or "WikiString" which would be then derived from
"string"? And so on, and so forth.
I don't think providing tests is the panacea for
making people implement
them. They are obviously nice, but as it would be open source, each user
doesn't need to reimplement them according to the specification. The
same code could be shared.
The problem is in adoption of the API, and agreeing on an "standarised" one.
Having recently ported a parser skeleton from Java to PHP, I
disagree wholeheartedly :-). There are many subtle differ-
ences between languages which programmers usually aren't
even aware of because they take them for granted. Take re-
gular expressions and their various flavours for example.
Test cases ensure reproducable results and give the develop-
ers the confidence that their enhancement/optimization will
not burn down the house.
So I'm looking forward to Madman publishing his framework.
Tim