From: Christian Szegedy Date: 2002-09-08T03:22:27+09:00 Subject: Re: Larry Wall's comments on Ruby Denys Usynin wrote: > Christian Szegedy wrote: > > > Well this is like saying: Ruby is very natural and intuitive and you can > learn it in 1 hour, but here's a catch: you have to master at least one > other popular language first. Which may take you a year but nevermind that. > But at least in my personal experience (which I admit may be different > from others) many good languages work exactly the same way and trying to > say Ruby is special because of that isn't quite true. When I first > learned Java after already knowing C++ pretty well, it didn't really > surprise me and came quite naturally, even though admittedly it takes a > lot longer to learn basic java than basic Ruby. > I knew only C and C++ (And a bit Basic and some assemblers) before Ruby. I tried Perl,Python and Sather before trying Ruby (never more than 3 hours), and none of them made it. I simply did not like them. They were too clumsy for me: at least I did not feel the urge because I missed the high degree of satisfaction I feeled with Ruby. I must admit, I did not try hard. I learnt tcl (after learning Ruby, beacuse I must have), but it took much more time, and I still have to look into the docs when using it. The test I used for choosing my working language was the simplicity of defining iterators. I always told everyone: there is one feature C misses so desperatly: that you can't define functions which call the block that follows them. I thought of the syntax "void f(...,@x)"; Where @x would denote the block succeeding f. I told everyone that C would be a ten times better language, if it had this (seemingly unimportant) feature. I found Sather which was quite OK in this regard, but it had a quite unfamiliar syntax and it seemed that the project was dead. In every new language I looked at, I checked how simple or complicated is to define iterators. So I was clearly impressed by seeing that Ruby features almost exactly the solution I considered to be ideal. And even more simply: by using yield. And all this together with a familiar syntax with lot of features, open classes, completely object oriented etc. etc... What I wanted to express: that it is simply false, that it was only my previous experience that made Ruby so simple. In fact, I could learn most languages in a week or so, but I'd be in trouble if I had to write something practical after an hour. Regards, Christian