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


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

I am afriad

Started byendlessboomcapitalism@gmail.com
First post2016-06-19 22:00 -0700
Last post2016-06-22 06:04 -0700
Articles 20 on this page of 26 — 11 participants

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


Contents

  I am afriad endlessboomcapitalism@gmail.com - 2016-06-19 22:00 -0700
    Re: I am afriad Chris Curl <ccurl609@gmail.com> - 2016-06-20 05:29 -0700
      Re: I am afriad "Kerr Mudd-John" <admin@127.0.0.1> - 2016-06-20 19:43 -0100
        Re: I am afriad endlessboomcapitalism@gmail.com - 2016-06-20 14:42 -0700
          Re: I am afriad hughaguilar96@gmail.com - 2016-06-20 19:35 -0700
      Re: I am afriad rickman <gnuarm@gmail.com> - 2016-06-20 16:00 -0400
        Re: I am afriad Chris Curl <ccurl609@gmail.com> - 2016-06-20 19:03 -0700
          Re: I am afriad hughaguilar96@gmail.com - 2016-06-20 19:23 -0700
            Re: I am afriad rickman <gnuarm@gmail.com> - 2016-06-20 22:58 -0400
          Re: I am afriad rickman <gnuarm@gmail.com> - 2016-06-20 22:51 -0400
            Re: I am afriad Chris Curl <ccurl609@gmail.com> - 2016-06-20 20:23 -0700
              Re: I am afriad rickman <gnuarm@gmail.com> - 2016-06-20 23:51 -0400
              Re: I am afriad Ron Aaron <rambamist@gmail.com> - 2016-06-21 07:04 +0300
                Re: I am afriad Chris Curl <ccurl609@gmail.com> - 2016-06-21 05:33 -0700
                  Re: I am afriad Ron Aaron <rambamist@gmail.com> - 2016-06-21 16:05 +0300
                  Re: I am afriad anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-06-21 13:30 +0000
              Re: I am afriad hughaguilar96@gmail.com - 2016-06-20 21:10 -0700
              Re: I am afriad hughaguilar96@gmail.com - 2016-06-20 21:16 -0700
                Re: I am afriad Ron Aaron <rambamist@gmail.com> - 2016-06-21 07:41 +0300
    Re: I am afriad Mark Wills <markwills1970@gmail.com> - 2016-06-21 05:23 -0700
      Re: I am afriad Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-06-21 08:27 -0500
        Re: I am afriad Mark Wills <markwills1970@gmail.com> - 2016-06-21 10:47 -0700
      Re: I am afriad hughaguilar96@gmail.com - 2016-06-21 22:58 -0700
        Re: I am afriad Julian Fondren <julian.fondren@gmail.com> - 2016-06-21 23:51 -0700
          Re: I am afriad Mark Wills <markwills1970@gmail.com> - 2016-06-22 08:06 -0700
        Re: I am afriad Matthias Trute <matthias.trute@gmail.com> - 2016-06-22 06:04 -0700

Page 1 of 2  [1] 2  Next page →


#48379 — I am afriad

Fromendlessboomcapitalism@gmail.com
Date2016-06-19 22:00 -0700
SubjectI am afriad
Message-ID<46707694-6aec-4fc4-a1cb-e4a104b6cd21@googlegroups.com>
I see starting forth and gforth and thinking forth

I have started to learn but stop and have fear I can not make a dynamic website with them.

I have done same with lisp and haskell and got stuck.

Can if I persist learn this stuff?

[toc] | [next] | [standalone]


#48390

FromChris Curl <ccurl609@gmail.com>
Date2016-06-20 05:29 -0700
Message-ID<10796b24-694d-4913-b363-02ae917fad29@googlegroups.com>
In reply to#48379
On Monday, June 20, 2016 at 1:00:09 AM UTC-4, endlessboo...@gmail.com wrote:
> I see starting forth and gforth and thinking forth
> 
> I have started to learn but stop and have fear I can not make a dynamic website with them.
> 
> I have done same with lisp and haskell and got stuck.
> 
> Can if I persist learn this stuff?
How much experience do you have in programming? Have you written large programs before?

Writing a website, or a web browser from scratch is a large undertaking.

And since Forth is a bottom up language, it can be a challenge to visualize 
the final program, because you have to write the lower-level supporting code 
before you can write the higher level code.

I have had times where I had to throw away everything and start over. Other 
times, I have given up on a project because, I lost interest or decided it 
wasn't worth the effort. It happens.

If are determined enough, and you keep at it, eventually, you will start to 
see other ways to approach the problem you are trying to solve.

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


#48393

From"Kerr Mudd-John" <admin@127.0.0.1>
Date2016-06-20 19:43 -0100
Message-ID<op.yjdih1dmmsr2db@anyhost.anywhere>
In reply to#48390
On Mon, 20 Jun 2016 11:29:58 -0100, Chris Curl <ccurl609@gmail.com> wrote:

> On Monday, June 20, 2016 at 1:00:09 AM UTC-4, endlessboo...@gmail.com  
> wrote:
>> I see starting forth and gforth and thinking forth
>>
>> I have started to learn but stop and have fear I can not make a dynamic  
>> website with them.
>>
>> I have done same with lisp and haskell and got stuck.
>>
>> Can if I persist learn this stuff?
> How much experience do you have in programming? Have you written large  
> programs before?

None, it's the Gavino troll.

-- 
Bah, and indeed, Humbug

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


#48395

Fromendlessboomcapitalism@gmail.com
Date2016-06-20 14:42 -0700
Message-ID<6a2e7449-4f1d-4918-baae-1f9709aae216@googlegroups.com>
In reply to#48393
On Monday, June 20, 2016 at 3:40:41 PM UTC-4, Kerr Mudd-John wrote:
> On Mon, 20 Jun 2016 11:29:58 -0100, Chris Curl <ccurl609@gmail.com> wrote:
> 
> > On Monday, June 20, 2016 at 1:00:09 AM UTC-4, endlessboo...@gmail.com  
> > wrote:
> >> I see starting forth and gforth and thinking forth
> >>
> >> I have started to learn but stop and have fear I can not make a dynamic  
> >> website with them.
> >>
> >> I have done same with lisp and haskell and got stuck.
> >>
> >> Can if I persist learn this stuff?
> > How much experience do you have in programming? Have you written large  
> > programs before?
> 
> None, it's the Gavino troll.
> 
> -- 
> Bah, and indeed, Humbug

im no troll

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


#48410

Fromhughaguilar96@gmail.com
Date2016-06-20 19:35 -0700
Message-ID<c980b752-9f66-4185-9c10-cd8f68a33b48@googlegroups.com>
In reply to#48395
On Monday, June 20, 2016 at 2:42:16 PM UTC-7, endlessboo...@gmail.com wrote:
> On Monday, June 20, 2016 at 3:40:41 PM UTC-4, Kerr Mudd-John wrote:
> > On Mon, 20 Jun 2016 11:29:58 -0100, Chris Curl <ccurl609@gmail.com> wrote:
> > 
> > > On Monday, June 20, 2016 at 1:00:09 AM UTC-4, endlessboo...@gmail.com  
> > > wrote:
> > >> I see starting forth and gforth and thinking forth
> > >>
> > >> I have started to learn but stop and have fear I can not make a dynamic  
> > >> website with them.
> > >>
> > >> I have done same with lisp and haskell and got stuck.
> > >>
> > >> Can if I persist learn this stuff?
> > > How much experience do you have in programming? Have you written large  
> > > programs before?
> > 
> > None, it's the Gavino troll.
> > 
> > -- 
> > Bah, and indeed, Humbug
> 
> im no troll

I encouraged you to write a program in Forth, and I pretty much designed it for you to make getting started super-easy --- you replied: "fuk u".

Now you persist in these idiotic threads on comp.lang.forth about programs that are way beyond ANS-Forth's capability. They might be possible in VFX, but there would have to be some monetary motivation, which there isn't.

You're a troll --- I don't think you will ever write a computer program in any language --- fuk u

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


#48394

Fromrickman <gnuarm@gmail.com>
Date2016-06-20 16:00 -0400
Message-ID<nk9i1f$jc3$1@dont-email.me>
In reply to#48390
On 6/20/2016 8:29 AM, Chris Curl wrote:
> On Monday, June 20, 2016 at 1:00:09 AM UTC-4, endlessboo...@gmail.com wrote:
>> I see starting forth and gforth and thinking forth
>>
>> I have started to learn but stop and have fear I can not make a dynamic website with them.
>>
>> I have done same with lisp and haskell and got stuck.
>>
>> Can if I persist learn this stuff?
> How much experience do you have in programming? Have you written large programs before?
>
> Writing a website, or a web browser from scratch is a large undertaking.
>
> And since Forth is a bottom up language, it can be a challenge to visualize
> the final program, because you have to write the lower-level supporting code
> before you can write the higher level code.

I think you don't properly understand coding and design.  They are two 
different things.  You may choose to combine them, but they are not 
inherently combined.  There is no more reason to start with the lower 
level code in Forth than any other language.

-- 

Rick C

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


#48407

FromChris Curl <ccurl609@gmail.com>
Date2016-06-20 19:03 -0700
Message-ID<c6cca178-32e2-4515-b65d-3508a444c1d8@googlegroups.com>
In reply to#48394
I have been a software developer for 30+ years. Trust me, I know how to
design and build very large scale programs.

Some languages lend themselves well to a top-down programming style. Forth
does not seem to be a language that fits that model very well.

Please elaborate how you can write the high level words first, followed by the
supporting words. Forth's whole paradigm is to continually extend the 
vocabulary, creating higher and higher level words from the words that already
exist. That is a classic example of bottom up programming.

What am I missing?

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


#48409

Fromhughaguilar96@gmail.com
Date2016-06-20 19:23 -0700
Message-ID<528d7721-99e7-4cfd-9449-322fa5b67cea@googlegroups.com>
In reply to#48407
On Monday, June 20, 2016 at 7:03:58 PM UTC-7, Chris Curl wrote:
> I have been a software developer for 30+ years. Trust me, I know how to
> design and build very large scale programs.
> 
> Some languages lend themselves well to a top-down programming style. Forth
> does not seem to be a language that fits that model very well.
> 
> Please elaborate how you can write the high level words first, followed by the
> supporting words. Forth's whole paradigm is to continually extend the 
> vocabulary, creating higher and higher level words from the words that already
> exist. That is a classic example of bottom up programming.
> 
> What am I missing?

You aren't missing anything --- you understand how Forth development works.

Rickman is just a troll, pretending to be an expert and spouting idiotic advice --- he has never posted Forth code on c.l.f. --- I have seen no evidence to indicate that he knows any more about Forth programming than John Passaniti did (another infamous sycophant of Elizabeth Rather who pretended to be an expert and spouted idiotic advice).

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


#48412

Fromrickman <gnuarm@gmail.com>
Date2016-06-20 22:58 -0400
Message-ID<nkaagh$tad$1@dont-email.me>
In reply to#48409
On 6/20/2016 10:23 PM, hughaguilar96@gmail.com wrote:
> On Monday, June 20, 2016 at 7:03:58 PM UTC-7, Chris Curl wrote:
>> I have been a software developer for 30+ years. Trust me, I know how to
>> design and build very large scale programs.
>>
>> Some languages lend themselves well to a top-down programming style. Forth
>> does not seem to be a language that fits that model very well.
>>
>> Please elaborate how you can write the high level words first, followed by the
>> supporting words. Forth's whole paradigm is to continually extend the
>> vocabulary, creating higher and higher level words from the words that already
>> exist. That is a classic example of bottom up programming.
>>
>> What am I missing?
>
> You aren't missing anything --- you understand how Forth development works.
>
> Rickman is just a troll, pretending to be an expert and spouting idiotic advice --- he has never posted Forth code on c.l.f. --- I have seen no evidence to indicate that he knows any more about Forth programming than John Passaniti did (another infamous sycophant of Elizabeth Rather who pretended to be an expert and spouted idiotic advice).

Here's some code.

: decompose rot rot rot ;

tee hee hee

-- 

Rick C

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


#48411

Fromrickman <gnuarm@gmail.com>
Date2016-06-20 22:51 -0400
Message-ID<nkaa4b$rr6$1@dont-email.me>
In reply to#48407
On 6/20/2016 10:03 PM, Chris Curl wrote:
> I have been a software developer for 30+ years. Trust me, I know how to
> design and build very large scale programs.
>
> Some languages lend themselves well to a top-down programming style. Forth
> does not seem to be a language that fits that model very well.
>
> Please elaborate how you can write the high level words first, followed by the
> supporting words. Forth's whole paradigm is to continually extend the
> vocabulary, creating higher and higher level words from the words that already
> exist. That is a classic example of bottom up programming.
>
> What am I missing?

The distinction between code and design... as I said before.

How do you do top down design in C or any other language?  In Forth you 
do the same thing.

-- 

Rick C

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


#48414

FromChris Curl <ccurl609@gmail.com>
Date2016-06-20 20:23 -0700
Message-ID<c9692328-7937-4b07-9113-8700ea9ffa4f@googlegroups.com>
In reply to#48411
On Monday, June 20, 2016 at 10:51:57 PM UTC-4, rickman wrote:
> On 6/20/2016 10:03 PM, Chris Curl wrote:
> > I have been a software developer for 30+ years. Trust me, I know how to
> > design and build very large scale programs.
> >
> > Some languages lend themselves well to a top-down programming style. Forth
> > does not seem to be a language that fits that model very well.
> >
> > Please elaborate how you can write the high level words first, followed by the
> > supporting words. Forth's whole paradigm is to continually extend the
> > vocabulary, creating higher and higher level words from the words that already
> > exist. That is a classic example of bottom up programming.
> >
> > What am I missing?
> 
> The distinction between code and design... as I said before.
> 
> How do you do top down design in C or any other language?  In Forth you 
> do the same thing.
> 
> -- 
> 
> Rick C
Do you seriously not understand what I am talking about?

Sure, you may have a good idea where you want to end up, and what the 
last words look like and how they behave, but before you can write those 
words, you have to ALREADY HAVE WRITTEN ALL THE WORDS ON WHICH THOSE WORDS 
DEPEND.

In many other languages, you can write the top level functions first, with 
stubs for the next level down. You can keep going that way until you have
filled in all the supporting code. In my job where they pay me really good
money to design and write programs every day, we use C++ and C# primarily, 
and that is how we write our programs.

Show me how you do that in Forth.

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


#48417

Fromrickman <gnuarm@gmail.com>
Date2016-06-20 23:51 -0400
Message-ID<nkadj7$4ap$1@dont-email.me>
In reply to#48414
On 6/20/2016 11:23 PM, Chris Curl wrote:
> On Monday, June 20, 2016 at 10:51:57 PM UTC-4, rickman wrote:
>> On 6/20/2016 10:03 PM, Chris Curl wrote:
>>> I have been a software developer for 30+ years. Trust me, I know how to
>>> design and build very large scale programs.
>>>
>>> Some languages lend themselves well to a top-down programming style. Forth
>>> does not seem to be a language that fits that model very well.
>>>
>>> Please elaborate how you can write the high level words first, followed by the
>>> supporting words. Forth's whole paradigm is to continually extend the
>>> vocabulary, creating higher and higher level words from the words that already
>>> exist. That is a classic example of bottom up programming.
>>>
>>> What am I missing?
>>
>> The distinction between code and design... as I said before.
>>
>> How do you do top down design in C or any other language?  In Forth you
>> do the same thing.
>>
>> --
>>
>> Rick C
> Do you seriously not understand what I am talking about?
>
> Sure, you may have a good idea where you want to end up, and what the
> last words look like and how they behave, but before you can write those
> words, you have to ALREADY HAVE WRITTEN ALL THE WORDS ON WHICH THOSE WORDS
> DEPEND.
>
> In many other languages, you can write the top level functions first, with
> stubs for the next level down. You can keep going that way until you have
> filled in all the supporting code. In my job where they pay me really good
> money to design and write programs every day, we use C++ and C# primarily,
> and that is how we write our programs.

"Stubs"... are they magical features of every language other than Forth???


> Show me how you do that in Forth.

: Stub_a ( -- ) ;

Or if the stub needs to return a flag...

: Stub_b ( -- flag ) FALSE ;

Or if the stub takes two arguments and returns one result...

: Stub_c ( a b -- c ) drop drop 0 ;

Is that really too hard for you to figure out???

(See Hugh, I *can* write code, lol)

You show me a stub in C or C++ (well,  maybe not C++ since I've not used 
it) and I'll show you the *exact* same stub in Forth!

I have no idea how to even discuss this with you as the issue is so 
transparent.  What sort of road blocks do you have in your mind about 
the capabilities of Forth???

I actually write Forth programs top down if I don't have a clear idea of 
the middle layers.  I typically know the low level interfaces or some 
hardware control stuff and I know what it needs to be at the top level. 
So I start coding the top level so I can then derive my requirements for 
the middle layers (informally of course).  Finally I code the lowest 
layers to support the middle layers and start testing from the bottom up.

Actually, my testing is often done on separate branches from the bottom 
up.  So I design a path down one branch and test it.  Then I design 
another branch and test it.  Eventually I've tested the entire body of 
code together and see if I missed any bugs in the process.

If the decomposition is such that there is code that can be tested on 
the way down, I do that before starting the bottom up testing.  That 
often happens with control loops or various functions that essentially 
are short branches.

But my design and coding process is top down... notice I said "design 
and coding" as they are very different things that I typically integrate 
because my stuff is usually not terribly large.  If I were designing 
larger bodies of code I would likely use more formal requirements 
analysis and design techniques to assure fewer mistakes in the top down 
design process.

I have no idea why you think there are any design and coding methods you 
can't use with Forth.

-- 

Rick C

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


#48420

FromRon Aaron <rambamist@gmail.com>
Date2016-06-21 07:04 +0300
Message-ID<nkaedb$574$1@dont-email.me>
In reply to#48414

On 21/06/2016 06:23, Chris Curl wrote:

> In many other languages, you can write the top level functions first, with 
> stubs for the next level down. You can keep going that way until you have
> filled in all the supporting code. In my job where they pay me really good
> money to design and write programs every day, we use C++ and C# primarily, 
> and that is how we write our programs.

I generally write that way in 8th (Forth/C++/whatever), as I find it
more flexible.  I don't understand why you think Forth would be any
different in this regard:

\ a stub:
: dosomething ;

\ another stub:
: do-something-else ;

\ top-level:

: main
  dosomething
  do-something-else
  bye ;

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


#48433

FromChris Curl <ccurl609@gmail.com>
Date2016-06-21 05:33 -0700
Message-ID<76cee616-f285-4c93-9adb-2b85c07072da@googlegroups.com>
In reply to#48420
On Tuesday, June 21, 2016 at 12:05:00 AM UTC-4, Ron Aaron wrote:
> On 21/06/2016 06:23, Chris Curl wrote:
> 
> > In many other languages, you can write the top level functions first, with 
> > stubs for the next level down. You can keep going that way until you have
> > filled in all the supporting code. In my job where they pay me really good
> > money to design and write programs every day, we use C++ and C# primarily, 
> > and that is how we write our programs.
> 
> I generally write that way in 8th (Forth/C++/whatever), as I find it
> more flexible.  I don't understand why you think Forth would be any
> different in this regard:
> 
> \ a stub:
> : dosomething ;
> 
> \ another stub:
> : do-something-else ;
> 
> \ top-level:
> 
> : main
>   do-something
>   do-something-else
>   bye ;
Fair enough I guess. I still think of that as bottom up, because of the 
fact that the highest level words are defined at the end of the code, not 
the beginning. To me, that program, written in a more top-down style would be:

: main
  do-something
  do-something-else
  bye ;

: do-something ;

: do-something-else ;

It is true that in Forth, you can still define the highest-level words 
first. It is just that they end up at the END of the code, not at the 
beginning as they would more normally be in a top-down world. So when
trying to understand a Forth program, it would be a good idea to start 
at the end.

Maybe it is just semantics.

For people like endlessboo who are apparently programming-challenged,
working that way might be too much mental gymnastics.

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


#48434

FromRon Aaron <rambamist@gmail.com>
Date2016-06-21 16:05 +0300
Message-ID<nkbe3c$2ve$1@dont-email.me>
In reply to#48433

On 21/06/2016 15:33, Chris Curl wrote:

> Fair enough I guess. I still think of that as bottom up, because of the 
> fact that the highest level words are defined at the end of the code, not 
> the beginning. To me, that program, written in a more top-down style would be:

The usual usage is as Wikipedia has it:

https://en.wikipedia.org/wiki/Top-down_and_bottom-up_design

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


#48436

Fromanton@mips.complang.tuwien.ac.at (Anton Ertl)
Date2016-06-21 13:30 +0000
Message-ID<2016Jun21.153053@mips.complang.tuwien.ac.at>
In reply to#48433
Chris Curl <ccurl609@gmail.com> writes:
>: main
>  do-something
>  do-something-else
>  bye ;
>
>: do-something ;
>
>: do-something-else ;
>
>It is true that in Forth, you can still define the highest-level words 
>first. It is just that they end up at the END of the code, not at the 
>beginning as they would more normally be in a top-down world.

For any editor more sophisticated than (Unix) cat, this is not a
problem.

BTW, many programming languages have this define-before-use
restriction, in particular Pascal, which is often mentioned in
connection with top-down development, and C, which you mentioned.
Note that this has become stricter in C over the years.  Now, if you
claim that you only need to declare in C and Pascal before use, and
can define later, you can also do something like that in Forth:

defer do-something
defer do-something-else

: main
  do-something
  do-something-else
  bye ;

:noname ;
is do-something

:noname ;
is do-something-else

>So when
>trying to understand a Forth program, it would be a good idea to start 
>at the end.

That would be top-down understanding, not top-down development.  I am
not convinced that this is a good approach, but anyway, once the
program is there, any reader can read it in any order they see fit.

- anton
-- 
M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
     New standard: http://www.forth200x.org/forth200x.html
   EuroForth 2016: http://www.euroforth.org/ef16/

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


#48423

Fromhughaguilar96@gmail.com
Date2016-06-20 21:10 -0700
Message-ID<dcaec367-6b8d-4513-aaa6-c16ca905536d@googlegroups.com>
In reply to#48414
On Monday, June 20, 2016 at 8:23:42 PM UTC-7, Chris Curl wrote:
> On Monday, June 20, 2016 at 10:51:57 PM UTC-4, rickman wrote:
> > On 6/20/2016 10:03 PM, Chris Curl wrote:
> > > I have been a software developer for 30+ years. Trust me, I know how to
> > > design and build very large scale programs.
> > >
> > > Some languages lend themselves well to a top-down programming style. Forth
> > > does not seem to be a language that fits that model very well.
> > >
> > > Please elaborate how you can write the high level words first, followed by the
> > > supporting words. Forth's whole paradigm is to continually extend the
> > > vocabulary, creating higher and higher level words from the words that already
> > > exist. That is a classic example of bottom up programming.
> > >
> > > What am I missing?
> > 
> > The distinction between code and design... as I said before.
> > 
> > How do you do top down design in C or any other language?  In Forth you 
> > do the same thing.
> > 
> > -- 
> > 
> > Rick C
> Do you seriously not understand what I am talking about?
> 
> Sure, you may have a good idea where you want to end up, and what the 
> last words look like and how they behave, but before you can write those 
> words, you have to ALREADY HAVE WRITTEN ALL THE WORDS ON WHICH THOSE WORDS 
> DEPEND.
> 
> In many other languages, you can write the top level functions first, with 
> stubs for the next level down. You can keep going that way until you have
> filled in all the supporting code. In my job where they pay me really good
> money to design and write programs every day, we use C++ and C# primarily, 
> and that is how we write our programs.
> 
> Show me how you do that in Forth.

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


#48424

Fromhughaguilar96@gmail.com
Date2016-06-20 21:16 -0700
Message-ID<a93f8f3a-a0f5-4e86-8f80-38e0ac003f81@googlegroups.com>
In reply to#48414
On Monday, June 20, 2016 at 8:23:42 PM UTC-7, Chris Curl wrote:
> On Monday, June 20, 2016 at 10:51:57 PM UTC-4, rickman wrote:
> > On 6/20/2016 10:03 PM, Chris Curl wrote:
> > > I have been a software developer for 30+ years. Trust me, I know how to
> > > design and build very large scale programs.
> > >
> > > Some languages lend themselves well to a top-down programming style. Forth
> > > does not seem to be a language that fits that model very well.
> > >
> > > Please elaborate how you can write the high level words first, followed by the
> > > supporting words. Forth's whole paradigm is to continually extend the
> > > vocabulary, creating higher and higher level words from the words that already
> > > exist. That is a classic example of bottom up programming.
> > >
> > > What am I missing?
> > 
> > The distinction between code and design... as I said before.
> > 
> > How do you do top down design in C or any other language?  In Forth you 
> > do the same thing.
> > 
> > -- 
> > 
> > Rick C
> Do you seriously not understand what I am talking about?
> 
> Sure, you may have a good idea where you want to end up, and what the 
> last words look like and how they behave, but before you can write those 
> words, you have to ALREADY HAVE WRITTEN ALL THE WORDS ON WHICH THOSE WORDS 
> DEPEND.
> 
> In many other languages, you can write the top level functions first, with 
> stubs for the next level down. You can keep going that way until you have
> filled in all the supporting code. In my job where they pay me really good
> money to design and write programs every day, we use C++ and C# primarily, 
> and that is how we write our programs.
> 
> Show me how you do that in Forth.

It can be done --- it is just a bad idea.

The problem with using stubs is that you can't be sure that the low-level functions actually can be written as you are expecting them to be written, or if they can be written that they should be written in that way.

Bottom-up programming is generally a good idea because you can test your code as you go. Big programs that work evolve from small programs that work. This is similar to how life on Earth evolved --- we started out with simple life forms, and then over time got more complex ones --- but we always had a working system; there weren't any "stubs."

I normally start out by defining my structs that will hold the data used in the program, and then I define the data-structure that the structs will be in, and then I work up from there.

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


#48425

FromRon Aaron <rambamist@gmail.com>
Date2016-06-21 07:41 +0300
Message-ID<nkaghu$be8$1@dont-email.me>
In reply to#48424

On 21/06/2016 07:16, hughaguilar96@gmail.com wrote:

> It can be done --- it is just a bad idea.

No it is not.  It is simply a different methodology.


> Bottom-up programming is generally a good idea because you can test your code as you go. Big programs that work evolve from small programs that work. 

You can test your code as you go with top-down iterative as well, as I
always do (and have done for 30+ years).

The disadvantage of "bottom-up" is that you can get lost in details
which may prove to be irrelevant later on.

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


#48432

FromMark Wills <markwills1970@gmail.com>
Date2016-06-21 05:23 -0700
Message-ID<8b189731-a519-4891-9e85-1a56414aa591@googlegroups.com>
In reply to#48379
On Monday, 20 June 2016 06:00:09 UTC+1, endlessboo...@gmail.com  wrote:
> I see starting forth and gforth and thinking forth
> 
> I have started to learn but stop and have fear I can not make a dynamic website with them.
> 
> I have done same with lisp and haskell and got stuck.
> 
> Can if I persist learn this stuff?

WTF? Just use a language DESGINED for dynamic websites, like, ooh, I dunno,
that's a hard one. Say... maybe, ASP, or ASP.NET, or PHP or Perl, or JSP, or
Python, or hell, just use good old fashioned compiled C with the CGI interface.

Why make it hard on yourself?

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


Page 1 of 2  [1] 2  Next page →

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


csiph-web