On Nov 8, 2007 11:12 PM, Timothy Sikes &lt;<a href="mailto:trs164@hotmail.com">trs164@hotmail.com</a>&gt; wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">




<div>Hi<br><br>First of all, this is my first email to this email group, so, I want to make sure that asking &#39;newb&#39; questions is okay, and that this would be the place to&nbsp;email those &#39;newb&#39; questions.<br>
</div></blockquote><div><br>As long as you don&#39;t mind newb answers...<br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div>I&#39;ll tell a little bit about some things that might be helpful in answering my questions.&nbsp; I started Python when I was in 7th or 8th grade, and loved it.&nbsp; I started working through one of the O&#39;Reilly&#39;s Python books.&nbsp; Now, I am taking&nbsp;a Java class, and loving it too ( have a 103%).&nbsp;&nbsp; So when I got PD, I thought I would just have to learn how to apply these things I&#39;ve learned in Python and Java to PD.&nbsp; I went through the documentation, and just got confused.&nbsp; Next, I tried to find some basic tutorials on the web with no avail.&nbsp; Finally, I looked at the examples that came with the installation. These were by far the best introduction to PD, and I understood them... Until I got to the flow of control ones.&nbsp; It&#39;s the one where the counter counts up to ten, then stops, with another that is a counter that goes up by one, and you clear it by pressing the -1 button. 
<br></div></blockquote><div><br>I am not so familiar with object-oriented programming myself, but the best understanding I have is that it&#39;s like Pd without the pictures.&nbsp; I come from the opposite direction from you.&nbsp; Actually I learned programming first with Pd, not realizing that&#39;s what I was learning.
<br>Each object in Pd has methods, properties, and messages.&nbsp; Most of them are pretty straightforward.<br>[float 0] or [f 0] is an instance of [float]; it has the property 0, which can change, and float, which can&#39;t; it has one method to replace its value (a float sent to its right inlet), one method to send a message of its value (a &quot;bang&quot; message to its left inlet), and one method to do both in that order (a float to the left inlet replaces and then sends a message).&nbsp; Where it sends the messages it sends, and from where it receives the instructions it receives, are not for the object itself to worry about.
<br><br>The [+ 1] object has one method to add 1 to its input and output the result (a float to the left inlet); a method to replace the argument 1 (float to the right inlet); and if I&#39;m not mistaken, it also remembers its last left-side input, so if it has already received a float to the left inlet, then a &quot;bang&quot; to the left inlet repeats the operation the same as before.&nbsp; AFAIK there are no other methods of the [+ 1] object; anything it does is one of those three things.&nbsp; Not including error checking (it won&#39;t accept a symbol as input or argument).
<br><br>One of the fundamental concepts of Pd that arises a lot in newbie confusion is &quot;depth-first message passing&quot;.&nbsp; I don&#39;t know if such a thing is present in Java or Python or not.&nbsp; I&#39;ll take a stab: if two messages are sent by the same object &quot;at the same time&quot;, then one is always sent before the other one, and every &quot;method&quot; or message instigated by the first is performed to completion before the second message is sent; if message A goes right before message B, but kicks off C, D, E, F, and G as results of A, no matter how far removed, they all happen before B.&nbsp; This makes the [trigger] object one of the first to learn.&nbsp; It lets you say whether A or B happens first, and it includes a handy sort of case mechanism.&nbsp; Most of the flow control derives from this one concept, and the methods of the various objects.
<br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div>Remember, I program,&nbsp; so if it could be explained as if I were programming, that would probably help me.&nbsp; I don&#39;t understand what the term &#39;bang&#39; refers to in these examples, along with why certain &#39;inlets&#39; connect to certain &#39;outlets&#39;,&nbsp; or the flow of control in the programs, or where the &#39;count&#39; variable is and how to manipulate it.&nbsp; I feel that once I understand these things, I&#39;ll be able to have loads of fun with PD.&nbsp; So, Please help, and:
<br></div></blockquote><div><br>I hope I haven&#39;t insulted your intelligence with my explanation.<br><br>-Chuckk<br><br><br></div></div><br><br clear="all"><br>-- <br><a href="http://www.badmuthahubbard.com">http://www.badmuthahubbard.com
</a>