merlyn / stonehenge.com (Randal L. Schwartz) writes: > But comparing Ruby to Perl doesn't seem as interesting as comparing > Ruby to Smalltalk. I'm not sure that binary comparisons work too well when we're talking about languages, and I certainly wouldn't want to make too many comparisons between Ruby, Perl, and Smalltalk. However, it can be useful to use other languages as metaphors and similes when describing something new. Thus I often say that Ruby is like a cross between Perl and Smalltalk, taking the pragmatism of Perl and combining it with the pure OO of Smalltalk. My intention in doing this is to give people a feeling for Ruby, not to take anything away from either Perl or Smalltalk. Ruby does not (yet) have a Smalltalk-style IDE, but there are some good reasons for this. - no one's written one (although there are some browsers out there, none offer stop and go to my knowledge). - Ruby is more dynamic than Smalltalk, and some Ruby constructs (such as adding methods to individual objects) are more difficult to represent in a Smalltalk-like browser - one of the downsides of the Smalltalk model is that the workspace carries the state, making deployment an issue. With Ruby, as with Perl, the source is the code. I know that there are Smalltalks that are source-based, but they don't seem to have caught on. > But I'm still a bit puzzled about the *point* of Ruby. It's either > Smalltalk without the IDE, or Perl without the CPAN and programmer/ > install base and wide ports, or Python without the annoying "it'll > be indented THIS WAY or Guido will come and get you" feature. > > What do you want to accomplish with Ruby? Personally, I want to write code with as little friction as possible. I want to express my ideas directly, without having to interpret them through many levels before a language can cope with them. I want my programs to be concise, but readable. I want to have the flexibility to run my programs in different environments, and to integrate environment-specific functions with a minimum of fuss. I want to have fun programming, but not at the expense of people who'll be reading my code a year from now. I've tried many, many languages. Ruby is the closest I've found to my ideal. Ruby is still young (outside of Japan), and doesn't yet have the platform portfolio nor library depth of Perl. Give it time though. As Perl showed us, once a certain point is reached, the problem is controlling the growth, not the amount of code that's available. Unlike many other languages, though, there isn't an organization behind Ruby, promoting it to the world. Its user base grows by accretion, as individual developers try it, and like it. Ruby is not a threat to Perl, or to Python, or ... Ruby is just a personal tool. Have fun trying it. Dave