Pipe syntax and the current methods

Fabio Filasieno fabio.filasieno at gmail.com
Wed Aug 29 07:49:22 UTC 2007


> 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.

Smalltalk guys compare proudly their language with others.

It VERY important the less writable (verbose) but very readable  
syntax (Code is meant to be read and only incidentally to be executed  
philosophy)
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)

> ... the *language* part is actually not all that important.
No it is. And you know it. It's very very important.

On Aug 28, 2007, at 11:50 PM, Bert Freudenberg wrote:
> On Aug 28, 2007, at 4:11 , Fabio Filasieno wrote:
>
>> It's just that I see this great opportunity for smalltalk that  
>> with a little fix people like me would appreciate Smalltalk more.
>> 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.
>
> "Perfection is achieved, not when there is nothing more to add, but  
> when there is nothing left to take away."  (Antoine de Saint-Exupery)

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.

On Aug 29, 2007, at 1:56 AM, Igor Stasenko wrote:
> Bloat you say? but if implemented differently it can improve
> performance and transform collection using single loop. Instead of:
> 	^ (self select: selectBlock) collect: collectBlock
> or with pipe syntax:
> ^ self select: selectBlock | collect: collectBlock
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.

In software performance comes later!!!!!! How many times this mistake  
has been made and remade...
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 ).

Check this out and read a how the pipe is central to each point.
http://www.faqs.org/docs/artu/ch01s06.html
In general is this good or bad software engineering ? This is where   
- I - come from.

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.

But ...
The pipe is crucial to support functional programming better. (It's  
easy to reason about problems functionally )
The pipe is crucial to take away what CAN be taken away (Antoine de  
Saint-Exupery)
The pipe is crucial to replace complex parts with simple parts (If I  
can already do it, why write a new method)
The pipe is crucial get functionality implemented for free. (do  
method A, do method B, get A | B for free)
The pipe is crucial to attract more people to smalltalk (functional  
programmers, which by the way are good hackers)
The pipe is crucial to reduce bloat. (select:thenCollect it's  
hilarious ...)
The pipe is crucial to make developers more responsible ( do I really  
need this method? Or is just mental masturbation ... )

I'll try to appear smart too with another quote of another italian bloke

"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."

Niccolò Macchiavelli

--
Fabio Filasieno

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20070829/f82d11a7/attachment.htm


More information about the Squeak-dev mailing list