-----BEGIN PGP SIGNED MESSAGE-----

In article <amfugm$p4h$1 / grapevine.wam.umd.edu>,
William Djaja Tjokroaminata  <billtj / z.glue.umd.edu> 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-----