Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #9243 > unrolled thread

Valentine Bingo - Comments?

Started bySteve Graham <jsgrahamus@yahoo.com>
First post2012-01-26 14:24 -0700
Last post2012-03-07 22:10 -0800
Articles 12 on this page of 32 — 15 participants

Back to article view | Back to comp.lang.forth


Contents

  Valentine Bingo - Comments? Steve Graham <jsgrahamus@yahoo.com> - 2012-01-26 14:24 -0700
    Re: Valentine Bingo - Comments? Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-02-01 23:12 -0800
    Re: Valentine Bingo - Comments? Paul Rubin <no.email@nospam.invalid> - 2012-02-04 21:15 -0800
      Re: Valentine Bingo - Comments? Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-02-07 17:59 -0800
      Re: Valentine Bingo - Comments? Steve Graham <jsgrahamus@yahoo.com> - 2012-02-08 07:53 -0700
        Re: Valentine Bingo - Comments? Paul Rubin <no.email@nospam.invalid> - 2012-02-08 10:59 -0800
    Re: Valentine Bingo - Comments? crc <charles.childers@gmail.com> - 2012-02-03 11:35 -0800
    Re: Valentine Bingo - Comments? Steve Graham <jsgrahamus@yahoo.com> - 2012-02-07 07:39 -0700
    Re: Valentine Bingo - Comments? "WJ" <w_a_x_man@yahoo.com> - 2012-03-03 05:32 +0000
      Re: Valentine Bingo - Comments? "Elizabeth D. Rather" <erather@forth.com> - 2012-03-02 21:00 -1000
      Re: Valentine Bingo - Comments? "WJ" <w_a_x_man@yahoo.com> - 2012-03-03 09:21 +0000
        Re: Valentine Bingo - Comments? Paul Rubin <no.email@nospam.invalid> - 2012-03-03 01:26 -0800
          Re: Valentine Bingo - Comments? Josh Grams <josh@qualdan.com> - 2012-03-03 12:52 +0000
            Re: Valentine Bingo - Comments? John Passaniti <john.passaniti@gmail.com> - 2012-03-03 14:08 -0800
              Re: Valentine Bingo - Comments? Paul Rubin <no.email@nospam.invalid> - 2012-03-03 14:41 -0800
                Re: Valentine Bingo - Comments? John Passaniti <john.passaniti@gmail.com> - 2012-03-03 17:39 -0800
                  Re: Valentine Bingo - Comments? Paul Rubin <no.email@nospam.invalid> - 2012-03-03 19:18 -0800
                    Re: Valentine Bingo - Comments? vandys@vsta.org - 2012-03-05 17:27 +0000
              Re: Valentine Bingo - Comments? "Elizabeth D. Rather" <erather@forth.com> - 2012-03-03 17:51 -1000
              Re: Valentine Bingo - Comments? Josh Grams <josh@qualdan.com> - 2012-03-04 12:29 +0000
                Re: Valentine Bingo - Comments? Rugxulo <rugxulo@gmail.com> - 2012-03-04 07:53 -0800
                  Re: Valentine Bingo - Comments? Josh Grams <josh@qualdan.com> - 2012-03-04 17:24 +0000
                    Re: Valentine Bingo - Comments? Rugxulo <rugxulo@gmail.com> - 2012-03-04 11:41 -0800
              Re: Valentine Bingo - Comments? Rugxulo <rugxulo@gmail.com> - 2012-03-04 08:16 -0800
                Re: Valentine Bingo - Comments? Bernd Paysan <bernd.paysan@gmx.de> - 2012-03-04 17:39 +0100
                  Re: Valentine Bingo - Comments? Bernd Paysan <bernd.paysan@gmx.de> - 2012-03-04 17:42 +0100
                Re: Valentine Bingo - Comments? kenney@cix.compulink.co.uk - 2012-03-05 04:09 -0600
      Re: Valentine Bingo - Comments? Rugxulo <rugxulo@gmail.com> - 2012-03-03 11:35 -0800
      Re: Valentine Bingo - Comments? Doug Hoffman <glidedog@gmail.com> - 2012-03-04 10:07 -0500
        Re: Valentine Bingo - Comments? mhx@iae.nl (Marcel Hendrix) - 2012-03-04 17:42 +0200
          Re: Valentine Bingo - Comments? hwfwguy@gmail.com - 2012-03-06 20:38 -0800
        Re: Valentine Bingo - Comments? Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-03-07 22:10 -0800

Page 2 of 2 — ← Prev page 1 [2]


#9837

FromRugxulo <rugxulo@gmail.com>
Date2012-03-04 07:53 -0800
Message-ID<3d3c341e-2e03-4a93-af30-46fcda5522e4@j8g2000yqm.googlegroups.com>
In reply to#9833
Hi,

On Mar 4, 6:29 am, Josh Grams <j...@qualdan.com> wrote:
> John Passaniti wrote:
>
> > But it would be a mistake to ignore him.  Yes, this is a Forth
> > newsgroup.  But I see nothing wrong with pointing out areas of Forth
> > that some consider weak and expressing that perspective.
>
> Yeah, but I think the history shows pretty clearly that he's not
> interested in a real dialogue either.  He just comes by and periodically
> and posts Ruby code with an inflammatory paragraph or two.

It might be (mostly) off-topic, but at least he's posting actual code.
If all he was saying was, "Go flush yourselves, Forthers!", that might
be more annoying.  ;-)

> > One of the most annoying things about comp.lang.forth to me is that
> > people here tend to be pretty binary in their thinking.  It's like
> > there is no middle ground.  Ruby-guy comes in here and the knee-jerk
> > reaction is to say that Ruby isn't appropriate for all problems, much
> > less the problems one typically uses Forth for.
>
> Yes, and I'm not endorsing that.  I'm familiar with Ruby and have used
> it for several small projects.  My only issue is that it seems to be
> very slow. :(  Every time I try to use it on any volume of data it is
> slower than I feel like waiting for and I wind up going back to Perl.  I
> suppose I should try it again -- it has been a year or two and maybe
> they have made improvements.  Python was horribly slow for *years* and
> they eventually fixed that...

Ruby 1.8.7 is the last of that line and is basically done and
finished. It will only have very minimal fixes done for a short while,
then it will be completely abandoned. It's already suggested to use
the 1.9 series full-time, and latest seems to be (EDIT: bump) 1.9.3.
Yes, it's supposed to be much faster (though I've not tried it):
native threads, Unicode, YARV, etc. But, like I alluded to before,
Ruby is just not as portable as Forth, and 1.9 is worse.  :-(    Yeah,
I know, cry me a river, but it just seems odd to have so many
questionable assumptions in a so-called general purpose language. So,
at least for portability and standardization, Forth easily wins over
Ruby (which BTW is more inspired by Perl than Smalltalk or Lisp, hence
the name).

EDIT: You say Python "fixed that", how so? I only heard about Unladen
Swallow, but even that was eventually basically abandoned (and only
partially completed and only for slightly older version, right?). I
don't know why these languages aren't speedy enough, I sometimes
wonder if being written in C (or maybe using GCC) is the real
bottleneck. I might get flamed for saying that, but seriously,
sometimes I honestly wonder. Despite all the proclaiming that
"algorithms matter more than micro-optimizations", I can't help but
feel that sometimes you have to worry about opcode selection too
(although it's an almost pointless task, too hard to do well IMHO, at
least across various x86 versions).

> At any rate, I don't have a problem with Ruby-guy posting here; I just
> think it's probably a waste of time to expect him to engage in any
> meaningful debate.

Well, it's no worse than browsing Rosetta Code out of curiosity. At
least real code is better than empty arguing.

[toc] | [prev] | [next] | [standalone]


#9845

FromJosh Grams <josh@qualdan.com>
Date2012-03-04 17:24 +0000
Message-ID<4f53a557$0$10204$882e7ee2@usenet-news.net>
In reply to#9837
Rugxulo wrote:
> On Mar 4, 6:29 am, Josh Grams <j...@qualdan.com> wrote:

> But, like I alluded to before, Ruby is just not as portable as Forth,
> and 1.9 is worse. :-(

Oh? I missed that, where was it?

>> Python was horribly slow for *years* and they eventually fixed
>> that...
>
> You say Python "fixed that", how so?

Just a general observation.  It was mainly startup speed (including
compilation and loading) that bothered me.  The runtime speed seemed
pretty decent -- slower than Perl, but not tremendously so.  This was
back on a dual-G4 533MHz PowerMac running Linux, and the startup time
was a good solid third of a second, and loading any code tended to push
it up around a half-second.  Which is fine for some purposes, but makes
it (for me) totally unbearable for command-line tools.  I remember
trying the bzr distributed version control system and having it take
about .7 seconds to display the command-line help.  That's a lot longer
than I'm willing to wait.

Then a couple of years later I was complaining about it to someone who
said that wasn't the case, and I went back to that box and installed the
latest version of Python, and sure enough it started up and loaded code
fast enough to be acceptable.  I don't know what they did to make that
happen.

--Josh

[toc] | [prev] | [next] | [standalone]


#9849

FromRugxulo <rugxulo@gmail.com>
Date2012-03-04 11:41 -0800
Message-ID<01f846c8-a4db-444c-9eab-417257dfad9a@t16g2000yqt.googlegroups.com>
In reply to#9845
Hi,

On Mar 4, 11:24 am, Josh Grams <j...@qualdan.com> wrote:
> Rugxulo wrote:
> > On Mar 4, 6:29 am, Josh Grams <j...@qualdan.com> wrote:
> > But, like I alluded to before, Ruby is just not as portable as Forth,
> > and 1.9 is worse. :-(
>
> Oh? I missed that, where was it?

What exactly? (confused)  :-/

Well, I guess I have to post a bunch of off-topic links now just to be
exhaustive.   ;-)     And I'm far far FAR from a Ruby pro.

1993 - Ruby "conceived"
1995 - Ruby 0.9.5
1996 - Ruby 1.0
2003 - Ruby 1.8.0
2007 - Ruby 1.9.0
2008 - Ruby 1.8.7pl0
2010 - draft standard (Japan)
2011 - final Ruby 1.8.7 patchlevel 352
2012 - Ruby 1.9.3

http://en.wikipedia.org/wiki/Ruby_(programming_language)
http://www.ruby-lang.org/en/news/2003/08/04/ruby-180-released/
http://www.ruby-lang.org/en/news/2007/12/25/ruby-1-9-0-released/
http://www.ruby-lang.org/en/news/2011/07/02/ruby-1-8-7-p352-released/
http://www.ruby-lang.org/en/news/2012/02/16/ruby-1-9-3-p125-is-released/
http://www.rubyinside.com/ruby-1-9-0-3-and-drops-support-for-9-platforms-970.html
http://www.ruby-lang.org/en/news/2011/10/06/plans-for-1-8-7/
http://www.ipa.go.jp/osc/english/ruby/index.html

1.8.7 bugfixes only until June 2012, security fixes until June 2013.
Then it's frozen in time ("dead"?). Wouldn't be a huge deal except 1.9
dropped a lot of platforms, and IIRC, you can't (easily) build 1.9
without some of the more expensive features. (Even Java dropped green
threads eventually, so why am I surprised?) Also, the proposed
standard (2010 draft, so far not finalized) was based upon 1.8.7. Oh,
and for licensing geeks, the 1.9 series is dually licensed with BSD
this time (instead of formerly GPL).

So yeah, it's weird. (And I'm literally the worst Ruby advocate, not
even! But still very vaguely interested, heh.) Hmmm, better get on-
topic: I still like Forth better.  ;-)

[toc] | [prev] | [next] | [standalone]


#9839

FromRugxulo <rugxulo@gmail.com>
Date2012-03-04 08:16 -0800
Message-ID<72fc94cd-74b5-4aee-bdff-e85498921e50@32g2000yqn.googlegroups.com>
In reply to#9819
Hi,

On Mar 3, 4:08 pm, John Passaniti <john.passan...@gmail.com> wrote:
>
> I think the guy is silly and I don't understand his motivation for
> posting here.

Presumably just boredom or comparison. It's too easy to assume the
worst, and I doubt he has an axe to grind.

> But it would be a mistake to ignore him.  Yes, this is a Forth
> newsgroup.  But I see nothing wrong with pointing out areas of Forth
> that some consider weak and expressing that perspective.  I don't
> think there is any danger of Forth turning into Ruby.

Perhaps he should write a simple subset of Ruby in Forth? I know, not
an easy task, but if he likes it so much ....

> But gosh, maybe
> some of the folks here who think Forth walks on water might be
> intrigued by the brevity and expressiveness of Ruby and other
> languages, and think how the experience of other programmers in other
> languages might help Forth evolve.

"help Forth evolve" ... ugh. I'm not one of those who wants to add
everything and the kitchen sink to a language until it's
unrecognizable. I'm not implying you are either, just saying,
sometimes it's frustrating when things change too much or too many
dialects persist. Sometimes it feels like people are raving on and on
about their favorite thing, only to completely change it in the
process. Well, then what did you like about it in the first place?? It
always reminds me of that play, "I love you, you're perfect, now
change." Just silly.

> One of the most annoying things about comp.lang.forth to me is that
> people here tend to be pretty binary in their thinking.  It's like
> there is no middle ground.  Ruby-guy comes in here and the knee-jerk
> reaction is to say that Ruby isn't appropriate for all problems, much
> less the problems one typically uses Forth for.  Well, duh.  Wouldn't
> it be more interesting to not look at other languages (like Ruby) as
> some monolithic whole and instead look at specific features it offers
> and think how they might be useful in Forth?

Such as what? OOP? Regex? Generators? Threading? Unicode?

> Wouldn't it be a great
> demonstration of the flexibility of Forth that you could take
> essential features in a high-level object-oriented language like Ruby
> and not just recreate the functionality, but the brevity and
> expressiveness?

I don't think you'll win anybody over, but sure, go ahead and try.

> I see one other value of Ruby-guy's posts.  Many times when people use
> the phrase "other languages" here, they don't really mean that.  Far
> more often than not, when the phrase "other languages" is used, it's a
> placeholder for C.  And sure, that makes some sense historically, at
> least in the embedded systems world.  But a funny thing happened in
> the past THIRTY FREAKIN' YEARS.  There is much more than just C out
> there.

C is still used very widely, maybe not exclusively, but it's still in
the top three. ( http://lang-index.sourceforge.net/ ) And that may be
due to the fact that other languages (Perl, Python, Ruby, Lua) are
written in it. Or maybe because tons of legacy code exists. Or maybe
because of heavy use by GNU, BSD and other POSIX places. Or maybe due
to popular "successors" like C++ or Objective C.

But let's not pretend that C hasn't evolved either. 1978 was when K&R1
was published, 1989 was the ANSI standard, 1994 was normative
amendment (or whatever), C99 was the updated standard, and now we even
have (finalized) C11 coming our way. So yeah, that's a lot of changes,
even for "standard" C.

> And in fact, many of the languages that are in common use
> today have many of the same capabilities that Forth programmers
> value.  It's very easy to point out that C isn't interactive and
> extensible.

Not directly, no, but if Linux and GForth are written in C, does the
criticism still apply?

> But Ruby and a bunch of other languages are.  It's very
> easy to point out that C has no concept of compilation at run-time.
> But plenty of languages these days do.
>
> Over the years, I've gotten increasingly bored with many in the
> comp.lang.forth community who think the year is still 1980.  Value the
> past, learn from it, but don't live there.

1980 ... ah, a very good year. The year of the debut of Lilith
(Modula-2 machine). Also the (in)famous 8086 had just been invented
but not widely deployed yet. And I was less than a year old too. Heh,
so I can't pretend that things haven't changed. But I'm probably one
of the worse offenders to you as I still use DOS.   ;-)     I'm most
conservative because I just don't understand all these new-fangled
things. Also, I refuse to believe you need a 64-bit SMP machine just
to open/read/write/close a file.

It's true, things are evolving, whether we like it or not. I don't
think Forth is dead, and I don't think ANS '94 killed it (hi, Hugh). A
new standard will probably indeed happen eventually. I'd be surprised
if threading and Unicode weren't standardized (hopefully as an
optional appendices) in the next few years as "everybody else" seems
to assume them, even C11. Times are definitely different than they
were, even compared to 2007. But if things change too fast, nobody can
keep up, and who wants that? So you have to tread lightly.

[toc] | [prev] | [next] | [standalone]


#9840

FromBernd Paysan <bernd.paysan@gmx.de>
Date2012-03-04 17:39 +0100
Message-ID<jj05r9$b9h$1@online.de>
In reply to#9839
Rugxulo wrote:

> t's true, things are evolving, whether we like it or not. I don't
> think Forth is dead, and I don't think ANS '94 killed it (hi, Hugh). A
> new standard will probably indeed happen eventually. I'd be surprised
> if threading and Unicode weren't standardized (hopefully as an
> optional appendices) in the next few years as "everybody else" seems
> to assume them, even C11.

Well, the first release candidate of Forth-2011 is out, so it's nothing 
you need to speculate about.

http://www.forth200x.org/documents/forth11-1.pdf

And yes, it supports Unicode (with UTF-8 encoding) through the optional 
Xchar wordset.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

[toc] | [prev] | [next] | [standalone]


#9841

FromBernd Paysan <bernd.paysan@gmx.de>
Date2012-03-04 17:42 +0100
Message-ID<jj0614$b9h$2@online.de>
In reply to#9840
Bernd Paysan wrote:

> Rugxulo wrote:
> 
>> t's true, things are evolving, whether we like it or not. I don't
>> think Forth is dead, and I don't think ANS '94 killed it (hi, Hugh).
>> A new standard will probably indeed happen eventually. I'd be
>> surprised if threading and Unicode weren't standardized (hopefully as
>> an optional appendices) in the next few years as "everybody else"
>> seems to assume them, even C11.
> 
> Well, the first release candidate of Forth-2011 is out, so it's
> nothing you need to speculate about.
> 
> http://www.forth200x.org/documents/forth11-1.pdf

Oops, cut&paste error, it is:

http://www.forth200x.org/documents/forth-rc0.pdf

> And yes, it supports Unicode (with UTF-8 encoding) through the
> optional Xchar wordset.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

[toc] | [prev] | [next] | [standalone]


#9857

Fromkenney@cix.compulink.co.uk
Date2012-03-05 04:09 -0600
Message-ID<Js-dnQIFwpJbDcnSnZ2dnUVZ8rudnZ2d@giganews.com>
In reply to#9839
In article 
<72fc94cd-74b5-4aee-bdff-e85498921e50@32g2000yqn.googlegroups.com>, 
rugxulo@gmail.com (Rugxulo) wrote:

>  Or maybe because tons of legacy code exists.

 Or maybe because Unix, Linux and Windows are written in it. to use any 
of the system calls in those that do not have wrappers provided involves 
understanding C calling procedure at the least. While Delphi and Visual 
Basic support the Windows 32 interface they do not directly support the 
Windows NT functions left over from NT which some programmers still use.

> 1980 ... ah, a very good year. 

 The year I bought my first home computer. 16K of memory and Basic in 
ROM. The alternative languages available were assembler and tiny Pascal. 
There was probably a Forth available but I never came across it. My 
second machine was an ST and I got HiSoft Object Forth for that. My 
current machine has Delphi and WinForth on it. IIRC HiSoft supplied 
Basic, C , Fortran and Pascal compilers as well. 


 Ken Young

[toc] | [prev] | [next] | [standalone]


#9813

FromRugxulo <rugxulo@gmail.com>
Date2012-03-03 11:35 -0800
Message-ID<1005ffe9-8e3d-4e0a-9360-a39d049c7536@p13g2000yqd.googlegroups.com>
In reply to#9792
Hi,

On Mar 2, 11:32 pm, "WJ" <w_a_x_...@yahoo.com> wrote:
>
> This is a good example of the extreme primitiveness of ANS
> Forth. An array of strings is created, but the language is
> too brain-dead to be able to count the number of items in
> the array.

(semi-joking) Isn't it Turing complete? Isn't that enough.

Well, you can't please everyone, no language supports everything "out
of the box".  Remember: "a poor carpenter blames his tools".

> So the programmer has to tell ANS Forth how many strings
> there are. (After all, we can't expect ANS Forth to be
> able to do something as taxing as counting to 25.)  Later,
> when the programmer adds to the string list, he has
> to change the constant #wordarr.  It's as
> bad as or worse than assembly language.

Sometimes assembly is needed as no general purpose (portable) language
can emulate everything. But I don't know of an (easy, obvious) way to
use assembly under Ruby.

> ANS Forth is designed only to be used for very low-level
> tasks such as programming an embedded controller that
> flushes a toilet.
>
> For the bingo job, it would be wise to use a higher-level
> language such as Ruby.

(snip)

Big credit to you for posting actual code, it gives legitimacy to your
claims. I'm not saying Ruby is bad, it's not. "Use the right tool for
the job", etc.

But Ruby (esp. 1.9 series) is far less portable than Forth and has no
standard. At least Matz's interpreter (IIRC) assumes long == void* and
has never (IIRC) run on less than 32-bit platforms. It's also written
in C with POSIX libs. I guess you know that C is considered "too low-
level", yet tons of people still use it for everyday tasks, hence why
it's (far) above Ruby in the rankings, funnily enough.

[toc] | [prev] | [next] | [standalone]


#9835

FromDoug Hoffman <glidedog@gmail.com>
Date2012-03-04 10:07 -0500
Message-ID<4f53853c$0$282$14726298@news.sunsite.dk>
In reply to#9792
On 3/3/12 12:32 AM, WJ wrote:

> This is a good example of the extreme primitiveness of ANS
> Forth. An array of strings is created, but the language is
> too brain-dead to be able to count the number of items in
> the array.

Wrong.  It just depends on how ANS Forth is used.

object-list w

: p" [char] " parse
   ['] string+ w add:
   ( addr len ) w obj: !: ;

p" Be Mine"
p" Love"
p" It's Love"

0 w at: p: => Be Mine

> So the programmer has to tell ANS Forth how many strings
> there are.

Of course not.
w size: .  => 3

> Later,
> when the programmer adds to the string list, he has
> to change the constant #wordarr.

Wrong again.
p" All Mine"
w size: .  => 4

... and so on.

  \ library code source
http://soton.mpeforth.com/flag/fms/index.html

All of the above was posted a short while ago.  If you are going to drop 
in on a newsgroup and make sweeping statements you should first follow 
the discussions a bit and also understand what library code is readily 
available.

-Doug Hoffman

[toc] | [prev] | [next] | [standalone]


#9842

Frommhx@iae.nl (Marcel Hendrix)
Date2012-03-04 17:42 +0200
Message-ID<09611899008435@frunobulax.edu>
In reply to#9835
Doug Hoffman <glidedog@gmail.com> Re: Valentine Bingo - Comments?

> On 3/3/12 12:32 AM, WJ wrote:

>> This is a good example of the extreme primitiveness of ANS
>> Forth. An array of strings is created, but the language is
>> too brain-dead to be able to count the number of items in
>> the array.

> Wrong.  It just depends on how ANS Forth is used.

Arguments in CLF always follow this path:

Some outsider:
 "You can't do  foo  in Forth,  bar  functionality is missing.
  Forth is only good for flushing toilets."

Then someone shows how to do  foo  or add  bar , exactly solving 
the problem (and probably nothing more than that). 

Statler and Waldorf:
  "That is not standard Forth code."

Given how long it takes to standardize even trivial words, and
given that most functionality will be in library form, which is
in itself not standardized in Forth, the rate of advance is 
glacially slow.

Strangely enough, nowadays progress comes from the vendors. 
It used to be users that dragged the language forward, and 
vendors that pulled the brakes.

-marcel

[toc] | [prev] | [next] | [standalone]


#9904

Fromhwfwguy@gmail.com
Date2012-03-06 20:38 -0800
Message-ID<24392433.1149.1331095096290.JavaMail.geo-discussion-forums@vbxv4>
In reply to#9842
On Sunday, March 4, 2012 8:42:26 AM UTC-7, Marcel Hendrix wrote:
> Strangely enough, nowadays progress comes from the vendors. 
> It used to be users that dragged the language forward, and 
> vendors that pulled the brakes.

Because vendors are the leading-edge users. Do you think they make their money selling Forths?

-Brad

[toc] | [prev] | [next] | [standalone]


#9941

FromHugh Aguilar <hughaguilar96@yahoo.com>
Date2012-03-07 22:10 -0800
Message-ID<eaf30be0-3893-428a-979f-731cbbce4654@9g2000pbn.googlegroups.com>
In reply to#9835
On Mar 4, 8:07 am, Doug Hoffman <glide...@gmail.com> wrote:
> On 3/3/12 12:32 AM, WJ wrote:
>
> > This is a good example of the extreme primitiveness of ANS
> > Forth. An array of strings is created, but the language is
> > too brain-dead to be able to count the number of items in
> > the array.
>
> Wrong.  It just depends on how ANS Forth is used.
>
> object-list w
>
> : p" [char] " parse
>    ['] string+ w add:
>    ( addr len ) w obj: !: ;
>
> p" Be Mine"
> p" Love"
> p" It's Love"
>
> 0 w at: p: => Be Mine
>
> > So the programmer has to tell ANS Forth how many strings
> > there are.
>
> Of course not.
> w size: .  => 3
>
> > Later,
> > when the programmer adds to the string list, he has
> > to change the constant #wordarr.
>
> Wrong again.
> p" All Mine"
> w size: .  => 4
>
> ... and so on.
>
>   \ library code sourcehttp://soton.mpeforth.com/flag/fms/index.html
>
> All of the above was posted a short while ago.  If you are going to drop
> in on a newsgroup and make sweeping statements you should first follow
> the discussions a bit and also understand what library code is readily
> available.
>
> -Doug Hoffman

I'm not familiar with the code that Doug is referring to (because I
don't use other people's code), but it looks trivial to implement.
Also, as I pointed out, my novice package has all of this capability
already. It is possible to read the strings out of a file into a list,
obtain the length, and then convert the list into an array (or just
leave it as a list as I did in my program) --- you get the benefit of
being able to modify your file of strings without having to recompile
your Forth program. This kind of stuff is trivial --- it is not really
worthwhile to spend a lot of time pondering something like this
Valentine program --- the only reason why I got involved at all was to
help out our novice Steve, but now he has been forgotten and the
thread has devolved into a my-language-can-beat-up-your-language
debate, which is not useful to Steve in any way (I doubt that he wrote
his Forth program because he was hoping that somebody would convince
him to become a Ruby programmer).

As for Ruby, I've heard good things about it. Over on comp.lang.lisp
it is referred to as "Matz-Lisp" --- the general idea being that it
provides *most* of the power of Lisp, but with a friendlier syntax
(for people with a background in infix languages) --- the Lispers are
not intimidated by Ruby, and generally consider it to be a stepping-
stone into Lisp. Whatever... None of this matters to me, as nobody is
really making any money at either Ruby or Lisp. There are a few people
making money at Ruby-on-Rails, but that is effectively a language in
itself, which has little to do with writing Ruby scripts (such as this
Valentine program). For the most part desktop-computer software is
given away for free. It is a good idea to know a desktop-computer
scripting language, as this is useful for many people including micro-
controller programmers, but I don't think that it is wise to focus
entirely on scripting as there is no money in it. The only way to make
money is by selling hardware.

When I release Straight Forth, which is for micro-controller
programming, I will most likely declare a "sister language" that will
be used for related desktop scripting. There is no point in using a
wide variety of languages, as there really isn't much difference
between them --- it is not as if particular scripts have to be in one
language and other scripts have to be in another language --- they can
all be written in the same language for pretty much the same result. I
am leaning toward making Racket my sister-language, but Ruby or Python
or Factor are also reasonable choices. I haven't given much thought to
the question as I don't really have much interest in the subject. My
criteria is mostly that the language should be easy to learn ---
because many of my users will be electrical engineers, and they aren't
usually very good at programming --- besides that, I have to learn the
language too, and I'm not very good at learning new things either.

[toc] | [prev] | [standalone]


Page 2 of 2 — ← Prev page 1 [2]

Back to top | Article view | comp.lang.forth


csiph-web