Differences between revisions 14 and 16 (spanning 2 versions)
Revision 14 as of 2003-11-23 03:57:32
Size: 3120
Editor: dsl254-010-130
Comment: Block Patterns.
Revision 16 as of 2003-11-23 21:26:33
Size: 3128
Editor: dsl254-010-130
Comment: Yes- but not on this wiki.
Deletions are marked like this. Additions are marked like this.
Line 63: Line 63:
Well, if I understand the code correctly, I would just do:

{{{
#!python
first_time_a()
first_time_c()
while condition:
    always_b()
    always_d()
}}}

But that isn't really the point.
What do you mean with a block pattern? It seems like another level of Scope (as in the Wiki:DesignPatternsBook). -- JohannesGijsbers
What do you mean with a block pattern? It seems like another level of Scope (as in the Wiki:DesignPatternsBook). -- JohannesGijsbers
Line 77: Line 66:

Well, I meant that "a" has to come before "b", which has to come before "c", which has to come before "d".
Line 94: Line 81:
I see what you're getting at. How about "ProceduralPatterns", with block patterns being one of the scopes involved. The other scope would probably be about splitting things up into functions. -- JohannesGijsbers

Yes,yes, that's exactly it. Though I don't think it should polute ''this'' wiki. :) -- LionKimbro

See JohannesGijsbers for more on me, but I'm subscribed to this page, so you can leave me messages here.

Email: jlgijsbers at planet dot nl


So, if we had a nice pattern repository wiki, we could write about decorate-sort-undecorate there and link to it... {;D}= -- LionKimbro DateTime(2003-11-21T22:18:39Z)

PortlandPatternRepository? ;) -- JohannesGijsbers

Two thoughts:

  • I'd like a focused design patterns community.

  • I'd like a block patterns community.

I think that there is a type of pattern that people use within a procedure.

For an example of a basic one, there is the ForLoop.

But there are also others, like FirstTimeSeperate versus FirstTimeIntegrated.

That is, do you:

   1 first_time_a()
   2 always_b()
   3 first_time_c()
   4 always_d()
   5 
   6 while condition:
   7   always_b()
   8   always_d()

...or do you...

   1 first=1
   2 
   3 while condition:
   4     if first: first_time_a()
   5     always_b()
   6     if first: first_time_c()
   7     always_d()
   8     first=0

Surely, there are advantages to each one, no?

I taught beginning programmers for 2 years. I found that I didn't have words for a lot of things that I was trying to explain to them. Now I think I have the word for it: a "block pattern."

I think a site of block patterns would be interesting, and very beneficial for study by beginners.

DecorateSortUndecorate may be a block pattern. But maybe not- maybe it's an algorithmic pattern. But are they that different?

Speaking of algorithms- we need multiple algorithms wiki. {:)}=

Good talking with you. Feel free to delete whenever you like.

-- LionKimbro DateTime(2003-11-22T04:45:20Z)

What do you mean with a block pattern? It seems like another level of Scope (as in the DesignPatternsBook). -- JohannesGijsbers


As for DP: Yes, it is a matter of scope.

My design patterns book isn't about how you arrange your lines and variables within a function. It's about how you arrange your collection of classes, objects. I want "block design patterns," to give my students who are just trying to figure out how to write a function.

Like: "NestedLoops," to do things like cycling over lists of lists, and hitting all of them.

I've been programming since I was 7 years old. When I took CS in college, I got to watch people smarter than I am struggle with how to calculate out a multiplication table, or follow two pointers in a row.

I don't think they're stupid. I think that I just figured out, through trial and error, in my first years of programming, how to make these basic structures.

It'd be nice to have a systematic way to teach those basic "block" patterns. (I'm just making up the term.)

-- LionKimbro

I see what you're getting at. How about "ProceduralPatterns", with block patterns being one of the scopes involved. The other scope would probably be about splitting things up into functions. -- JohannesGijsbers

Yes,yes, that's exactly it. Though I don't think it should polute this wiki. :) -- LionKimbro


CategoryHomepage

JohannesGijsbers (last edited 2008-11-15 14:01:21 by localhost)

Unable to edit the page? See the FrontPage for instructions.