What I'd love to see in Squeak

ducasse ducasse at iam.unibe.ch
Mon Feb 2 09:24:04 UTC 2004


Hi daniel

Your email forced me to reply (while I promised to myself to stay away 
from any discussion).

Thanks for telling us how shitty we are. I will not copy what lex said 
already. But Squeak
has also librairies for numerics. A read-eval-loop is in all the 
workspaces.

> 	1) Sane library/import systems. Sane namespaces.
Could elaborate?
Do you mean that when you rename a file (a module) you will really have 
to change all the
others modules that depend on this file. Is it what you call a sane 
namespace?

I was looking how you contributed to our community and I saw that you 
wrote the following:
 >	Check out Python's new class heirarchy then. There is the standard 
object
 > system, using built in classes-metaclasses, and then one can easily 
define
 > their own metaclasses as needed.

I had a look at 2.3 but I would like to know how to create a new 
metaclass and
if you can reuse it (says to a class which metaclass it uses) and in 
such a case
how we can avoid that with two methods breaks code (OOPSLA'98 Bouraqadi)

So I do not dare to ask you what you did for Squeak recently because 
you could
only reply "pointing to places where you failed"
which is already good. Remark that you can laugh at us thinking that we 
are idiot.
This is part of the game there are always people throwing stones.

Stef

PS: I think that this also a major question for this community: where 
do we want to go?
But the effort of having packages and SM2 and Squat are worth. We will 
have to think  to throw
away some balast (liake ANSI standard that is the only standar in the 
world that nobody follow
but prevent people to move) and really invent the future.

We need to have a moment in the year to **meet** and discuss that may 
be ESUg may be OOPSLA

For me I dream about Sapphire...
	- pure oo
	- traits
	- good packages
	- declarative syntax
	...a clean room Smalltalk and more.

But this is difficult to invent the future



On 1 févr. 04, at 22:55, Daniel Joyce wrote:

>
>> 1) I'd love a read-eval-print-loop that acts like all the other
>> read-eval-print-loops I'm used to. This business of selecting text and
>> hitting alt-P or ctrl-P or whatever is driving both me and Sarah (the
>> student I have working with me) nuts for some reason. I want to type a
>> line, hit return, and have the result print on a new line. I want to 
>> be
>> able to hit the up arrow to select previous inputs, and use some sort 
>> of
>> completion to refine that, like in MATLAB.
>>
>
> 	Python has that...
>
>> 2) A standard multidimensional array class, built into the image, that
>> everyone can depend on and use in a consistent way. Squeak arrays as 
>> far
>> as I can tell are 1-D. (Maybe I'm confused on that and someone can 
>> help
>> me.)
>
> 	Numeric Python has that... Very Very Powerful ones. So much so, the 
> Python
> Imaging library uses it.
> 	
>>
>> If you want Squeak to win the Hearts and Minds of ECEs, or engineers 
>> in
>> general, having a built-in suite of linear algebra operations would 
>> be a
>> good thing. I'd love to see MATLAB type functionality in Squeak, 
>> where I
>> could do something like, say,
>>
>> (((a square) + (b sqrt)) inv) matrixMult: c
>>
>
> 	Numeric Python again...
>
>> to square all the elements of a, take the square root of all the 
>> elements
>> of b, and then invert that matrix and then multiply it by another 
>> matrix
>> c, all in one line. (I'm not really comfortable with mentally parsing 
>> a
>> complicated set of message send yet, so my Squeak code tends to have 
>> a ton
>> of parens, or else I get horribly confused.)
>
> 	Numeric Python, and the linear algebra add-on
>>
>> I've read that you folks are worried about "image bloat" - rightfully 
>> so -
>> but I'm concerned that if everyone has their own various different
>> packages for doing linear algebra, that would lead to a Tower of Babel
>> situation.
>
> 	Well, Python has several things I like....
>
> 	1) Sane library/import systems. Sane namespaces.
> 	2) The ability to code extensions in C, and hook them into Python, 
> and have
> them appear as other Pythonic Object. When PyPy comes out, with it's 
> dynamic
> recomplier, and written in itself, it will have what Squeak has been
> promising for 5 years. Squeak is written in itself, yes, but the new 
> Jitter
> has gone through 4-5 aborted stalled attempts.
> 	3) It has no wonderous GUI. But I can choose to use it, or loose it. 
> IDLE is
> very nice, and there is no reason why one couldn't write a ST like
> environment on top of python. With Python's syntax, it'd be very easy 
> to make
> it support both 'self' and 'smalltalk' behaviors. The object model is
> infinitely flexible. Python's sound support WORKS, unlike Squeak on 
> Linux
> which to break in different ways at different times.
> 	4) Python supports a wide variety of 3rd party tools and libraries.
> TwistedMatrix alone is a networking library that Squeak, or any 
> language
> would kill to have. Very well written, very, excedingly easy to use.
>




More information about the Squeak-dev mailing list