From: bbense+comp.lang.ruby.Sep.20.02@... Date: 2002-09-23T21:16:14+09:00 Subject: Re: Python the new Lisp, what about Ruby then? -----BEGIN PGP SIGNED MESSAGE----- In article , William Djaja Tjokroaminata wrote: >Hi, > >As I don't have a computer science background, my dream is a >"language" where I can specify my own rules. I can specify whether I want >a free form language like C and Perl, or an indentation-based language >like Python. I can specify whether I have array/hash context such as >in Perl, or I just want Ruby object model. > >Yes, probably tools such as yacc and bison already exist to create a new >language, but they are still too hard to use for a typical >programmer. (How many new languages are actually created per day?) It >may be a total dream, but who could imagine a language like Ruby 30 years >ago when assembly, BASIC, Fortran, and COBOL were the norm? - - The ideas behind Ruby are not that new. They were around 30 years ago. They've just taken that long to get out of acedemia and into a more accessible space. > >Basically, my dream is I can specify easily: I want a language with Ruby >object model, with Python syntax, with reference counting gc, without the >need for Python ending ":" to reduce typing, with blocks, and voila! with >just several instructions such a language is created. And even further, I >can change the gc model for different parts of my code. Basically, >each one of us can create his/her own rules based on his/her own >preferences at that moment. What a dream... (Any possibilities from the >theoretical computer science point of view? Hopefully a Turing machine is >not the answer; it is still too hard to use :) ) > - - You've basically described programming on a Symbolics lisp machine as I understand it. However, I never really got a chance to do more that stand over somebody's shoulder while they showed me all the cool tricks you could do. We have lost some really cool things along the way. - - The problem with such a flexible model is you eventually create a language that only you understand[1]. Solipsism in a computer language is a bad thing IMHO. If I understand the perl6 apocalypses correctly, Perl6 is going to let you do a lot of this kind of thing. It's one of the reasons I started looking for another language. IMHO, programming, while primarily a means for talking to a computer, is also a means to communicate with other programmers. If every program invents it's own language, I have to learn that specific language before I can make sense of the program. (For an example of this consider C++ operator overloading.) You need to strike a balance between discipline and flexiblity. - - Booker C. Bense [1]- even worse, only you at a certain point in time understand. One of the reasons I've learned to avoid command customization via aliases and whatnot, is that if I stop using something for a while, when I come back I've lost the context that made all those aliases meaningful. -----BEGIN PGP SIGNATURE----- Version: 2.6.2 iQCVAwUBPYuMimTWTAjn5N/lAQF6YgP+Jy6lmLZEgukYtJsDsSfJKhTYRbya/YCT pe2FjOuBdKP6QrlUvsINfk/4AFMWbpBimcowfGeU2m7KJkZB+XJkuOX4fqGHbDbo B7Z9iQsqmHTdFNMkVdA5jr1t/vwg1yXFhgC0k6XixGy8G0GAuTxpjm7aRnn2JvKM DZvK4EbBAvU= =FlGd -----END PGP SIGNATURE-----