Groups | Search | Server Info | Login | Register


Groups > comp.lang.forth > #23368

Re: Programming Style

From Paul Rubin <no.email@nospam.invalid>
Newsgroups comp.lang.forth
Subject Re: Programming Style
Date 2013-06-09 11:42 -0700
Organization Nightsong/Fort GNOX
Message-ID <7xvc5n3z3i.fsf@ruckus.brouhaha.com> (permalink)
References <kp2hhp$ktf$2@dont-email.me>

Show all headers | View raw


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.

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