From: Ben Tilly Date: 2000-12-14T07:23:14+09:00 Subject: [ruby-talk:7176] Re: Ruby in Ruby "Pete McBreen, McBreen.Consulting" wrote: > >John Carter wrote in message ... > >The point of ruby in ruby is less compilation, but more reflection. > >http://www.tunes.org/Review/Reflection.html has a lot to say on the > >subject. > > > >Ben Tilly's point about multiple front ends is correct. Once you remove > >the idea that text is the language and replace it with an "Object Tree" >is > >the language, the gates are open to a large number of strange thoughts. > > > >What about graphical representations of a program? Reverse engineering >the > >UML diagrams becomes much easier. > > > >Why not program in Asian pictographs instead of western ASCII? > > >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. It was also a pain having to make sure to invoke the >right compiler, sure the linker didn't care, but there was very little >sharing between the different applications because of the hassles. As I said, there is much to say against the idea. For one thing once you start having multiple front ends and back ends you start to freeze design decisions you may want to revisit. [...] >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. Yes, it was possible, and the debugger would >recognize the language appropriately as you stepped into a routine, but >to be effective _a developer had to know all of the languages_ and that >took a long time and was hard work. I heard about this from someone who was at DEC when they did this. It went over like a lead balloon. Basically everyone felt that the energy that had gone into this detracted from their language (whatever language that was). > >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. > > > >Why is it that whenever a developer sees a new language they want to add >their favorite features into that language? > In my case I don't want to add more features. Just make sure that interesting ideas have been brainstormed about. I leave judgement about which ideas are worth adding to others. OK, fixing obvious performance problems (the native arrays cannot be used to make an efficient queue) is something I want to add. But that is not a change to the language per se. [...] >Part of the attraction of Ruby (for me at least) is that it is a >relatively simple language with few surprises. I'd hate for Ruby to >evolve into a really large complex beast that is hard to get to grips >with - Java 1.3 anyone?;-) Note that the feature suggested would not actually create a visible change within Ruby's internals. >Sure Matz could add lots more really cool features, but I'd suggest that >for every cool feature that is added two other cool features have to be >removed. I value simplicity. I think that the "feature of the day" syndrome is dangerous. But the "feature" of a clean design is another story. Cheers, Ben _____________________________________________________________________________________ Get more from the Web. FREE MSN Explorer download : http://explorer.msn.com