I just realized that I need to clarify something else, I don&#39;t have difficulty &quot;thinking in objects&quot;, I can do that just fine, as Java and C# have both taught me this extensively. I just don&#39;t understand how to use Squeak objects to develop a useful program.<br>
<br><div class="gmail_quote">On Mon, Apr 7, 2008 at 2:11 PM, Nathan Lane &lt;<a href="mailto:nathamberlane@gmail.com">nathamberlane@gmail.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
You guys are hitting most of my problems. Here&#39;s the way I design a new project. First, naturally I find a problem, brainstorm the general solution to the problem, then I work on two separate pieces, the underlying functionality and the user interface, be it text-based or graphical or whatever. After that I will likely compile my first partial version, and test it to see if what I get is what I expected. If not, I&#39;ll review the compile/runtime error messages (stack traces) and attempt to remedy the problem. The are other instances in which I have taken on test-based programming, which involves designing the solution, writing unit tests, then writing the code for the unit tests, refactoring, writing more tests, and repeating the process until the solution is complete. I don&#39;t understand how these sorts of processes are accomplished in the object-based system called squeak. I understand that there is still source code...to some extent, or maybe always. And I understand the SmallTalk (Squeak) is a managed environment, i.e. it has a runtime environment that handles types, garbage collection, etc.<br>

<br>I&#39;ve started reading that PDF book, and I can&#39;t say that I&#39;ve learned much yet. I&#39;m also not looking for a short cut or anything. It is simply that up until I encountered Squeak (the past 18 years) I have never dealt with a visual environment that deals with development in the way that Squeak seems to. The only thing that I have ever seen that even compares (in my mind) to Squeak is Sun&#39;s Lively Kernel, an even newer innovation than Squeak. So my background is in C/C++, Java, Ruby, C#.Net, Visual Basic (6/.Net), Python, Perl, (X)HTML/CSS/Javascript/XML, PHP, and ASP.Net. How do I take what I know of those programming languages, Agile development process and such, and go forward in learning how to use Squeak?<br>

<br>I&#39;ve heard several people state that they&#39;ll &quot;never go back to&quot; those languages. But I&#39;m very certain that like each of those languages, Squeak has it&#39;s place in the circle of code, and is useful for some tasks, while other languages are useful for other tasks. So where do I start then?&nbsp; Do I keep going in that free PDF book, Squeak By Example?<br>

<br>Does anybody see my difficulty the way I do?<br><font color="#888888"><br>Nathan<br><br></font><div class="gmail_quote"><div><div></div><div class="Wj3C7c">On Mon, Apr 7, 2008 at 1:23 PM, Edwin Castro &lt;<a href="mailto:edwin.gabriel.castro@lifetime.oregonstate.edu" target="_blank">edwin.gabriel.castro@lifetime.oregonstate.edu</a>&gt; wrote:<br>

</div></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div class="Wj3C7c"><div class="gmail_quote"><div>On Mon, Apr 7, 2008 at 12:01 PM, Nathan Lane &lt;<a href="mailto:nathamberlane@gmail.com" target="_blank">nathamberlane@gmail.com</a>&gt; wrote:<br>


<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">So, as a beginner, I have noted the many things people have told me about Squeak, but one thing is really bugging me, and I can&#39;t break free of it. In my experience programming is a linear task, not object-based, so how do I program using Squeak which uses &quot;active objects&quot;?&nbsp; I don&#39;t understand.<br clear="all">


</blockquote>
</div><div>I&#39;ve seen this happen a lot when I see new programmers. They&#39;ll write single method programs that simply make library calls or implement (inline) all the functionality they need. My brother took a &quot;learn to program&quot; course in college (in C yuk!) and all his programming assignments looked like this. I *tried* to teach him to look for patterns and to remove dupplication but he never got the hang of it. Writing functions that could be reused was a difficult thing for him to comprehend.</div>



<div>&nbsp;</div>
<div>I find that a lot of new programmers learn to program in a procedural style and then continue to apply that style with other languages they use even if they should use a different style. I think that working through an example to show how to think about objects would be very helpful for beginners. I would recommend David West&#39;s book, <a href="http://www.amazon.com/dp/0735619654/" target="_blank">Object Thinking</a>, but a lot of people didn&#39;t like the book. I really enjoyed the book but perhaps there are better ways to teach how to think about objects...</div>



<div>&nbsp;</div>
<div>--</div>
<div>Edwin</div></div>
<br></div></div><div class="Ih2E3d">_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@lists.squeakfoundation.org" target="_blank">Beginners@lists.squeakfoundation.org</a><br>
<a href="http://lists.squeakfoundation.org/mailman/listinfo/beginners" target="_blank">http://lists.squeakfoundation.org/mailman/listinfo/beginners</a><br>
<br></div></blockquote></div><br><br clear="all"><div><div></div><div class="Wj3C7c"><br>-- <br>Nathan Lane<br>Home, <a href="http://www.nathandelane.com" target="_blank">http://www.nathandelane.com</a><br>Mirror, <a href="http://nathandelane.awardspace.com" target="_blank">http://nathandelane.awardspace.com</a>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Nathan Lane<br>Home, <a href="http://www.nathandelane.com">http://www.nathandelane.com</a><br>Mirror, <a href="http://nathandelane.awardspace.com">http://nathandelane.awardspace.com</a>