On Mon, Dec 29, 2008 at 02:25:21PM +0200, anatoly techtonik wrote:
> On Mon, Dec 29, 2008 at 2:15 PM, Petr Rockai <me@...> wrote:
>>> Having a script to interface with bt written in Python will
>>> increase its adoption and chances for patches.
>> Or in Haskell, given the crowd here. But that's besides the point.
I actually intend to rewrite it in Haskell eventually, but I got
bogged down while grokking Haskell's interface to the dup2(2) system
call. Since then I've been busy with other work.
(Petr, note that this thread is cross-posted to both Darcs and Roundup
user lists. Roundup is writen in Python.)
>> Windows users will be likely more comfortable with the web
>> interface anyway (much more windows-y) and other than that, there's
>> nothing wrong with shell for the task at hand.
Well, the Darcs developers know that shell scripts aren't portable to
Unix-like systems! You'll note I used fgrep instead of grep -F :-)
But I've made no effort to avoid GNUisms, which is why the
announcement contained an "only tested on Debian 5.0" caveat.
> The point is that toolchain for a crossplatform project must be
> crossplatform too.
Sorry, I don't agree that ru needs to be portable because Roundup is
portable. I might agree if ru was part of the Roundup project, but
currently it isn't and I don't expect it to be included in the near
FWIW bash scripts *will* run on Windows; a stand-alone interpreter is
available from http://gnuwin32.sf.net. I think other dependencies for
ru(1) can be provided in a similar way, but I'm not really interested
in supporting Windows. As ESR put it, I'm "scratching my own itch."
> If we'll take Roundup as an example of such project - people would
> expect that these tools will be written in Python to be able to
> update and extend them.
Sorry, but I find Python's design counter-intuitive, confusing and
aggravating. (Attached is a form letter that goes into details. I
won't answer responses to it on-list, because I don't want to start a
flame war.) I don't think it's significantly harder for users to
extend a bash script than a Python script, but YMMV.
> More than that - CLI script in Python can directly use Roundup parts
> to do some tasks and its API can simplify unit testing.
The use case that ru(1) addresses is that of an ordinary user
interacting with a *remote* roundup server. In that case, the roundup
libraries are probably not installed on the user's machine, and I
didn't want the user to have to install them.