Re: Question for Bill Allombert: the "menu" mess
On Fri, Mar 10, 2006 at 02:38:51PM -0800, Ted Walther wrote:
> Hi Bill. As the packager of "ratmenu", I've had to grapple with the
> menu package, which you maintain.
> Bill, can you tell us the reason you chose to implement your own unique
> configuration language for "menu"? Why did you choose to implement it
> in C++ instead of re-using an already existing language like bourne
> shell, tcl, or python? And finally, why did you make the menu language
> so different from the other languages out there that even you couldn't
> debug the problems it was having in ratmenu, and that I couldn't figure
> it out because the language is undocumented?
I wrote in my platform that I took over menu because it was not
maintained. The original author is Joost Witteveen, who started it in
1996. I did not make any design decision, my role was more to
understand how menu was supposed to work, to document it, fix it and
eventually add new features (mainly l10n support). I actually don't know
much about C++ myself, but I received a lot of help from Morten Brix
I try not to let my opinions about programming languages going in the
way of fixing problem I find important.
The ratmenu problem was actually a bug in the implementation of one
install-menu function that was not used anywhere else and was not locale
aware, not a bug in the menu-method. This was fixed in October. Given
the convoluted way ratmenu implement submenus, I see the fact that Debian
menu support it a major achievement.
In retrospect, I believe menu design is sound, but the implementation
suffered from lack of forward planning (particularly in the file
formats). I think actually C++ was a good language choice, being fast
and not requiring much of run-time support, but having better data
structure support than C.
I recently made a talk at FOSDEM about menu. I hope to eventually fix
the slides and put them online.
Imagine a large red swirl here.