<br><br><div class="gmail_quote">On Tue, Nov 22, 2011 at 3:35 PM, Overcomer Man <span dir="ltr">&lt;<a href="mailto:overcomer.man@gmail.com">overcomer.man@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<span style="font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">Q. I want to learn Smalltalk but without the baggage of an IDE. Just let me use my favorite text editor, that&#39;s much easier.</span><div>

<span style="font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">You can do it but you have to write your code in &quot;fileIn&quot; format so Smalltalk will accept your external editor&#39;s code, compile, and execute it.  &quot;fileIn&quot; formats can vary between Smalltalks. </span></div>

<div><span style="font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">The baggage of the IDE is essentially an object database of precompiled library software.  You can compare various Smalltalks to a lean C++ IDE like Bloodshed, a bloated C++ IDE like Qt, and a maximally bloated Visual Studio.net.  As one programmer you don&#39;t have time to fix everything to your taste - you&#39;ll be lucky to learn a library enough to find the tools you want to do your task.</span></div>

<div><span style="font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">Libraries can sometime include 30 year old bugs that nobody has ever fixed because they are too hard to discover.  </span><span style="font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">Usenet tells of a major military project written in Smalltalk which was cancelled and replaced with C++ because of phantom ships appearing when they shouldn&#39;t.  They couldn&#39;t figure it out and fix it. </span></div>

<div><span style="font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">There are several possible reasons for this.  Professional code tends to be written for maximum understanding by users, but free code is often written for the fun of the programmer, so real meaningful object names give way to convoluted names that only have meaning in the worldview of that particular programmer.  If the function they do is important enough, sometimes these become popular, making the function hard to learn for everyone else.  Another reason is executing code is notoriously difficult to debug in some circumstances, especially when other code in the IDE depends on it.  Changing the definition of terms in a particular object&#39;s communication with another object might fix one problem and create ten more.  So essentially one has to learn the entire library to redevelop something that&#39;s been around a while.</span></div>
</blockquote><div><br></div><div>Some heisenbugs are really hard to track down in a live image. An object astray or a in situ  modified object can cause hours of bug tracking. Or long chains of definitions that seem to backtrack in circles. </div>
<div><br></div><div>A big system must often be built and rebuilt before it can be useful. I don&#39;t think hard to manage big project is only a Smalltalk issue. </div><div><br></div><div>But some problems rising from the use of a object memory are not addressed by our current tools, at least not in Squeak. And learning Smalltalk is as much knowledge worth knowing, it&#39;s quite a hard learning curve but when you get it it changes how you think.</div>
<div><br></div><div>Karl</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><span style="font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"> </span></div><div><span style="font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">On a positive note, Cuis provides a leaner library than Squeak and is also licensed so you can deliver it IDE and all with your application code running on top, so you can deliver a lot more value to your users than with an ordinary exe.</span></div>

<br>_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@lists.squeakfoundation.org">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></blockquote></div><br>