Why does darwinports developers choose the tcl/tk for
darwinports project?
Jordan K. Hubbard
jkh at brierdr.com
Fri Dec 29 11:43:08 PST 2006
No offense, but I think it's "just you". If MacPorts were written in
Python, you'd have Python haters jumping up and down saying that if
were only written in Ruby, they'd be happy to contribute to it. If
it were written in Ruby, you'd have Ruby haters saying the same
thing. If it were written in Perl, well, nobody at all would be able
to read the code and even the maintainers wouldn't know what it
did. :-) [OK, sorry, I couldn't resist].
The only argument that really has demonstrable merit is that Tcl
isn't as sexy or popular as, say, Ruby and if we'd gone with sex
appeal over simplicity, we'd probably get more people willing to
contribute for the sex appeal alone. That's true enough. However,
if it had been written in Ruby (or even C), I think it's also fair to
say that the Portfile syntax would look completely different since
you wouldn't get the basic "key value" notation for free and the
Portfiles would be some intermediate form with some sort of Fink-like
"escape" syntax for diving into Ruby (or, in Fink's case, shell) and
I think the Portfiles would be far more convoluted in exchange for a
sexier implementation language. But I'm just guessing here since
nobody really knows what would have happened had a different
evolutionary path been chosen.
What is clear is that the existing Tcl code definitely needs to be
_refactored_ such that some of the data structures and routines for
manipulating them are re-written in C (all the ditem handling stuff,
for example) since nobody will argue that the current MacPorts
implementation is SLOW in the extreme. Tcl was never meant to do as
much of the heavy lifting as it is in MacPorts - it was specifically
designed to encourage the implementor to move performance-critical
stuff into C and easily move back and forth between the two realms.
Unfortunately, that "cleanup phase" hasn't happened yet.
- Jordan
On Dec 29, 2006, at 4:14 AM, Luc Heinrich wrote:
> On 28 déc. 06, at 00:13, Kevin Ballard wrote:
>
>> http://www.opendarwin.org/pipermail/darwinports/2002-October/
>> 015354.html
>
> In my very own and personal opinion, Tcl is the single reason why
> MacPorts doesn't get as many external contributions as it should
> and is therefore so awfully slow to evolve. I have tried to dive in
> the MacPorts sources many times, read the Welch book, yadda yadda,
> and I still can't get past 3 or 4 lines of Tcl without giving up in
> disgust. Ok, maybe that's just me but still...
>
> --
> Luc Heinrich - luc at honk-honk.com - http://www.honk-honk.com
>
>
> _______________________________________________
> macports-dev mailing list
> macports-dev at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo/macports-dev
More information about the macports-dev
mailing list