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


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

I'm so conflicted...

Started byMark Wills <markwills1970@gmail.com>
First post2016-11-11 03:47 -0800
Last post2016-11-16 12:33 -0800
Articles 20 on this page of 67 — 17 participants

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


Contents

  I'm so conflicted... Mark Wills <markwills1970@gmail.com> - 2016-11-11 03:47 -0800
    I'm so conflicted... foxaudioresearch@gmail.com - 2016-11-11 04:37 -0800
    Re: I'm so conflicted... Howerd <howerdo@yahoo.co.uk> - 2016-11-11 05:29 -0800
      Re: I'm so conflicted... JUERGEN <epldfpga@aol.com> - 2016-11-11 05:33 -0800
      Re: I'm so conflicted... JUERGEN <epldfpga@aol.com> - 2016-11-11 05:35 -0800
      Re: I'm so conflicted... rickman <gnuarm@gmail.com> - 2016-11-11 20:02 -0500
        Re: I'm so conflicted... jim <anon@example.com> - 2016-11-12 10:59 +0000
          Re: I'm so conflicted... rickman <gnuarm@gmail.com> - 2016-11-12 11:21 -0500
            Re: I'm so conflicted... jim <anon@example.com> - 2016-11-12 21:30 +0000
              Re: I'm so conflicted... rickman <gnuarm@gmail.com> - 2016-11-12 23:18 -0500
                Re: I'm so conflicted... jim <anon@example.com> - 2016-11-13 12:28 +0000
                  Re: I'm so conflicted... Paul Rubin <no.email@nospam.invalid> - 2016-11-13 10:50 -0800
                    Re: I'm so conflicted... jim <anon@example.com> - 2016-11-13 19:14 +0000
                  Re: I'm so conflicted... rickman <gnuarm@gmail.com> - 2016-11-13 23:11 -0500
                    Re: I'm so conflicted... jim <anon@example.com> - 2016-11-14 09:44 +0000
          Re: I'm so conflicted... "Robert L." <No_spamming@noWhere_7073.org> - 2016-11-20 01:51 +0000
        Re: I'm so conflicted... Howerd <howerdo@yahoo.co.uk> - 2016-11-12 10:32 -0800
          Re: I'm so conflicted... rickman <gnuarm@gmail.com> - 2016-11-12 13:52 -0500
            Re: I'm so conflicted... Howerd <howerdo@yahoo.co.uk> - 2016-11-12 11:55 -0800
              Re: I'm so conflicted... rickman <gnuarm@gmail.com> - 2016-11-12 23:19 -0500
                Re: I'm so conflicted... Howerd <howerdo@yahoo.co.uk> - 2016-11-13 18:16 -0800
                  Re: I'm so conflicted... rickman <gnuarm@gmail.com> - 2016-11-13 23:14 -0500
                    Re: I'm so conflicted... jim <anon@example.com> - 2016-11-14 09:51 +0000
                    Re: I'm so conflicted... Howerd <howerdo@yahoo.co.uk> - 2016-11-14 04:04 -0800
                      Re: I'm so conflicted... Mark Wills <markwills1970@gmail.com> - 2016-11-15 03:11 -0800
                        Re: I'm so conflicted... "Robert L." <No_spamming@noWhere_7073.org> - 2016-11-20 23:50 +0000
          Re: I'm so conflicted... albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-11-12 20:11 +0100
    Re: I'm so conflicted... "HAA" <someone@microsoft.com> - 2016-11-12 00:34 +1100
    Re: I'm so conflicted... hughaguilar96@gmail.com - 2016-11-11 16:19 -0800
      Re: I'm so conflicted... Howerd <howerdo@yahoo.co.uk> - 2016-11-12 10:34 -0800
        Re: I'm so conflicted... november.nihal@gmail.com - 2016-11-12 12:35 -0800
          Re: I'm so conflicted... "Elizabeth D. Rather" <erather@forth.com> - 2016-11-12 11:46 -1000
            Re: I'm so conflicted... Howerd <howerdo@yahoo.co.uk> - 2016-11-12 15:23 -0800
              Re: I'm so conflicted... hughaguilar96@gmail.com - 2016-11-12 18:13 -0800
              Re: I'm so conflicted... rickman <gnuarm@gmail.com> - 2016-11-12 23:23 -0500
                Re: I'm so conflicted... "Elizabeth D. Rather" <erather@forth.com> - 2016-11-12 20:55 -1000
              Re: I'm so conflicted... "Elizabeth D. Rather" <erather@forth.com> - 2016-11-12 20:46 -1000
                Re: I'm so conflicted... Paul Rubin <no.email@nospam.invalid> - 2016-11-13 01:06 -0800
                  Re: I'm so conflicted... Mikael Nordman <oh2aun@gmail.com> - 2016-11-13 12:59 -0800
                    Re: I'm so conflicted... Howerd <howerdo@yahoo.co.uk> - 2016-11-13 18:27 -0800
                      Re: I'm so conflicted... Mikael Nordman <oh2aun@gmail.com> - 2016-11-13 20:34 -0800
                Re: I'm so conflicted... Howerd <howerdo@yahoo.co.uk> - 2016-11-13 17:56 -0800
                  Re: I'm so conflicted... "HAA" <someone@microsoft.com> - 2016-11-14 14:53 +1100
                  Re: I'm so conflicted... "Elizabeth D. Rather" <erather@forth.com> - 2016-11-13 22:04 -1000
            Re: I'm so conflicted... albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-11-13 10:51 +0100
    Re: I'm so conflicted... Mark Wills <markwills1970@gmail.com> - 2016-11-14 03:10 -0800
      Re: I'm so conflicted... "HAA" <someone@microsoft.com> - 2016-11-15 01:03 +1100
        Re: I'm so conflicted... Mark Wills <markwills1970@gmail.com> - 2016-11-14 07:31 -0800
          Re: I'm so conflicted... foxaudioresearch@gmail.com - 2016-11-14 13:29 -0800
            Re: I'm so conflicted... Mark Wills <markwills1970@gmail.com> - 2016-11-15 03:02 -0800
              Re: I'm so conflicted... albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-11-15 13:39 +0100
          Re: I'm so conflicted... hughaguilar96@gmail.com - 2016-11-15 18:22 -0800
            Re: I'm so conflicted... Mark Wills <markwills1970@gmail.com> - 2016-11-16 01:32 -0800
              Re: I'm so conflicted... hughaguilar96@gmail.com - 2016-11-16 13:00 -0800
                Re: I'm so conflicted... hughaguilar96@gmail.com - 2016-11-16 13:04 -0800
                Re: I'm so conflicted... Mark Wills <markwills1970@gmail.com> - 2016-11-16 13:42 -0800
                  Re: I'm so conflicted... hughaguilar96@gmail.com - 2016-11-17 12:28 -0800
                    Re: I'm so conflicted... Raimond Dragomir <raimond.dragomir@gmail.com> - 2016-11-17 22:14 -0800
                    Re: I'm so conflicted... Mark Wills <markwills1970@gmail.com> - 2016-11-19 15:01 -0800
                      Re: I'm so conflicted... hughaguilar96@gmail.com - 2016-11-19 16:55 -0800
                        Re: I'm so conflicted... Mark Wills <markwills1970@gmail.com> - 2016-11-20 10:36 -0800
                          Re: I'm so conflicted... Mark Wills <markwills1970@gmail.com> - 2016-11-20 10:43 -0800
                          Re: I'm so conflicted... Paul Rubin <no.email@nospam.invalid> - 2016-11-20 11:15 -0800
                            Re: I'm so conflicted... Mark Wills <markwills1970@gmail.com> - 2016-11-20 13:57 -0800
                          Re: I'm so conflicted... Walter Banks <walter@bytecraft.com> - 2016-11-28 13:26 -0500
            Re: I'm so conflicted... Jan Coombs <jenfhaomndgfwutc@murmic.plus.com> - 2016-11-16 10:25 +0000
              Re: I'm so conflicted... hughaguilar96@gmail.com - 2016-11-16 12:33 -0800

Page 2 of 4 — ← Prev page 1 [2] 3 4  Next page →


#52596

FromHowerd <howerdo@yahoo.co.uk>
Date2016-11-13 18:16 -0800
Message-ID<27cd21f3-bf17-4f81-9cd2-d78d33343a5d@googlegroups.com>
In reply to#52577
On Sunday, 13 November 2016 05:19:44 UTC+1, rickman  wrote:
> On 11/12/2016 2:55 PM, Howerd wrote:
> > On Saturday, 12 November 2016 19:52:35 UTC+1, rickman  wrote:
> >> On 11/12/2016 1:32 PM, Howerd wrote:
> >>> On Saturday, 12 November 2016 02:02:40 UTC+1, rickman  wrote:
> >>>> On 11/11/2016 8:29 AM, Howerd wrote:
> >>>>> On Friday, 11 November 2016 12:47:20 UTC+1, Mark Wills  wrote:
> >>>>>> Forth: You're in control. Everything is global. The system assumes
> >>>>>> you're not an idiot. And I love it.
> >>>>>>
> >>>>>> Python: You're in control. Everything is global. The system assumes
> >>>>>> you're not an idiot. I hate it.
> >>>>>>
> >>>>>> And I don't know why!
> >>>>>>
> >>>>>> Aggggh! :-/
> >>>>>
> >>>>> Hi Mark,
> >>>>>
> >>>>> With Python the system assumes that you are not an idiot, but that you are very busy, so you will use libraries written by someone else. If you want to see what is in the libraries the source is there, but do you really have the time?
> >>>>> Your job is to find and use exactly the right library - nothing to do with programming.
> >>>>> When you have found your perfect library your job is to write wrapper code to call it from your program - also not really programming.
> >>>>> Then you run your program. Job done.
> >>>>
> >>>> I find it amusing what programmers think programming is, or is not.
> >>>> What is wrong with using libraries for the grunt work and writing the
> >>>> "real" code that makes the application do what is needed?  Why is that
> >>>> not "programming"?
> >>>>
> >>>> This sounds a bit arrogant.  "If they aren't programming the way I
> >>>> program, it isn't programming".
> >>>>
> >>>> --
> >>>>
> >>>> Rick C
> >>>
> >>> Hi Rick,
> >>>
> >>> When I wrote "also not really programming" I was thinking only of what I have done when I use Python to get a specific job done compared to what I do when I program in Forth - I was not comparing what I do to what others may or may not do - sorry if I didn't make that clear.
> >>> For me they are two completely different mindsets.
> >>
> >> I can't say I understand your definition of "programming".  Why is
> >> writing code using a library or libraries not programming?
> >>
> >> --
> >>
> >> Rick C
> >
> > Hi Rick,
> >
> > OK, it is programming, just a different type of programming :-)
> 
> I still have no idea what you mean.  I use libraries all the time when I 
> program... or whatever it is that I do.  If you don't wish to explain 
> it, fine.  But I don't really know what you are trying to say.
> 
> -- 
> 
> Rick C

Hi Rick,

I would like very much to explain, but I think it is an experiential thing, and so is not easy to describe.

Each programming language-plus-IDE has its own feel :

colorForth - like free-climbing, dangling from small but strong hand holds over a short drop onto cardboard boxes.

SwiftForth Windows - trying to steer an elephant (Windows) through a Marakesh bazaar, in order to buy a shiny new lamp.

polyForth - steering a dune-buggy over sand dunes, because its fun - you will get to the BBQ before anyone else anyway.

C+Eclipse - trying to drive a herd of cats through a cat-flap using trained bees to cajole them.

Python - building a pyramid out of 50 cm cubes, each containing something, not sure what, its the size and shape of the box that are important. Don't build it too high though, or the lower layers may collapse. Then again, they might be OK...

I drank too much coffee today, its late, so please forgive the train of consciousness ramblings... 

Is this any clearer now? I thought not ;-)

Back to planet earth for a second : I was intrigued by Mark's original comment, about not liking Python and liking Forth - they seem similar in many respects, but really they are not. 

Best regards,
Howerd

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


#52604

Fromrickman <gnuarm@gmail.com>
Date2016-11-13 23:14 -0500
Message-ID<o0bdmp$gom$1@dont-email.me>
In reply to#52596
On 11/13/2016 9:16 PM, Howerd wrote:
> On Sunday, 13 November 2016 05:19:44 UTC+1, rickman  wrote:
>> On 11/12/2016 2:55 PM, Howerd wrote:
>>> On Saturday, 12 November 2016 19:52:35 UTC+1, rickman  wrote:
>>>> On 11/12/2016 1:32 PM, Howerd wrote:
>>>>> On Saturday, 12 November 2016 02:02:40 UTC+1, rickman  wrote:
>>>>>> On 11/11/2016 8:29 AM, Howerd wrote:
>>>>>>> On Friday, 11 November 2016 12:47:20 UTC+1, Mark Wills  wrote:
>>>>>>>> Forth: You're in control. Everything is global. The system assumes
>>>>>>>> you're not an idiot. And I love it.
>>>>>>>>
>>>>>>>> Python: You're in control. Everything is global. The system assumes
>>>>>>>> you're not an idiot. I hate it.
>>>>>>>>
>>>>>>>> And I don't know why!
>>>>>>>>
>>>>>>>> Aggggh! :-/
>>>>>>>
>>>>>>> Hi Mark,
>>>>>>>
>>>>>>> With Python the system assumes that you are not an idiot, but that you are very busy, so you will use libraries written by someone else. If you want to see what is in the libraries the source is there, but do you really have the time?
>>>>>>> Your job is to find and use exactly the right library - nothing to do with programming.
>>>>>>> When you have found your perfect library your job is to write wrapper code to call it from your program - also not really programming.
>>>>>>> Then you run your program. Job done.
>>>>>>
>>>>>> I find it amusing what programmers think programming is, or is not.
>>>>>> What is wrong with using libraries for the grunt work and writing the
>>>>>> "real" code that makes the application do what is needed?  Why is that
>>>>>> not "programming"?
>>>>>>
>>>>>> This sounds a bit arrogant.  "If they aren't programming the way I
>>>>>> program, it isn't programming".
>>>>>>
>>>>>> --
>>>>>>
>>>>>> Rick C
>>>>>
>>>>> Hi Rick,
>>>>>
>>>>> When I wrote "also not really programming" I was thinking only of what I have done when I use Python to get a specific job done compared to what I do when I program in Forth - I was not comparing what I do to what others may or may not do - sorry if I didn't make that clear.
>>>>> For me they are two completely different mindsets.
>>>>
>>>> I can't say I understand your definition of "programming".  Why is
>>>> writing code using a library or libraries not programming?
>>>>
>>>> --
>>>>
>>>> Rick C
>>>
>>> Hi Rick,
>>>
>>> OK, it is programming, just a different type of programming :-)
>>
>> I still have no idea what you mean.  I use libraries all the time when I
>> program... or whatever it is that I do.  If you don't wish to explain
>> it, fine.  But I don't really know what you are trying to say.
>>
>> --
>>
>> Rick C
>
> Hi Rick,
>
> I would like very much to explain, but I think it is an experiential thing, and so is not easy to describe.
>
> Each programming language-plus-IDE has its own feel :
>
> colorForth - like free-climbing, dangling from small but strong hand holds over a short drop onto cardboard boxes.
>
> SwiftForth Windows - trying to steer an elephant (Windows) through a Marakesh bazaar, in order to buy a shiny new lamp.
>
> polyForth - steering a dune-buggy over sand dunes, because its fun - you will get to the BBQ before anyone else anyway.
>
> C+Eclipse - trying to drive a herd of cats through a cat-flap using trained bees to cajole them.
>
> Python - building a pyramid out of 50 cm cubes, each containing something, not sure what, its the size and shape of the box that are important. Don't build it too high though, or the lower layers may collapse. Then again, they might be OK...
>
> I drank too much coffee today, its late, so please forgive the train of consciousness ramblings...
>
> Is this any clearer now? I thought not ;-)
>
> Back to planet earth for a second : I was intrigued by Mark's original comment, about not liking Python and liking Forth - they seem similar in many respects, but really they are not.

If you can't explain what you mean, to me that shows you don't really 
understand it.  I realized this when I was in college.  I sometimes had 
professors who couldn't explain a particular detail.  That showed me 
they didn't really understand that aspect of the topic.

-- 

Rick C

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


#52611

Fromjim <anon@example.com>
Date2016-11-14 09:51 +0000
Message-ID<MPG.329399873ed381599896c7@news.virginmedia.com>
In reply to#52604
> In article <o0bdmp$gom$1@dont-email.me>, gnuarm@gmail.com says...
> If you can't explain what you mean, to me that shows you don't really 
> understand it.  I realized this when I was in college.  I sometimes had 
> professors who couldn't explain a particular detail.  That showed me 
> they didn't really understand that aspect of the topic.
> 
> -- 
> 
> Rick C
> 

Once again you seem to think everyone should be explaining "things"
just for you. This thread is a conversation not a tutorial.
. 
If you have a question ask it of the poster or you will never get 
any benefit out of newsgroups.. Specific questions may produce
specific answers now and again. 


-- 
jim

=========================
http://johntech.co.uk

"Bleeding Edge Forum"
http://johntech.co.uk/forum/ 

=========================

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


#52613

FromHowerd <howerdo@yahoo.co.uk>
Date2016-11-14 04:04 -0800
Message-ID<812eee8e-1b28-4353-94b4-44b7ce5379c3@googlegroups.com>
In reply to#52604
On Monday, 14 November 2016 05:14:50 UTC+1, rickman  wrote:
> On 11/13/2016 9:16 PM, Howerd wrote:
> > On Sunday, 13 November 2016 05:19:44 UTC+1, rickman  wrote:
> >> On 11/12/2016 2:55 PM, Howerd wrote:
> >>> On Saturday, 12 November 2016 19:52:35 UTC+1, rickman  wrote:
> >>>> On 11/12/2016 1:32 PM, Howerd wrote:
> >>>>> On Saturday, 12 November 2016 02:02:40 UTC+1, rickman  wrote:
> >>>>>> On 11/11/2016 8:29 AM, Howerd wrote:
> >>>>>>> On Friday, 11 November 2016 12:47:20 UTC+1, Mark Wills  wrote:
> >>>>>>>> Forth: You're in control. Everything is global. The system assumes
> >>>>>>>> you're not an idiot. And I love it.
> >>>>>>>>
> >>>>>>>> Python: You're in control. Everything is global. The system assumes
> >>>>>>>> you're not an idiot. I hate it.
> >>>>>>>>
> >>>>>>>> And I don't know why!
> >>>>>>>>
> >>>>>>>> Aggggh! :-/
> >>>>>>>
> >>>>>>> Hi Mark,
> >>>>>>>
> >>>>>>> With Python the system assumes that you are not an idiot, but that you are very busy, so you will use libraries written by someone else. If you want to see what is in the libraries the source is there, but do you really have the time?
> >>>>>>> Your job is to find and use exactly the right library - nothing to do with programming.
> >>>>>>> When you have found your perfect library your job is to write wrapper code to call it from your program - also not really programming.
> >>>>>>> Then you run your program. Job done.
> >>>>>>
> >>>>>> I find it amusing what programmers think programming is, or is not.
> >>>>>> What is wrong with using libraries for the grunt work and writing the
> >>>>>> "real" code that makes the application do what is needed?  Why is that
> >>>>>> not "programming"?
> >>>>>>
> >>>>>> This sounds a bit arrogant.  "If they aren't programming the way I
> >>>>>> program, it isn't programming".
> >>>>>>
> >>>>>> --
> >>>>>>
> >>>>>> Rick C
> >>>>>
> >>>>> Hi Rick,
> >>>>>
> >>>>> When I wrote "also not really programming" I was thinking only of what I have done when I use Python to get a specific job done compared to what I do when I program in Forth - I was not comparing what I do to what others may or may not do - sorry if I didn't make that clear.
> >>>>> For me they are two completely different mindsets.
> >>>>
> >>>> I can't say I understand your definition of "programming".  Why is
> >>>> writing code using a library or libraries not programming?
> >>>>
> >>>> --
> >>>>
> >>>> Rick C
> >>>
> >>> Hi Rick,
> >>>
> >>> OK, it is programming, just a different type of programming :-)
> >>
> >> I still have no idea what you mean.  I use libraries all the time when I
> >> program... or whatever it is that I do.  If you don't wish to explain
> >> it, fine.  But I don't really know what you are trying to say.
> >>
> >> --
> >>
> >> Rick C
> >
> > Hi Rick,
> >
> > I would like very much to explain, but I think it is an experiential thing, and so is not easy to describe.
> >
> > Each programming language-plus-IDE has its own feel :
> >
> > colorForth - like free-climbing, dangling from small but strong hand holds over a short drop onto cardboard boxes.
> >
> > SwiftForth Windows - trying to steer an elephant (Windows) through a Marakesh bazaar, in order to buy a shiny new lamp.
> >
> > polyForth - steering a dune-buggy over sand dunes, because its fun - you will get to the BBQ before anyone else anyway.
> >
> > C+Eclipse - trying to drive a herd of cats through a cat-flap using trained bees to cajole them.
> >
> > Python - building a pyramid out of 50 cm cubes, each containing something, not sure what, its the size and shape of the box that are important. Don't build it too high though, or the lower layers may collapse. Then again, they might be OK...
> >
> > I drank too much coffee today, its late, so please forgive the train of consciousness ramblings...
> >
> > Is this any clearer now? I thought not ;-)
> >
> > Back to planet earth for a second : I was intrigued by Mark's original comment, about not liking Python and liking Forth - they seem similar in many respects, but really they are not.
> 
> If you can't explain what you mean, to me that shows you don't really 
> understand it.  I realized this when I was in college.  I sometimes had 
> professors who couldn't explain a particular detail.  That showed me 
> they didn't really understand that aspect of the topic.
> 
> -- 
> 
> Rick C

Hi Rick,

Yes - you have hit the nail on the head - I don't really understand why I find Forth so much better than any other language. It seems that Mark has the same problem, at least with respect to Python, and his original post resonated with me.

I find this thread interesting precisely because it is something that I do not understand, and I value other peoples' views on the subject.

Best regards,
Howerd

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


#52650

FromMark Wills <markwills1970@gmail.com>
Date2016-11-15 03:11 -0800
Message-ID<e8d5e097-bb3c-4750-af5e-4f35ab81c265@googlegroups.com>
In reply to#52613
On Monday, 14 November 2016 12:04:32 UTC, Howerd  wrote:
> On Monday, 14 November 2016 05:14:50 UTC+1, rickman  wrote:
> > On 11/13/2016 9:16 PM, Howerd wrote:
> > > On Sunday, 13 November 2016 05:19:44 UTC+1, rickman  wrote:
> > >> On 11/12/2016 2:55 PM, Howerd wrote:
> > >>> On Saturday, 12 November 2016 19:52:35 UTC+1, rickman  wrote:
> > >>>> On 11/12/2016 1:32 PM, Howerd wrote:
> > >>>>> On Saturday, 12 November 2016 02:02:40 UTC+1, rickman  wrote:
> > >>>>>> On 11/11/2016 8:29 AM, Howerd wrote:
> > >>>>>>> On Friday, 11 November 2016 12:47:20 UTC+1, Mark Wills  wrote:
> > >>>>>>>> Forth: You're in control. Everything is global. The system assumes
> > >>>>>>>> you're not an idiot. And I love it.
> > >>>>>>>>
> > >>>>>>>> Python: You're in control. Everything is global. The system assumes
> > >>>>>>>> you're not an idiot. I hate it.
> > >>>>>>>>
> > >>>>>>>> And I don't know why!
> > >>>>>>>>
> > >>>>>>>> Aggggh! :-/
> > >>>>>>>
> > >>>>>>> Hi Mark,
> > >>>>>>>
> > >>>>>>> With Python the system assumes that you are not an idiot, but that you are very busy, so you will use libraries written by someone else. If you want to see what is in the libraries the source is there, but do you really have the time?
> > >>>>>>> Your job is to find and use exactly the right library - nothing to do with programming.
> > >>>>>>> When you have found your perfect library your job is to write wrapper code to call it from your program - also not really programming.
> > >>>>>>> Then you run your program. Job done.
> > >>>>>>
> > >>>>>> I find it amusing what programmers think programming is, or is not.
> > >>>>>> What is wrong with using libraries for the grunt work and writing the
> > >>>>>> "real" code that makes the application do what is needed?  Why is that
> > >>>>>> not "programming"?
> > >>>>>>
> > >>>>>> This sounds a bit arrogant.  "If they aren't programming the way I
> > >>>>>> program, it isn't programming".
> > >>>>>>
> > >>>>>> --
> > >>>>>>
> > >>>>>> Rick C
> > >>>>>
> > >>>>> Hi Rick,
> > >>>>>
> > >>>>> When I wrote "also not really programming" I was thinking only of what I have done when I use Python to get a specific job done compared to what I do when I program in Forth - I was not comparing what I do to what others may or may not do - sorry if I didn't make that clear.
> > >>>>> For me they are two completely different mindsets.
> > >>>>
> > >>>> I can't say I understand your definition of "programming".  Why is
> > >>>> writing code using a library or libraries not programming?
> > >>>>
> > >>>> --
> > >>>>
> > >>>> Rick C
> > >>>
> > >>> Hi Rick,
> > >>>
> > >>> OK, it is programming, just a different type of programming :-)
> > >>
> > >> I still have no idea what you mean.  I use libraries all the time when I
> > >> program... or whatever it is that I do.  If you don't wish to explain
> > >> it, fine.  But I don't really know what you are trying to say.
> > >>
> > >> --
> > >>
> > >> Rick C
> > >
> > > Hi Rick,
> > >
> > > I would like very much to explain, but I think it is an experiential thing, and so is not easy to describe.
> > >
> > > Each programming language-plus-IDE has its own feel :
> > >
> > > colorForth - like free-climbing, dangling from small but strong hand holds over a short drop onto cardboard boxes.
> > >
> > > SwiftForth Windows - trying to steer an elephant (Windows) through a Marakesh bazaar, in order to buy a shiny new lamp.
> > >
> > > polyForth - steering a dune-buggy over sand dunes, because its fun - you will get to the BBQ before anyone else anyway.
> > >
> > > C+Eclipse - trying to drive a herd of cats through a cat-flap using trained bees to cajole them.
> > >
> > > Python - building a pyramid out of 50 cm cubes, each containing something, not sure what, its the size and shape of the box that are important. Don't build it too high though, or the lower layers may collapse. Then again, they might be OK...
> > >
> > > I drank too much coffee today, its late, so please forgive the train of consciousness ramblings...
> > >
> > > Is this any clearer now? I thought not ;-)
> > >
> > > Back to planet earth for a second : I was intrigued by Mark's original comment, about not liking Python and liking Forth - they seem similar in many respects, but really they are not.
> > 
> > If you can't explain what you mean, to me that shows you don't really 
> > understand it.  I realized this when I was in college.  I sometimes had 
> > professors who couldn't explain a particular detail.  That showed me 
> > they didn't really understand that aspect of the topic.
> > 
> > -- 
> > 
> > Rick C
> 
> Hi Rick,
> 
> Yes - you have hit the nail on the head - I don't really understand why I find Forth so much better than any other language. It seems that Mark has the same problem, at least with respect to Python, and his original post resonated with me.
> 
> I find this thread interesting precisely because it is something that I do not understand, and I value other peoples' views on the subject.
> 
> Best regards,
> Howerd

I think I'm just getting old and impatient. I'm getting too old to learn
new languages. Far too grumpy. What makes it worse is, I *know* how to do
all this stuff already in Forth, Java, .Net (C# or VB.Net) or good old 
fashioned VB6. How many languages do I have to know, for goodness sakes?!!

Also, I have to bend to how the language works (i.e. I have to learn it).
You don't do that in Forth. In Forth your specifying how your
domain-specific language works. It's a different way of working and thinking.
If I were writing this assembler in Forth, each assembly language instruction
would be a Forth word that knows how to assemble itself.

We're truly spoiled with what we have in Forth. What a shame that so
many millions of programmers have no idea. They don't know what they're
missing.

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


#52779

From"Robert L." <No_spamming@noWhere_7073.org>
Date2016-11-20 23:50 +0000
Message-ID<o0tcsk$1mvn$1@gioia.aioe.org>
In reply to#52650
On 11/15/2016, Mark Wills wrote:

> How many languages do I have to know, for goodness sakes?!!

goodness' sake


> In Forth your specifying

you're specifying


> We're truly spoiled with what we have in Forth. What a shame that so
> many millions of programmers have no idea. They don't know what they're
> missing.

Show them what they are missing.  Do the following task
in Forth.

One text file contains Poe's "Narrative of Arthur Gordon Pym";
the other contains Carroll's "Alice in Wonderland".

Extract the words from each file, rejecting words that have
fewer than 6 characters or that contain upper-case letters,
and keeping only words that occur exactly once.

Print the words that are found in both lists
in alphabetical order and in 4 columns.

Ruby:

def get_singleton_words file
  IO.read(file).scan(/\w+/).
  reject{|w| w.size < 6 or w != w.downcase}.
  group_by{|w| w}.select{|w,ary| ary.one?}.
  keys
end

pym = get_singleton_words "Pym.txt"
alice = get_singleton_words "Alice.txt"

words = (pym & alice).sort

per_line = 4; per_column = words.size.fdiv(per_line).ceil
short = per_line * per_column - words.size
(words + [""] * short).each_slice(per_column).to_a.transpose.
each{|ary| puts ary.map{|s| s.ljust 18}.join}

accounting        failure           louder            rustling
accustomed        faintly           managing          salmon
adding            family            modern            scratching
affair            favourite         oblong            shared
altered           feather           oldest            shilling
arguments         feathers          onions            slippery
askance           fireplace         oyster            speaker
awfully           flavour           passionate        splash
begged            flinging          patted            splashed
blades            folding           picture           spreading
branch            gather            pleasing          stopping
cheeks            gazing            pretty            strings
childhood         gloomily          processions       subdued
complained        growling          pronounced        subjects
condemn           handsome          proposal          submitted
conger            handwriting       prosecute         swallowing
consider          helped            protection        theirs
consultation      humble            puffed            tricks
contempt          imitated          pulling           unwillingly
content           impatient         purple            upright
contradicted      inclined          rabbits           variations
crouched          indignant         recognised        vegetable
cunning           irritated         refused           velvet
disobey           justice           remembering       wondered
dropping          knuckles          respectable       wooden
exclamation       lazily            respectful
execute           letters           ridges
expressing        locked            roared


Of course, this isn't fair to those who use Forth.  They don't
do much programming at all; mostly they just twiddle a few
bits.

-- 
Europe is not going to be the monolithic societies that they once were in the
last century....  They are now going into a multicultural mode.  Jews will be
resented because of our leading role. --- Barbara Spectre
(https://www.youtube.com/watch?v=K0hD7IffTJs)

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


#52565

Fromalbert@cherry.spenarnc.xs4all.nl (Albert van der Horst)
Date2016-11-12 20:11 +0100
Message-ID<o07pgq$skj$1@cherry.spenarnc.xs4all.nl>
In reply to#52562
In article <a297b73d-10aa-407a-aef9-be3436e0ad83@googlegroups.com>,
Howerd  <howerdo@yahoo.co.uk> wrote:
>On Saturday, 12 November 2016 02:02:40 UTC+1, rickman  wrote:
>> On 11/11/2016 8:29 AM, Howerd wrote:
>> > On Friday, 11 November 2016 12:47:20 UTC+1, Mark Wills  wrote:
>> >> Forth: You're in control. Everything is global. The system assumes
>> >> you're not an idiot. And I love it.
>> >>
>> >> Python: You're in control. Everything is global. The system assumes
>> >> you're not an idiot. I hate it.
>> >>
>> >> And I don't know why!
>> >>
>> >> Aggggh! :-/
>> >
>> > Hi Mark,
>> >
>> > With Python the system assumes that you are not an idiot, but that you =
>are very busy, so you will use libraries written by someone else. If you wa=
>nt to see what is in the libraries the source is there, but do you really h=
>ave the time?
>> > Your job is to find and use exactly the right library - nothing to do w=
>ith programming.
>> > When you have found your perfect library your job is to write wrapper c=
>ode to call it from your program - also not really programming.
>> > Then you run your program. Job done.
>>=20
>> I find it amusing what programmers think programming is, or is not.=20
>> What is wrong with using libraries for the grunt work and writing the=20
>> "real" code that makes the application do what is needed?  Why is that=20
>> not "programming"?
>>=20
>> This sounds a bit arrogant.  "If they aren't programming the way I=20
>> program, it isn't programming".
>>=20
>> --=20
>>=20
>> Rick C
>
>Hi Rick,
>
>When I wrote "also not really programming" I was thinking only of what I ha=
>ve done when I use Python to get a specific job done compared to what I do =
>when I program in Forth - I was not comparing what I do to what others may =
>or may not do - sorry if I didn't make that clear.
>For me they are two completely different mindsets.

Not for me. I wrote a sudoku solver in Forth and about the same one
in Python. The same techniques were used. It was easier in Python,
and it required less comment to be understandable.
Just being honest.

>
>Best regards,
>Howerd

Groetjes Albert
-- 
Albert van der Horst, UTRECHT,THE NETHERLANDS
Economic growth -- being exponential -- ultimately falters.
albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst

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


#52540

From"HAA" <someone@microsoft.com>
Date2016-11-12 00:34 +1100
Message-ID<o04hdj$uj5$1@gioia.aioe.org>
In reply to#52536
Mark Wills wrote:
> Forth: You're in control. Everything is global. The system assumes
> you're not an idiot. And I love it.
>
> Python: You're in control. Everything is global. The system assumes
> you're not an idiot. I hate it.
>
> And I don't know why!
>
> Aggggh! :-/

C.M. "I think it behooves new programmers to sample all the
languages available. Forth is the only one that's fun."


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


#52547

Fromhughaguilar96@gmail.com
Date2016-11-11 16:19 -0800
Message-ID<8c9489fb-d534-4193-85c3-782aa1242fb6@googlegroups.com>
In reply to#52536
On Friday, November 11, 2016 at 4:47:20 AM UTC-7, Mark Wills wrote:
> Forth: You're in control. Everything is global. The system assumes
> you're not an idiot. And I love it.
> 
> Python: You're in control. Everything is global. The system assumes
> you're not an idiot. I hate it.
> 
> And I don't know why!
> 
> Aggggh! :-/

Way back in 1985 I knew that PAD was a bad idea. I pointed out the problem and I was told that Forth-83 had problems, one of which was a lack of support for reentrancy, but that a new standard was coming soon that would be a lot better. Now in 2016 you say: "Everything is global." Aggggh!

Maybe the Forth system should assume that the user is an idiot --- historically, this has been true most of the time...

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


#52563

FromHowerd <howerdo@yahoo.co.uk>
Date2016-11-12 10:34 -0800
Message-ID<184fa626-e6d2-4d42-bc7e-ee33daeadb55@googlegroups.com>
In reply to#52547
On Saturday, 12 November 2016 01:19:09 UTC+1, hughag...@gmail.com  wrote:
> On Friday, November 11, 2016 at 4:47:20 AM UTC-7, Mark Wills wrote:
> > Forth: You're in control. Everything is global. The system assumes
> > you're not an idiot. And I love it.
> > 
> > Python: You're in control. Everything is global. The system assumes
> > you're not an idiot. I hate it.
> > 
> > And I don't know why!
> > 
> > Aggggh! :-/
> 
> Way back in 1985 I knew that PAD was a bad idea. I pointed out the problem and I was told that Forth-83 had problems, one of which was a lack of support for reentrancy, but that a new standard was coming soon that would be a lot better. Now in 2016 you say: "Everything is global." Aggggh!
> 
> Maybe the Forth system should assume that the user is an idiot --- historically, this has been true most of the time...

Hi Hugh,

Could you enlighten me as to why you think "PAD is a bad idea"?
I am assuming a Forth system where PAD is an array of USER variables...

Best regards,
Howerd

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


#52568

Fromnovember.nihal@gmail.com
Date2016-11-12 12:35 -0800
Message-ID<61184b43-cfda-4863-a005-aca83e691954@googlegroups.com>
In reply to#52563
> Could you enlighten me as to why you think "PAD is a bad idea"?
> I am assuming a Forth system where PAD is an array of USER variables...
> 
> Best regards,
> Howerd

I thought that PAD was the address of a scratch area used for temporary storage!

NN

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


#52570

From"Elizabeth D. Rather" <erather@forth.com>
Date2016-11-12 11:46 -1000
Message-ID<AJWdndJoT80BELrFnZ2dnUU7-cXNnZ2d@supernews.com>
In reply to#52568
On 11/12/16 10:35 AM, november.nihal@gmail.com wrote:
>
>> Could you enlighten me as to why you think "PAD is a bad idea"?
>> I am assuming a Forth system where PAD is an array of USER variables...
>>
>> Best regards,
>> Howerd
>
> I thought that PAD was the address of a scratch area used for temporary storage!

Correct. According to Forth212, the word PAD returns the address of "a 
transient region that can be used to hold data for intermediate
processing." In most multi-user systems, each user has one, so there is 
no re-entrancy problem. Most multi-user systems *also* have a "user 
area" where user variables (such as BASE, pointer returned by HERE, 
etc.) reside, but it is not in or near PAD in my experience.

Cheers,
Elizabeth

-- 
==================================================
Elizabeth D. Rather   (US & Canada)   800-55-FORTH
FORTH Inc.                         +1 310.999.6784
5959 West Century Blvd. Suite 700
Los Angeles, CA 90045
http://www.forth.com

"Forth-based products and Services for real-time
applications since 1973."
==================================================

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


#52573

FromHowerd <howerdo@yahoo.co.uk>
Date2016-11-12 15:23 -0800
Message-ID<9ec56433-8b65-48ae-8c64-bed9fdde93de@googlegroups.com>
In reply to#52570
On Saturday, 12 November 2016 22:46:10 UTC+1, Elizabeth D. Rather  wrote:
> On 11/12/16 10:35 AM, gmail.com wrote:
> >
> >> Could you enlighten me as to why you think "PAD is a bad idea"?
> >> I am assuming a Forth system where PAD is an array of USER variables...
> >>
> >> Best regards,
> >> Howerd
> >
> > I thought that PAD was the address of a scratch area used for temporary storage!
> 
> Correct. According to Forth212, the word PAD returns the address of "a 
> transient region that can be used to hold data for intermediate
> processing." In most multi-user systems, each user has one, so there is 
> no re-entrancy problem. Most multi-user systems *also* have a "user 
> area" where user variables (such as BASE, pointer returned by HERE, 
> etc.) reside, but it is not in or near PAD in my experience.
> 
> Cheers,
> Elizabeth
> 
> -- 
> ==================================================
> Elizabeth D. Rather   (US & Canada)   800-55-FORTH
> FORTH Inc.                         +1 310.999.6784
> 5959 West Century Blvd. Suite 700
> Los Angeles, CA 90045
> http://www.forth.com
> 
> "Forth-based products and Services for real-time
> applications since 1973."
> ==================================================

Hi Elizabeth,

Yes, you are right : in a multi-user system like SwiftForth PAD is defined as an offset from  HERE  which is nowhere near the USER variables.

In an embedded system ( e.g. polyForth, chipForth and SwiftX )  PAD  is usually tacked onto the end of the USER variables.

In either case each task has its own  PAD  area, so I am curious to know what sort of re-entrancy problems this can cause - I am not aware of any. 

Best regards,
Howerd

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


#52575

Fromhughaguilar96@gmail.com
Date2016-11-12 18:13 -0800
Message-ID<458f8bb0-dd5e-4f8b-96fb-fe0a7bf951f7@googlegroups.com>
In reply to#52573
On Saturday, November 12, 2016 at 4:23:12 PM UTC-7, Howerd wrote:
> In either case each task has its own  PAD  area, so I am curious to know what sort of re-entrancy problems this can cause - I am not aware of any. 

If you are using PAD as a temporary storage area, and you call a sub-function that uses PAD as a temporary storage area, it will clobber your data. The reason why I was aware of this problem in 1984, is that most of my programming experience was in line-number BASIC --- this was a common problem --- somebody would write a subroutine and it would use some variables, then somebody else (maybe the same guy in the future) would write a program that called that subroutine, but he didn't know what variables it used, so if he happened to use the same variables in his program then the subroutine would clobber his data.

PAD was put in Forth in the 1970s when programs were very short. The programmer was only working with one string, and it was in PAD.

I wrote my string-stack.4th package that uses the heap --- it uses COW (copy-on-write) so it minimizes its use of the heap, which is good because the heap is slow --- the string-stack behaves as if every item on the stack were a unique string in the heap, so the user doesn't have to worry about the optimization going on under the hood.

I just recently learned this term "copy-on-write" --- I wrote my string-stack.4th prior to knowing the term --- afaik, the term does describe what I wrote though.

My string-stack.4th is written in ANS-Forth. I doubt that any ANS-Forth programmer will ever use it --- it is not the "Forth Way," which apparently is to use PAD for strings (actually, "string" singular) --- my Forth code was written so that it could later on be integrated into Straight Forth, but I have given up hope that any of it will ever being used by ANS-Forth programmers.

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


#52578

Fromrickman <gnuarm@gmail.com>
Date2016-11-12 23:23 -0500
Message-ID<o08pqi$dqj$3@dont-email.me>
In reply to#52573
On 11/12/2016 6:23 PM, Howerd wrote:
> On Saturday, 12 November 2016 22:46:10 UTC+1, Elizabeth D. Rather
> wrote:
>> On 11/12/16 10:35 AM, gmail.com wrote:
>>>
>>>> Could you enlighten me as to why you think "PAD is a bad
>>>> idea"? I am assuming a Forth system where PAD is an array of
>>>> USER variables...
>>>>
>>>> Best regards, Howerd
>>>
>>> I thought that PAD was the address of a scratch area used for
>>> temporary storage!
>>
>> Correct. According to Forth212, the word PAD returns the address of
>> "a transient region that can be used to hold data for intermediate
>> processing." In most multi-user systems, each user has one, so
>> there is no re-entrancy problem. Most multi-user systems *also*
>> have a "user area" where user variables (such as BASE, pointer
>> returned by HERE, etc.) reside, but it is not in or near PAD in my
>> experience.
>>
>> Cheers, Elizabeth
>>
>> -- ================================================== Elizabeth D.
>> Rather   (US & Canada)   800-55-FORTH FORTH Inc.
>> +1 310.999.6784 5959 West Century Blvd. Suite 700 Los Angeles, CA
>> 90045 http://www.forth.com
>>
>> "Forth-based products and Services for real-time applications since
>> 1973." ==================================================
>
> Hi Elizabeth,
>
> Yes, you are right : in a multi-user system like SwiftForth PAD is
> defined as an offset from  HERE  which is nowhere near the USER
> variables.
>
> In an embedded system ( e.g. polyForth, chipForth and SwiftX )  PAD
> is usually tacked onto the end of the USER variables.
>
> In either case each task has its own  PAD  area, so I am curious to
> know what sort of re-entrancy problems this can cause - I am not
> aware of any.
I'm unclear.  Does re-entrancy imply multi-user?  Multitasking can be 
used without multi-users, no?

-- 

Rick C

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


#52580

From"Elizabeth D. Rather" <erather@forth.com>
Date2016-11-12 20:55 -1000
Message-ID<NrednR1xw8bLk7XFnZ2dnUU7-UnNnZ2d@supernews.com>
In reply to#52578
On 11/12/16 6:23 PM, rickman wrote:
> On 11/12/2016 6:23 PM, Howerd wrote:
>> On Saturday, 12 November 2016 22:46:10 UTC+1, Elizabeth D. Rather
>> wrote:
>>> On 11/12/16 10:35 AM, gmail.com wrote:
>>>>
>>>>> Could you enlighten me as to why you think "PAD is a bad
>>>>> idea"? I am assuming a Forth system where PAD is an array of
>>>>> USER variables...
>>>>>
>>>>> Best regards, Howerd
>>>>
>>>> I thought that PAD was the address of a scratch area used for
>>>> temporary storage!
>>>
>>> Correct. According to Forth212, the word PAD returns the address of
>>> "a transient region that can be used to hold data for intermediate
>>> processing." In most multi-user systems, each user has one, so
>>> there is no re-entrancy problem. Most multi-user systems *also*
>>> have a "user area" where user variables (such as BASE, pointer
>>> returned by HERE, etc.) reside, but it is not in or near PAD in my
>>> experience.
>>>
>>> Cheers, Elizabeth
>>>
>>> -- ================================================== Elizabeth D.
>>> Rather   (US & Canada)   800-55-FORTH FORTH Inc.
>>> +1 310.999.6784 5959 West Century Blvd. Suite 700 Los Angeles, CA
>>> 90045 http://www.forth.com
>>>
>>> "Forth-based products and Services for real-time applications since
>>> 1973." ==================================================
>>
>> Hi Elizabeth,
>>
>> Yes, you are right : in a multi-user system like SwiftForth PAD is
>> defined as an offset from  HERE  which is nowhere near the USER
>> variables.
>>
>> In an embedded system ( e.g. polyForth, chipForth and SwiftX )  PAD
>> is usually tacked onto the end of the USER variables.
>>
>> In either case each task has its own  PAD  area, so I am curious to
>> know what sort of re-entrancy problems this can cause - I am not
>> aware of any.
> I'm unclear.  Does re-entrancy imply multi-user?  Multitasking can be
> used without multi-users, no?

In my Forth experience, "multi-user" implies a task that had a human 
interface and private dictionary, presumably linked to a shared central 
dictionary. "Multitasking" means concurrent tasks which do not possess 
the potential of a user interface and private dictionary, though they do 
have their own stacks and user variables. "Re-entrancy" would be a 
potential issue with either, at least with respect to code in the shared 
dictionary, which is why in any multitasked Forth I've ever seen each 
task had a PAD even though it didn't have a private dictionary.

Cheers,
Elizabeth

-- 
==================================================
Elizabeth D. Rather   (US & Canada)   800-55-FORTH
FORTH Inc.                         +1 310.999.6784
5959 West Century Blvd. Suite 700
Los Angeles, CA 90045
http://www.forth.com

"Forth-based products and Services for real-time
applications since 1973."
==================================================

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


#52579

From"Elizabeth D. Rather" <erather@forth.com>
Date2016-11-12 20:46 -1000
Message-ID<ZtydnbR-JOvBkbXFnZ2dnUU7-L_NnZ2d@supernews.com>
In reply to#52573
On 11/12/16 1:23 PM, Howerd wrote:
> On Saturday, 12 November 2016 22:46:10 UTC+1, Elizabeth D. Rather  wrote:
>> On 11/12/16 10:35 AM, gmail.com wrote:
>>>
>>>> Could you enlighten me as to why you think "PAD is a bad idea"?
>>>> I am assuming a Forth system where PAD is an array of USER variables...
>>>>
>>>> Best regards,
>>>> Howerd
>>>
>>> I thought that PAD was the address of a scratch area used for temporary storage!
>>
>> Correct. According to Forth212, the word PAD returns the address of "a
>> transient region that can be used to hold data for intermediate
>> processing." In most multi-user systems, each user has one, so there is
>> no re-entrancy problem. Most multi-user systems *also* have a "user
>> area" where user variables (such as BASE, pointer returned by HERE,
>> etc.) reside, but it is not in or near PAD in my experience.
>>
>> Cheers,
>> Elizabeth
>>
>> --
>> ==================================================
>> Elizabeth D. Rather   (US & Canada)   800-55-FORTH
>> FORTH Inc.                         +1 310.999.6784
>> 5959 West Century Blvd. Suite 700
>> Los Angeles, CA 90045
>> http://www.forth.com
>>
>> "Forth-based products and Services for real-time
>> applications since 1973."
>> ==================================================
>
> Hi Elizabeth,
>
> Yes, you are right : in a multi-user system like SwiftForth PAD
> is defined as an offset from  HERE  which is nowhere near the USE
> variables.
>
> In an embedded system ( e.g. polyForth, chipForth and SwiftX )
> PAD  is usually tacked onto the end of the USER variables.
>
> In either case each task has its own  PAD  area, so I am curious
> to know what sort of re-entrancy problems this can cause - I am
> not aware of any.
>
> Best regards,
> Howerd

In polyFORTH, PAD was an offset from HERE as in SwiftForth. SwiftX does 
not really support multiple users with individual dictionaries, although 
there are multiple tasks using a simpler implementation. I don't at the 
moment recall exactly where it is for SwiftX. However, having an 
individual PAD for every task *avoids* re-entrancy problems, rather than 
causing them. All standards AFAIK include the prohibition embedded in 
Forth94 that the System may not use PAD. It is intended as a convenience 
for user programs, to provide a re-usable temporary buffer under the 
sole control of the application.

When I think of "re-entrancy problems" I assume a multi-tasking 
environment, and the definition of PAD is explicitly designed to avoid 
any such.

Cheers,
Elizabeth

-- 
==================================================
Elizabeth D. Rather   (US & Canada)   800-55-FORTH
FORTH Inc.                         +1 310.999.6784
5959 West Century Blvd. Suite 700
Los Angeles, CA 90045
http://www.forth.com

"Forth-based products and Services for real-time
applications since 1973."
==================================================

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


#52581

FromPaul Rubin <no.email@nospam.invalid>
Date2016-11-13 01:06 -0800
Message-ID<87a8d3g35k.fsf@nightsong.com>
In reply to#52579
"Elizabeth D. Rather" <erather@forth.com> writes:
> In polyFORTH, PAD was an offset from HERE...  having an individual PAD
> for every task *avoids* re-entrancy problems... It is intended as a
> convenience for user programs, to provide a re-usable temporary buffer
> under the sole control of the application.

Why not let the user program ALLOT a chunk of memory for such purposes
if it wants?  How much memory did those systems typically have?  I guess
things are different now in that small systems have flash program
memory, often leaving them with less ram (formerly called core) than the
old small systems had.  I think of Forth on a MSP430G2553 (512 bytes
ram) or even an Arduino (2k ram) and go "wow, 80 bytes for PAD is pretty
costly".  Of course it's possible to declare an environmental dependency
and shrink or eliminate PAD, but I don't understand why it's there in
the first place.

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


#52592

FromMikael Nordman <oh2aun@gmail.com>
Date2016-11-13 12:59 -0800
Message-ID<8b8098b3-385e-4c87-908d-e2858dfd1960@googlegroups.com>
In reply to#52581
On Sunday, November 13, 2016 at 11:06:17 AM UTC+2, Paul Rubin wrote:
> "Elizabeth D. Rather"  writes:
> > In polyFORTH, PAD was an offset from HERE...  having an individual PAD
> > for every task *avoids* re-entrancy problems... It is intended as a
> > convenience for user programs, to provide a re-usable temporary buffer
> > under the sole control of the application.
> 
> Why not let the user program ALLOT a chunk of memory for such purposes
> if it wants?  How much memory did those systems typically have?  I guess
> things are different now in that small systems have flash program
> memory, often leaving them with less ram (formerly called core) than the
> old small systems had.  I think of Forth on a MSP430G2553 (512 bytes
> ram) or even an Arduino (2k ram) and go "wow, 80 bytes for PAD is pretty
> costly".  Of course it's possible to declare an environmental dependency
> and shrink or eliminate PAD, but I don't understand why it's there in
> the first place.

This is what I do in FlashForth. Each task has a PAD of size zero at the end of its user area. It is up to the programmer to allot space for each instance of PAD.

PAD is there because of some historical reasons. I have never needed it myself.

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


#52597

FromHowerd <howerdo@yahoo.co.uk>
Date2016-11-13 18:27 -0800
Message-ID<e372f67c-2839-421b-ba7e-03f4f9e4d99e@googlegroups.com>
In reply to#52592
On Sunday, 13 November 2016 21:59:37 UTC+1, Mikael Nordman  wrote:
> On Sunday, November 13, 2016 at 11:06:17 AM UTC+2, Paul Rubin wrote:
> > "Elizabeth D. Rather"  writes:
> > > In polyFORTH, PAD was an offset from HERE...  having an individual PAD
> > > for every task *avoids* re-entrancy problems... It is intended as a
> > > convenience for user programs, to provide a re-usable temporary buffer
> > > under the sole control of the application.
> > 
> > Why not let the user program ALLOT a chunk of memory for such purposes
> > if it wants?  How much memory did those systems typically have?  I guess
> > things are different now in that small systems have flash program
> > memory, often leaving them with less ram (formerly called core) than the
> > old small systems had.  I think of Forth on a MSP430G2553 (512 bytes
> > ram) or even an Arduino (2k ram) and go "wow, 80 bytes for PAD is pretty
> > costly".  Of course it's possible to declare an environmental dependency
> > and shrink or eliminate PAD, but I don't understand why it's there in
> > the first place.
> 
> This is what I do in FlashForth. Each task has a PAD of size zero at the end of its user area. It is up to the programmer to allot space for each instance of PAD.
> 
> PAD is there because of some historical reasons. I have never needed it myself.

Hi Michael,

In a non multi-user system, PAD is just a label for the end of the USER area.
Using PAD without an ALLOT ( in USER memory ) is just a way of using a part of memory before it gets  ALLOTTed  , so there is no need to free it later.

Do you have to  ALLOT  a  PAD  if you want to use number formatting words? 
What happens if you forget?

Best regards,
Howerd

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


Page 2 of 4 — ← Prev page 1 [2] 3 4  Next page →

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


csiph-web