On Thu, 14 Dec 2000, Pete McBreen, McBreen.Consulting wrote: > I agree that it is possible to have multiple front ends, but this has > the unfortunate effect of reducing the size of the community. Having > once had the fortune of maintaining some German COBOL (where all of the > COBOL keywords had been translated into German), it was a really > difficult job. Ah, but keywords would be no problem. You could have english or Japanese or german keywords at a flick of a switch on the pretty printer. Variable names, hmm, that could be problematic, but fungible. > As soon as there are dialects, we get a breaking apart of the community. > Back in the 1980's DEC did a really good job with all of the programming > languages for VMS, pick any language COBOL, C, Pascal, Macro, Bliss, > Fortran, Datatrieve etc... all could call functions/routines written in > any other language. Even though this capability existed, I saw very > little evidence that there was much sharing between projects using > different languages. Not so, I (and anyone else developing on the I^2S systems), made _very_ heavy use in those days of that facility hopping between C and Fortran and Bliss routines. > >The thing here is ruby is 90% of the way to Tune's ideal. It has the > >node structure, one step more makes it reflective. It is pure OOPS > >already. > > <rant> > Why is it that whenever a developer sees a new language they want to add > their favorite features into that language? > </rant> Ah, the trick here is that it adds no new language features! Not One! It merely renders the existing internal objects of programs visible <strong>as encapsulated by objects</strong>. The facility of accessing primitive objects is there. Nothing new to be added. If the internal representation of program nodes shifts, well no problem, thats why we have object encapsulation. John Carter Work Email : john / netsys.co.za Private email : cyent / mweb.co.za Yell Phone : 083-543-6915 Phone : 27-12-348-4246 Carter's Compass... I know I'm on the right track when by deleting code I'm adding functionality.