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@honk-honk.com - http://www.honk-honk.com
_______________________________________________ macports-dev mailing list macports-dev@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo/macports-dev