<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><DIV><BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">But also, newcomers to Smalltalk need to understand that to Smalltalkers, the *language* part is actually not all that important. This is very different from other communities like the ones you list, which are in fact centered around their language. For us Smalltalkers it is the environment that counts most, not the syntax.</DIV></BLOCKQUOTE><BR></DIV><DIV>Smalltalk guys compare proudly their language with others.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>It VERY important the less writable (verbose) but very readable syntax (Code is meant to be read and only incidentally to be executed philosophy)</DIV><DIV>It's VERY important the homoiconic LISPish small kernel. ("Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away."  :o) </DIV><DIV><BR class="khtml-block-placeholder"></DIV><BLOCKQUOTE type="cite">... the *language* part is actually not all that important. </BLOCKQUOTE>No it is. And you know it. It's very very important.<DIV><DIV><BR><DIV><DIV>On Aug 28, 2007, at 11:50 PM, Bert Freudenberg wrote:</DIV><BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">On Aug 28, 2007, at 4:11 , Fabio Filasieno wrote:</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><BR style=""></DIV><BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 10px; ">It's just that I see this great opportunity for smalltalk that with a little fix people like me would appreciate Smalltalk more.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 10px; ">The messaging system allows me to blend perfectly the mixed bottom-up top-down approach that I use in system building, but to do the bottom-up properly... I need the pipe.</DIV></BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><BR style=""></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away."  (Antoine de Saint-Exupery)</DIV></BLOCKQUOTE></DIV><BR class="khtml-block-placeholder"></DIV><DIV>I see that quote as a need for the pipe, as it will remove many complex parts in a system to replace them for simple parts, `taking` away, as Antoine would say, many ugly parts and replacing them more small and beautiful parts.</DIV><DIV><BR><DIV><DIV>On Aug 29, 2007, at 1:56 AM, Igor Stasenko wrote:</DIV><BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Bloat you say? but if implemented differently it can improve</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">performance and transform collection using single loop. Instead of:</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre; color: rgb(0, 0, 221); ">        </SPAN>^ (self select: selectBlock) collect: collectBlock</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">or with pipe syntax:</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">^ self select: selectBlock | collect: collectBlock</DIV></BLOCKQUOTE></DIV>That is not important ! Performance is not important in the beginning ! I want the freedom write slow software that is fast develop, reserving the right to improve speed after measuring. If the code you say is executed one or twice,  even if I miss that optimization that is not a problem. And you can always fix it.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>In software performance comes later!!!!!! How many times this mistake has been made and remade... </DIV><DIV>I always try to remember myself that software is 40% design (writing code not *really knowing what you are doing*, 40% writing code to test code, 20% *just code* code ).</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Check this out and read a how the pipe is central to each point. </DIV><DIV><A href="http://www.faqs.org/docs/artu/ch01s06.html">http://www.faqs.org/docs/artu/ch01s06.html</A></DIV><DIV>In general is this good or bad software engineering ? This is where  - I - come from.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>But I guess I'll stop annoying you on this pipe thing, at the time being :o) , as Vassili already did some good stuff for me for free. Thanks Vassili.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>But ...</DIV><DIV>The pipe is crucial to support functional programming better. (It's easy to reason about problems functionally )</DIV><DIV>The pipe is crucial to take away what CAN be taken away (Antoine de Saint-Exupery)</DIV><DIV>The pipe is crucial to replace complex parts with simple parts (If I can already do it, why write a new method)</DIV><DIV>The pipe is crucial get functionality implemented for free. (do method A, do method B, get A | B for free)</DIV><DIV>The pipe is crucial to attract more people to smalltalk (functional programmers, which by the way are good hackers)</DIV><DIV>The pipe is crucial to reduce bloat. (select:thenCollect it's hilarious ...)</DIV><DIV>The pipe is crucial to make developers more responsible ( do I really need this method? Or is just mental masturbation ... )</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>I'll try to appear smart too with another quote of another italian bloke</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><FONT class="Apple-style-span" color="#0000FF" face="Trebuchet MS" size="3"><SPAN class="Apple-style-span" style="font-size: 12.6px;">"It must be considered that there is nothing more difficult to carry out, nor more doubtful of success, nor more dangerous to handle, than to initiate a new order of things. For the reformer has enemies in all those who profit by the old order, and only lukewarm defenders in all those who would profit by the new order, this lukewarmness arising partly from fear of their adversaries, who have the laws in their favour; and partly from the incredulity of mankind, who do not truly believe in anything new until they have had actual experience of it."</SPAN></FONT></DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Niccolò Macchiavelli</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>--</DIV><DIV>Fabio Filasieno</DIV><DIV><BR class="khtml-block-placeholder"></DIV></DIV></BODY></HTML>