From: ptkwt@... (Phil Tomson) Date: 2005-04-04T02:04:46+09:00 Subject: Re: Getting Ruby approved In article , Jeremy Henty wrote: >In article , Phil Tomson wrote: > >> ... I've used Tcl on and off over the years and personally, I >> would not want to do a substantial project in it. > >Having done a fair amount of Tcl programming both at home and at work, >I completely agree. There are two reasons why I would overwhelming >prefer to do such a thing in Ruby (or even in Perl 5): > >1. Tcl doesn't have first class data structures. I can't create an >associative array, populate it, and pass the result to another bit of >code. I have to fake it with call-by-name and upvar. Yeuch! > >2. Tcl doesn't have lexical scoping. If I pass a block of code >around I have to uplevel it to run it in the right context. Worse, I >have to uplevel it by exactly the number of stack frames between the >proc that supplies the block and the proc that executes it, which puts >a burden on refactoring. Double Yeuch! In Ruby this just works; it >doesn't get in the way. OMG! I forgot about that upvar and uplevel stuff - I guess I blocked it out of my memory. Triple Yuck! > >That said, Tcl's embedding API design is superb. I really hope Rite >copies it. Or at least learns a great deal from it. Phil