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


Groups > comp.lang.forth > #23374

Re: Programming Style

From rickman <gnuarm@gmail.com>
Newsgroups comp.lang.forth
Subject Re: Programming Style
Date 2013-06-09 15:22 -0400
Organization A noiseless patient Spider
Message-ID <kp2kcf$652$1@dont-email.me> (permalink)
References <kp2hhp$ktf$2@dont-email.me> <7xvc5n3z3i.fsf@ruckus.brouhaha.com>

Show all headers | View raw


On 6/9/2013 2:42 PM, Paul Rubin wrote:
> rickman<gnuarm@gmail.com>  writes:
>> In the first, the loop is terminated when two reads match.  Not
>> complex, but I learned "structured programming" in college and this
>> sort of thing just doesn't "feel" right (maybe I should get over
>> that).  The second continues in the loop doing nothing until the max
>> count is reached, but is very clear as to what is happening.
>
> Of course you should be willing to break out of the loop once the
> desired condition is met.  If you want a purist "structured programming"
> approach where the loop has a single exit, the answer is to use a WHILE
> loop rather than a DO.  Then the test condition would check both the
> loop counter, and a flag saying you had found the match result.  In
> practice I think nobody cares about that any more, so all currently
> popular imperative languages that I know of have a way to break out of a
> loop (the break statement in C, the LEAVE word in Forth, etc).  I'd say
> go ahead and use it.
>
> In functional programming, you'd make the loop counter into a parameter
> to the function, and use tail recursion to loop, recursing only if you
> didn't get a match and the loop limit hadn't been reached.

Yes, I have done the "roll your own" do loop using a while so I could 
add other conditions.  The problem with the "structured" programming 
approach is that it can be hard to understand what the heck it is doing.

Reading the ANS standard they talk about combining exits and branches in 
oddball ways.  Some of those could do the job of the IF at the end of 
the function.  But again, it may be hard to understand especially given 
the oddball nature.

-- 

Rick

Back to comp.lang.forth | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Programming Style rickman <gnuarm@gmail.com> - 2013-06-09 14:33 -0400
  Re: Programming Style Paul Rubin <no.email@nospam.invalid> - 2013-06-09 11:42 -0700
    Re: Programming Style rickman <gnuarm@gmail.com> - 2013-06-09 15:22 -0400
  Re: Programming Style "WJ" <w_a_x_man@yahoo.com> - 2013-06-09 19:16 +0000
    Re: Programming Style rickman <gnuarm@gmail.com> - 2013-06-09 15:36 -0400
      Re: Programming Style Roberto Waltman <usenet@rwaltman.com> - 2013-06-09 22:17 -0400
    Re: Programming Style rickman <gnuarm@gmail.com> - 2013-06-22 09:53 -0400
  Re: Programming Style humptydumpty <ouatubi@gmail.com> - 2013-06-10 00:31 -0700
    Re: Programming Style rickman <gnuarm@gmail.com> - 2013-06-10 11:08 -0400
      Re: Programming Style humptydumpty <ouatubi@gmail.com> - 2013-06-10 11:09 -0700
        Re: Programming Style rickman <gnuarm@gmail.com> - 2013-06-10 18:56 -0400
          Re: Programming Style "Elizabeth D. Rather" <erather@forth.com> - 2013-06-10 15:31 -1000
            Re: Programming Style rickman <gnuarm@gmail.com> - 2013-06-11 23:10 -0400
  Re: Programming Style albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-10 08:32 +0000
    Re: Programming Style rickman <gnuarm@gmail.com> - 2013-06-10 11:12 -0400
      Re: Programming Style albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-10 17:22 +0000
      Re: Programming Style Mark Wills <markrobertwills@yahoo.co.uk> - 2013-06-11 01:01 -0700
        Re: Programming Style Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2013-06-11 15:51 +0100
          Re: Programming Style rickman <gnuarm@gmail.com> - 2013-06-12 11:14 -0400
            Re: Programming Style "Elizabeth D. Rather" <erather@forth.com> - 2013-06-14 13:03 -1000
              Re: Programming Style rickman <gnuarm@gmail.com> - 2013-06-14 19:22 -0400
                Re: Programming Style "Elizabeth D. Rather" <erather@forth.com> - 2013-06-14 16:54 -1000
                Re: Programming Style rickman <gnuarm@gmail.com> - 2013-06-15 12:14 -0400
                Re: Programming Style "Elizabeth D. Rather" <erather@forth.com> - 2013-06-15 11:57 -1000
                Re: Programming Style anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-17 16:12 +0000
                Re: Programming Style rickman <gnuarm@gmail.com> - 2013-06-17 23:08 -0400
        Re: Programming Style Hannu Vuolasaho <hannu.vuolasaho@nospam.tut.fi.invalid> - 2013-06-11 18:42 +0000
          Re: Programming Style "Ed" <invalid@invalid.com> - 2013-06-12 12:00 +1000
            Re: Programming Style "Elizabeth D. Rather" <erather@forth.com> - 2013-06-11 17:07 -1000
              Re: Programming Style "Ed" <invalid@invalid.com> - 2013-06-13 14:21 +1000
                Re: Programming Style "Elizabeth D. Rather" <erather@forth.com> - 2013-06-12 18:35 -1000
                Re: Programming Style "Ed" <invalid@invalid.com> - 2013-06-13 16:56 +1000
                Re: Programming Style "Elizabeth D. Rather" <erather@forth.com> - 2013-06-12 21:03 -1000
                Re: Programming Style "Ed" <invalid@invalid.com> - 2013-06-14 10:20 +1000
                Re: Programming Style "Elizabeth D. Rather" <erather@forth.com> - 2013-06-13 15:46 -1000
                Re: Programming Style "Ed" <invalid@invalid.com> - 2013-06-15 23:27 +1000
                Re: Programming Style Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-15 10:53 -0500
                Re: Programming Style Mark Wills <markrobertwills@yahoo.co.uk> - 2013-06-14 01:34 -0700
                Re: Programming Style anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-14 12:12 +0000
                Re: Programming Style albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-14 15:13 +0000
                Re: Programming Style "Ed" <invalid@invalid.com> - 2013-06-17 21:25 +1000
                Re: Programming Style anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-17 15:37 +0000
                Re: Programming Style Elizabeth D Rather <erather@forth.com> - 2013-06-17 08:17 -1000
                Re: Programming Style albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-17 19:47 +0000
                Re: Programming Style anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-18 08:12 +0000
                Re: Programming Style Alex McDonald <blog@rivadpm.com> - 2013-06-17 12:59 -0700
                Re: Programming Style rickman <gnuarm@gmail.com> - 2013-06-17 23:33 -0400
                Re: Programming Style Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-06-19 19:50 -0700
                Re: Programming Style Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-20 03:08 -0500
                Re: Programming Style Alex McDonald <blog@rivadpm.com> - 2013-06-20 01:55 -0700
                Re: Programming Style Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-20 05:10 -0500
                Re: Programming Style Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-20 13:02 +0200
                Re: Programming Style anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-20 15:40 +0000
                Re: Programming Style "Elizabeth D. Rather" <erather@forth.com> - 2013-06-20 07:21 -1000
                Re: Programming Style albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-20 09:50 +0000
                Re: Programming Style rickman <gnuarm@gmail.com> - 2013-06-14 18:50 -0400
                Re: Programming Style "Ed" <invalid@invalid.com> - 2013-06-16 00:31 +1000
                Re: Programming Style Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-15 10:59 -0500
                Re: Programming Style albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-13 10:48 +0000
                Re: Programming Style "Elizabeth D. Rather" <erather@forth.com> - 2013-06-13 07:44 -1000
                Re: Programming Style albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-15 16:31 +0000
            Re: Programming Style albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-12 11:10 +0000
              Re: Programming Style mhx@iae.nl (Marcel Hendrix) - 2013-06-12 20:51 +0200
            Re: Programming Style anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-12 15:06 +0000
              Re: Programming Style "Ed" <invalid@invalid.com> - 2013-06-13 14:54 +1000
                Re: Programming Style "Elizabeth D. Rather" <erather@forth.com> - 2013-06-12 20:43 -1000
                Re: Programming Style anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-14 12:45 +0000
          Re: Programming Style rickman <gnuarm@gmail.com> - 2013-06-14 16:39 -0400
            Re: Programming Style "Elizabeth D. Rather" <erather@forth.com> - 2013-06-14 11:37 -1000
        Re: Programming Style Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-06-11 18:23 -0700
      Re: Programming Style "Elizabeth D. Rather" <erather@forth.com> - 2013-06-15 08:45 -1000

csiph-web