Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #52536 > unrolled thread
| Started by | Mark Wills <markwills1970@gmail.com> |
|---|---|
| First post | 2016-11-11 03:47 -0800 |
| Last post | 2016-11-16 12:33 -0800 |
| Articles | 20 on this page of 67 — 17 participants |
Back to article view | Back to comp.lang.forth
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 →
| From | Howerd <howerdo@yahoo.co.uk> |
|---|---|
| Date | 2016-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]
| From | rickman <gnuarm@gmail.com> |
|---|---|
| Date | 2016-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]
| From | jim <anon@example.com> |
|---|---|
| Date | 2016-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]
| From | Howerd <howerdo@yahoo.co.uk> |
|---|---|
| Date | 2016-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]
| From | Mark Wills <markwills1970@gmail.com> |
|---|---|
| Date | 2016-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]
| From | "Robert L." <No_spamming@noWhere_7073.org> |
|---|---|
| Date | 2016-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]
| From | albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) |
|---|---|
| Date | 2016-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]
| From | "HAA" <someone@microsoft.com> |
|---|---|
| Date | 2016-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]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2016-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]
| From | Howerd <howerdo@yahoo.co.uk> |
|---|---|
| Date | 2016-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]
| From | november.nihal@gmail.com |
|---|---|
| Date | 2016-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]
| From | "Elizabeth D. Rather" <erather@forth.com> |
|---|---|
| Date | 2016-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]
| From | Howerd <howerdo@yahoo.co.uk> |
|---|---|
| Date | 2016-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]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2016-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]
| From | rickman <gnuarm@gmail.com> |
|---|---|
| Date | 2016-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]
| From | "Elizabeth D. Rather" <erather@forth.com> |
|---|---|
| Date | 2016-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]
| From | "Elizabeth D. Rather" <erather@forth.com> |
|---|---|
| Date | 2016-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]
| From | Paul Rubin <no.email@nospam.invalid> |
|---|---|
| Date | 2016-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]
| From | Mikael Nordman <oh2aun@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Howerd <howerdo@yahoo.co.uk> |
|---|---|
| Date | 2016-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