From: "Jürgen Strobel" Date: 2006-08-11T22:29:54+09:00 Subject: Re: does ":" have an anolog in another language? --VywGB/WGlW4DM4P8 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Aug 11, 2006 at 01:49:08AM +0900, Rick DeNatale wrote: > On 8/9/06, J=FCrgen Strobel wrote: >=20 > >As Ruby started out as a simple Lisp dialect, that's certainly where > >:symbols come from. >=20 > I'm not sure what Matz would say about this. Although Lisp was > certainly one influence, it's pretty clear that Smalltalk was at > least, if not more so. One hint is the naming of the iterators in > enumerable, and the use of blocks. Not to mention the ruby object > model, which can be seen as another evolutionary step in the chain > started through Smalltalk-72, Smalltalk-76, and Smalltalk-80, with a > few capabilities of Self mixed in. Now, Lisp of course had a great > deal of influence on Alan Kay and Dan Ingalls in conceiving and > developing Smalltalk as well, but I don't think that it's accurate to > say that "Ruby started out as a simple Lisp dialect." As I understand > it started out as a scripting language which was completely > object-oriented in the way Kay intended when he coined the term. What > I sense as the family-tree of ruby, through the glasses of an old > Smalltalker, looks something like: >=20 > +--------------------+ > / Perl -------\ > Lisp --> Smaltalk --\--> Ruby > \- Self -/ >=20 > But that's an archaeological analysis, with a certain bias on my part. >=20 > --=20 > Rick DeNatale I think I know :) Here's a quote from Matz, not sure where it originally came from. I had it in some of my notes and possible presentations material. If anyone knows this to be misattributed, please correct me: ----- Ruby is a language designed in the following steps: * take a simple lisp language (like one prior to CL). * remove macros, s-expression. * add simple object system (much simpler than CLOS). * add blocks, inspired by higher order functions. * add methods found in Smalltalk. * add functionality found in Perl (in OO way). So, Ruby was a Lisp originally, in theory. Let's call it MatzLisp from now on. ;-) matz. ----- So yes, he explicitly started with something Lisp like, and added Smalltalk's object model along with Perl's good stuff. If I had to add anoher language there I would say C, because even if Ruby is very different from C a lot of C-isms (or POSIX-isms) shine through where Ruby is just a layer over the C std. library. -J=FCrgen --=20 The box said it requires Windows 95 or better so I installed Linux --VywGB/WGlW4DM4P8 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) iQEVAwUBRNyGTfy64gyiEfXtAQKjwggAiazPml+V9ohzu/wTO4aCgqwDii8n/o99 EaZFbIa4bGGRN3dHa7rvtqJjLcWlwuT3ll310SIrYUQBY8wrICqqmNlfnwMSchPl k6ge7CHoC8RQZ9/1kuh1xgifi3QP5EwovNCYKhfrQ14I7DSicO5njyFzVQiZ9EJB N7sE265Lz8/6D/R9l9ODSR+Eysq2tZVESxKkUxDVedIewxNZNF+bFHM4lyQOCSm8 fMKVNB5NwBVMyWvxKTWoUy4OtOif/v129GrDSqtMIaj6qvJWwYl98rRy+pcF0w5J 2WeL1E08pbIE4BMprMI63ngxd3pzy1ks/iJf06l7xe2Wt4aM/k3VRQ== =DhIi -----END PGP SIGNATURE----- --VywGB/WGlW4DM4P8--