"quiet_lad" <
gavc...@gmail.com> wrote in message
news:dfb3beba-f641-4064...@b5g2000pbm.googlegroups.com...
> [inSubject: What do forthers think of shen?]
>
> [link to Shen's history]
http://www.shenlanguage.org/motivation.html
Well, "casual_spam," it must be time to change your nickname again. It
seems that almost no one has responded to you... I was hoping no one would
do so for a week or so. Then, I'd post. Oh, well...
Maybe, you should subscribe to comp.lang.misc and post there?
I've added it.
Well, Shen (or Qi) looks like Lisp to me... It has abundant - some would
say excessive - parentheses. Other than very minimal surface exposure, I'm
not familiar with Lisp. Also, I'm not familiar with the "many of the
advantages of ML" that Dr. Tarver wished he could bring to Lisp. So, should
I really posit an opinion of "what [I] think of Qi (or Shen)" ... ?
It seems Dr. Tarver is working with mostly non-mainstream languages, i.e.,
academic. Apparently, he worked for the same University where ML was
created, which was probably why he is familiar with it. The claims that
"'Qi' was a ground-breaking language" seem absurd given that no one, i.e.,
everyone outside academia, was aware of this language until you posted a
link to it...
I did think it is interesting that Dr. Tarver _eventually_ stumbled onto a
good idea for preserving and promoting his Qi language, i.e., make it more
portable. Both C and Forth were rewarded for being portable. His
implementation of the idea of a more portable Qi apparently was comprised
entirely of recoding Qi using a small subset of the language. He probably
needs to add a few bootstrap-only operations to the language too. Of
course, we don't have the myriad of computing platforms we once did. But,
today, we do have a variety of browser languages, embedded environments, and
cloud computing, where it could be used.
However, the fact that there are places where Shen could be used glosses
over the fact that Shen still *looks* like Lisp. Have you ever seen anyone
jump up and down to learn Lisp? Yeah, I didn't think so... The point
being: there are some languages programmers enjoy programming, and others
that they don't or won't. That's mostly a function of syntax, but also of
capability. Pascal and BASIC's syntax was acceptable, but their capability
was limited. Fortran's capability was fine, but it's syntax was beyond
horrible, to the point of being nightmarish. So, even if Shen is superior
to *all* other programming languages, not very many people are going to be
willing to program it. The syntax reminds them of Lisp ... which most
programmer's know as "Lost In Stupid Parentheses". Despite rebuttals here
by skilled Forth programmers, Forth's lack of syntax has created much the
same image problem for it. People need structure and order, i.e., syntax.
Lisp also has the image problem that one needs an understanding of "lambda
calculus" to effectively program in it. That perception definately doesn't
help.
Should Dr. Tarver have renamed Qi to Shen afterwards? No, probably not.
Personally, I think that was a blatant mistake. It's very likely that the
original and current base of Qi users won't ever hear or learn of Shen...
Or, if they do, they'll think it is too radical a change, e.g., like C to
C++. In general, people don't like change. They'll accept equivalence or
slight improvement, but major change - even if provably superior - scares
them away. If you're designing a language for popular and widespread use,
then average people need to be comfortable programming it. It would be wise
if below-average people would be willing to program it too.
As you know or should, various Forths over the years have been bootstrapped
or implemented using a small subset of their total functionality, i.e.,
Forth-in-Forth. Various Lisps have done so too. In fact, I stumbled
across three Lisps that claimed to have done so which were posted to Usenet
archives. Two bootstrapped from eight operations and one from fourteen.
So, Dr. Tarver was far from the first to recode Lisp-in-Lisp using a small
subset. With "50 or less" Shen operations, the size of his subset is
comparable to what's needed to implement a useable Forth, not just a Forth
which is bootstrapped. So, it's entirely feasible that Shen is useable too.
For those rare few who are interested in Lisp, I listed those three
bootstrap Lisp's and their language elements here:
http://groups.google.com/group/comp.lang.forth/msg/10872cb68edcb526
Rod Pemberton