[squeak-dev] Renaming "Squeak"

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
63 messages Options
1234
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: Renaming "Squeak"

garduino
2008/3/6, Paolo Bonzini <[hidden email]>:

> Germán Arduino wrote:
>  > Squeak is a Smalltalk.....all of us understand the same by Smalltalk?
>
>
> No, I don't think I do.
>
>
>  > Isn't a language......is a lot more..........and also has a language
>
>
> Smalltalk is a language and should be (but isn't because of dialect
>  incompatibilities) a class library.  Everything else is not Smalltalk,
>  it is "the Smalltalk environment" which you are free to use or not to use.
>
>  Heck, not even the image is Smalltalk -- it's just an implementation detail.

I don't think so. IMHO the image is one of the strongest points. Is
the context that make possible a lot of things. What would be
Smalltalk without the image? A language as other gazillion languages?.

>
>  I think this "I wanna change the world" attitude is what has kept
>  Smalltalk back in the last 10 years, compared to the more pragmatic view
>  of, say, the Python and Ruby communities.
>

My point isn't "I wanna change the world", my point is keep that I
perceive as a big advantage.

And comparing Smalltalk with Python, Ruby or most of languages I think
is a mistake. A big mistake as try to imitate them. May be such
efforts, instead following the ideas of the "inventors" that are kept
back Squeak.

But, as ever, are only opinions and points of view, that depend of
what each of us expect or is interested on.

>

>  Paolo
>
>

Cheers.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: Renaming "Squeak"

garduino
In reply to this post by Paolo Bonzini-2
2008/3/6, Paolo Bonzini <[hidden email]>:

>
>  >      > a minimal image that is used as a base
>  >      > or a template to create other projects that have different names.
>  >
>  >     Good luck. :-(
>  >
>  >
>  >
>  > Squeak already is used as a base for other projects! It's a platform,
>  > not an end product.
>
>
> Good luck convincing people that a web browser does not belong in the
>  base image.
>
>

hehe, I'm wondering how many mails will deserve the definition of the
things to include on "the base image".

Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: Renaming "Squeak"

Paolo Bonzini-2
In reply to this post by garduino

>>  Heck, not even the image is Smalltalk -- it's just an implementation detail.
>
> I don't think so. IMHO the image is one of the strongest points. Is
> the context that make possible a lot of things.

But it's not like Python or Ruby couldn't have an image, it's just that
people did not implement it.  The strong point of Smalltalk is the
language, period.

I use Smalltalk without an image daily (except as a cache to avoid
parsing 100,000 lines of base classes every other minute) and I prefer
it a lot over Ruby (I don't do Python).

Paolo

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: Renaming "Squeak"

Martin Beck-3
Paolo Bonzini wrote:

>
>>>  Heck, not even the image is Smalltalk -- it's just an implementation
>>> detail.
>>
>> I don't think so. IMHO the image is one of the strongest points. Is
>> the context that make possible a lot of things.
>
> But it's not like Python or Ruby couldn't have an image, it's just that
> people did not implement it.  The strong point of Smalltalk is the
> language, period.

+1 from me. Some time ago someone posted his experiences with writing
python image support on this list. Such a dualism could be a great
advantage for Smalltalk implementations, because it would attract more
people to the language at all and show them the benefits of an image for
development. What help the best innovations if no comes to use them?

> I use Smalltalk without an image daily (except as a cache to avoid
> parsing 100,000 lines of base classes every other minute) and I prefer
> it a lot over Ruby (I don't do Python).
IIRC, you're using/developing GST. I always wanted to try it out, but
time can run so fast.... :(

Best regards,
Martin

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: Renaming "Squeak"

garduino
In reply to this post by Paolo Bonzini-2
2008/3/6, Paolo Bonzini <[hidden email]>:
>
>  >>  Heck, not even the image is Smalltalk -- it's just an implementation detail.
>  >
>  > I don't think so. IMHO the image is one of the strongest points. Is
>  > the context that make possible a lot of things.
>
>
> But it's not like Python or Ruby couldn't have an image, it's just that
>  people did not implement it.

I'm currently not interested in Python or Ruby :)

> The strong point of Smalltalk is the
>  language, period.
>

In your opinion, not in mine. I love the language, but don't think is
the strong point.


>  I use Smalltalk without an image daily (except as a cache to avoid
>  parsing 100,000 lines of base classes every other minute) and I prefer
>  it a lot over Ruby (I don't do Python).

I respect you opinion and your experience, but not agree. I feel very
productive using Smalltalk as an environment, not just as a language.

>
>
>  Paolo
>
>

gsa.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: Renaming "Squeak"

Igor Stasenko
On 06/03/2008, Germán Arduino <[hidden email]> wrote:

> 2008/3/6, Paolo Bonzini <[hidden email]>:
>  >
>
> >  >>  Heck, not even the image is Smalltalk -- it's just an implementation detail.
>  >  >
>  >  > I don't think so. IMHO the image is one of the strongest points. Is
>  >  > the context that make possible a lot of things.
>  >
>  >
>  > But it's not like Python or Ruby couldn't have an image, it's just that
>  >  people did not implement it.
>
>
> I'm currently not interested in Python or Ruby :)
>
>
>  > The strong point of Smalltalk is the
>  >  language, period.
>  >
>
>
> In your opinion, not in mine. I love the language, but don't think is
>  the strong point.
>
>
>
>  >  I use Smalltalk without an image daily (except as a cache to avoid
>  >  parsing 100,000 lines of base classes every other minute) and I prefer
>  >  it a lot over Ruby (I don't do Python).
>
>
> I respect you opinion and your experience, but not agree. I feel very
>  productive using Smalltalk as an environment, not just as a language.
>
+1
smalltalk without decent dev tools is just another language.
Yes, you can do much with it, by having only text editor. But you can
do a times faster/better using environment.


--
Best regards,
Igor Stasenko AKA sig.


Reply | Threaded
Open this post in threaded view
|

RE: [squeak-dev] Re: Renaming "Squeak"

Sebastian Sastre-2


> -----Mensaje original-----
> De: [hidden email]
> [mailto:[hidden email]] En
> nombre de Igor Stasenko
> Enviado el: Jueves, 06 de Marzo de 2008 09:37
> Para: The general-purpose Squeak developers list
> Asunto: Re: [squeak-dev] Re: Renaming "Squeak"
>
> On 06/03/2008, Germán Arduino <[hidden email]> wrote:
> > 2008/3/6, Paolo Bonzini <[hidden email]>:
> >  >
> >
> > >  >>  Heck, not even the image is Smalltalk -- it's just
> an implementation detail.
> >  >  >
> >  >  > I don't think so. IMHO the image is one of the
> strongest points. Is
> >  >  > the context that make possible a lot of things.
> >  >
> >  >
> >  > But it's not like Python or Ruby couldn't have an image,
> it's just that
> >  >  people did not implement it.
> >
> >
> > I'm currently not interested in Python or Ruby :)
> >
> >
> >  > The strong point of Smalltalk is the
> >  >  language, period.
> >  >
> >
> >
> > In your opinion, not in mine. I love the language, but
> don't think is
> >  the strong point.
> >
> >
> >
> >  >  I use Smalltalk without an image daily (except as a
> cache to avoid
> >  >  parsing 100,000 lines of base classes every other
> minute) and I prefer
> >  >  it a lot over Ruby (I don't do Python).
> >
> >
> > I respect you opinion and your experience, but not agree. I
> feel very
> >  productive using Smalltalk as an environment, not just as
> a language.
> >
>
> +1
> smalltalk without decent dev tools is just another language.
> Yes, you can do much with it, by having only text editor. But you can
> do a times faster/better using environment.
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.

+1
The language is just a convenient interface we have.
Thanks to lots of efforts we have excellent tools to use in the envionment and taking the environmet as platform. To produce software with a Smalltalk which has not that environment (image), beside to feel kind of raw these days, I guess will induce the developer himself to think about the "convenient" language is REALLY convenient.



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Renaming "Squeak"

Jason Johnson-5
In reply to this post by David Mitchell-10
On Wed, Mar 5, 2008 at 10:23 PM, David Mitchell
<[hidden email]> wrote:
>
>  Brace notation for dynamic arrays!

So instead of:

dictionary := { $a -> 1. $b -> 2. $c -> 3 } asDictionary.

I need to type:

dictionary := Dictionary new
                       add: $a -> 1;
                       add: $b -> 2;
                       add: $c -> 3;
                       yourself.

?  In my opinion the other dialects should adopt this or propose
another way of doing it.  No concise syntax for dynamically creating a
collection seems a problem to me, and easy to remedy in a language
where one has access to the reader/compiler.  So why would it be bad
to do so?

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: Renaming "Squeak"

Jason Johnson-5
In reply to this post by Paolo Bonzini-2
On Thu, Mar 6, 2008 at 12:19 PM, Paolo Bonzini <[hidden email]> wrote:
>
>  But it's not like Python or Ruby couldn't have an image, it's just that
> people did not implement it.  The strong point of Smalltalk is the language,
> period.

Couldn't disagree more.  The language is clean, simple and nice.  But
so is Lisp, Lisp is fact simpler and more powerful.  Still I can
develop things "from scratch" faster in Smalltalk.  Why?  Because I
can just create a class that I think is close to what I want, develop
things in the debugger, inspector and so on "watching it grow as I
go".  The "eternally running" nature of the image, and the way all
tools are created to take advantage of that puts it ahead of even Lisp
for me, because Lisp, despite being incrementally compiled, still
seems to want a separation between what the system is "on paper" and
runtime.

Reply | Threaded
Open this post in threaded view
|

Fwd: [squeak-dev] Renaming "Squeak"

David Mitchell-10
In reply to this post by Jason Johnson-5
Wow, this thread came alive from the archive!

Note that I wasn't advocating for or against brace notation.

But, if you are trying to write code that is portable across Smalltalk
dialects, you avoid brace notation.

On my projects, I would rather maintain:
dictionary := Dictionary new
 at: $a put: 1;
 at: $b put: 2;
 at: $c put: 3;
 yourself.

than { $a -> 1. $b -> 2. $c -> 3 } asDictionary

As I think it would be easier to update. I use literal forms to save
myself typing but when I commit code, I'd rather have the long form.
In fact, I've sent #sourceString to literal arrays so I could get the
long form without all the typing.

On 5/14/08, Jason Johnson <[hidden email]> wrote:

> On Wed, Mar 5, 2008 at 10:23 PM, David Mitchell
> <[hidden email]> wrote:
> >
> >  Brace notation for dynamic arrays!
>
> So instead of:
>
> dictionary := { $a -> 1. $b -> 2. $c -> 3 } asDictionary.
>
> I need to type:
>
> dictionary := Dictionary new
>                       add: $a -> 1;
>                       add: $b -> 2;
>                       add: $c -> 3;
>                       yourself.
>
> ?  In my opinion the other dialects should adopt this or propose
> another way of doing it.  No concise syntax for dynamically creating a
> collection seems a problem to me, and easy to remedy in a language
> where one has access to the reader/compiler.  So why would it be bad
> to do so?
>

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Renaming "Squeak"

Jason Johnson-5
On Wed, May 14, 2008 at 6:41 PM, David Mitchell
<[hidden email]> wrote:
>
> Wow, this thread came alive from the archive!

Yea, sorry about that.  I've been tied completely up for months.

>  Note that I wasn't advocating for or against brace notation.

Well, you aren't the first person to mention it, so I just thought the
other side should be represented.  I.e. I didn't mean it to be
directed at you personally, but rather to defend dynamic array syntax.

>  But, if you are trying to write code that is portable across Smalltalk
>  dialects, you avoid brace notation.

All dialects have a way to modify the parser don't they (probably a
really simple way in many of them)?  Maybe an alternative would be to
just make a package that adds the syntax to any Smalltalk.  Then
people could use it if the want and just site the package as a
dependancy.

>  As I think it would be easier to update. I use literal forms to save
>  myself typing but when I commit code, I'd rather have the long form.
>  In fact, I've sent #sourceString to literal arrays so I could get the
>  long form without all the typing.

That is a good way of doing it, but the maintenance cost comes from
how much code is there, not how much was typed.  This is a huge
problem Java has.  Java wizards say "It doesn't matter how verbose the
syntax is, I just generate all the boilerplate".  But that doesn't
help the guy maintaining the code very much.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: Renaming "Squeak"

Jason Johnson-5
In reply to this post by Paolo Bonzini-2
On Thu, Mar 6, 2008 at 11:37 AM, Paolo Bonzini <[hidden email]> wrote:
> Germán Arduino wrote:
>
>  I think this "I wanna change the world" attitude is what has kept Smalltalk
> back in the last 10 years, compared to the more pragmatic view of, say, the
> Python and Ruby communities.
>
>  Paolo

I disagree.  In fact, I think Erlang has shown us that if anything
Smalltalk should go further (e.g. automatically make better use of
available CPUs).

>From what I have understood of the history, the thing that kept
Smalltalk and Lisp back has been money.  These two superior solutions
simply costed more then inferior solutions, and these lessor solutions
were even free.  True that Smalltalk/Lisp are more productive
environments, but how much is that worth for an idea that you're not
even sure if it will work?

The most ironic thing for me is; lots of people in the "open source"
community have the silly idea that the world is moving toward some
kind of "gift society", based on the success of "free software".  The
reality is that so called "free software" is simply another
demonstration of effective capitalism, specifically the "loss leader"
[1] strategy.

Smalltalk and Lisp didn't lose because they were less effective,
inferior, alien or any of those things.  They lost in plain simple
capitalism [2].

[1] http://en.wikipedia.org/wiki/Loss_leader
[2] Well, early on performance concerns were also an issue, but based
on technologies that actually did get used, I'm guessing this concern
was not as big as we think.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Changing the parser to support new shortcuts

jgfoster
In reply to this post by Jason Johnson-5
On May 14, 2008, at 6:47 PM, Jason Johnson wrote:

>>
> All dialects have a way to modify the parser don't they (probably a
> really simple way in many of them)?

I don't think that Dolphin or GemStone/S have ways of modifying the  
parser.

> ... the maintenance cost comes from
> how much code is there, not how much was typed.  This is a huge
> problem Java has.  Java wizards say "It doesn't matter how verbose the
> syntax is, I just generate all the boilerplate".  But that doesn't
> help the guy maintaining the code very much.

I thought that with Smalltalk we claim that the more verbose code was  
helpful for maintenance. I'd much rather have keyword selectors than  
comma-separated arguments. Also, I don't care much for syntactic  
shortcuts like dynamic constructors. Although people describe Lisp as  
simple, I keep getting lost on the meaning of a single forward quote,  
a single backward quote, a double quote, a comma, etc. One of the  
early languages I learned was M (aka, MUMPS), where the semicolon had  
four different meanings, depending on the context. Of course, we  
weren't conserving characters for the programmers or for the  
maintainers, but for the machine--each user had 2 KB for code and data.

James Foster

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Renaming "Squeak"

David Mitchell-10
In reply to this post by Jason Johnson-5
> >  But, if you are trying to write code that is portable across Smalltalk
> >  dialects, you avoid brace notation.
>
> All dialects have a way to modify the parser don't they (probably a
> really simple way in many of them)?  Maybe an alternative would be to
> just make a package that adds the syntax to any Smalltalk.  Then
> people could use it if the want and just site the package as a
> dependancy.

I think modifying the parser is a pretty big expectation for an
application or framework.

>
> >  As I think it would be easier to update. I use literal forms to save
> >  myself typing but when I commit code, I'd rather have the long form.
> >  In fact, I've sent #sourceString to literal arrays so I could get the
> >  long form without all the typing.
>
> That is a good way of doing it, but the maintenance cost comes from
> how much code is there, not how much was typed.  This is a huge
> problem Java has.  Java wizards say "It doesn't matter how verbose the
> syntax is, I just generate all the boilerplate".  But that doesn't
> help the guy maintaining the code very much.
>

Wasn't my point. I think the long form is clearer. One of the great
things about Smalltalk is the simple object+message syntax. Brace
notation is something else. It can be handy at times, but I think the
other form is clearer.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Renaming "Squeak"

David Zmick
>Wasn't my point. I think the long form is clearer. One of the great
>things about Smalltalk is the simple object+message syntax. Brace
>notation is something else. It can be handy at times, but I think the
>other form is clearer.

Yes, I agree, the first form is smaller, but to a causal observer, the second form makes more sense.  I personally aim for readbility of my code, even by people that do not know the programming language, I would choose the second choice!


On Wed, May 14, 2008 at 5:07 PM, David Mitchell <[hidden email]> wrote:
> >  But, if you are trying to write code that is portable across Smalltalk
> >  dialects, you avoid brace notation.
>
> All dialects have a way to modify the parser don't they (probably a
> really simple way in many of them)?  Maybe an alternative would be to
> just make a package that adds the syntax to any Smalltalk.  Then
> people could use it if the want and just site the package as a
> dependancy.

I think modifying the parser is a pretty big expectation for an
application or framework.

>
> >  As I think it would be easier to update. I use literal forms to save
> >  myself typing but when I commit code, I'd rather have the long form.
> >  In fact, I've sent #sourceString to literal arrays so I could get the
> >  long form without all the typing.
>
> That is a good way of doing it, but the maintenance cost comes from
> how much code is there, not how much was typed.  This is a huge
> problem Java has.  Java wizards say "It doesn't matter how verbose the
> syntax is, I just generate all the boilerplate".  But that doesn't
> help the guy maintaining the code very much.
>

Wasn't my point. I think the long form is clearer. One of the great
things about Smalltalk is the simple object+message syntax. Brace
notation is something else. It can be handy at times, but I think the
other form is clearer.




--
David Zmick
/dz0004455\
http://dz0004455.googlepages.com
http://dz0004455.blogspot.com

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Renaming "Squeak"

Jason Johnson-5
In reply to this post by David Mitchell-10
On Thu, May 15, 2008 at 12:07 AM, David Mitchell
<[hidden email]> wrote:
>
> I think modifying the parser is a pretty big expectation for an
> application or framework.

Depends on the point of view.  It's the normal order of business in
some other powerful language I know. :)  But if doing something like
this is alien to the Smalltalk culture then that is an important
consideration.

> Wasn't my point. I think the long form is clearer. One of the great
> things about Smalltalk is the simple object+message syntax. Brace
> notation is something else. It can be handy at times, but I think the
> other form is clearer.

Fair enough.  I didn't mean to imply that you believe in the "Java
way" or anything like that, but simply to point out the slippery slope
that lies nearby.  Code generation can certainly be very handy, one
just has to avoid going overboard (of course I don't see your example
as going overboard).

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Renaming "Squeak"

Colin Putney

On 14-May-08, at 10:32 PM, Jason Johnson wrote:

> On Thu, May 15, 2008 at 12:07 AM, David Mitchell
> <[hidden email]> wrote:
>>
>> I think modifying the parser is a pretty big expectation for an
>> application or framework.
>
> Depends on the point of view.  It's the normal order of business in
> some other powerful language I know. :)  But if doing something like
> this is alien to the Smalltalk culture then that is an important
> consideration.

It's not *that* big a deal. Sure, it's not something you do every day,  
but there are quite a few projects in Squeak and other Smalltalks that  
use a custom parser or compiler.

Colin

Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: Renaming "Squeak"

Paolo Bonzini-2
In reply to this post by Jason Johnson-5
Jason Johnson wrote:

> On Wed, Mar 5, 2008 at 10:23 PM, David Mitchell
> <[hidden email]> wrote:
>>  Brace notation for dynamic arrays!
>
> So instead of:
>
> dictionary := { $a -> 1. $b -> 2. $c -> 3 } asDictionary.
>
> I need to type:
>
> dictionary := Dictionary new
>                        add: $a -> 1;
>                        add: $b -> 2;
>                        add: $c -> 3;
>                        yourself.
>
> ?  In my opinion the other dialects should adopt this or propose
> another way of doing it.

Interesting that, given yout three replies, we seem to disagree on
everything but the usefulness of the brace syntax! :-P

I'm also very much in favor of the brace syntax.  Personally, I think a
lot in terms of "list of things to work on", and just seeing the list is
much simpler than having to parse a "Array with: a with: b with: c"
method.  Granted, this is an extreme case but I mean, all I want to see
is a,b,c and yet I see 17 (out of 20) extraneous alphabetic characters.

Not to mention that brace syntax helps keeping methods short by making
some line breaks useless (e.g. in the previous example I'd write the
#with:with:with: call on 4 line!).

If you want to start interesting discussion on
[hidden email] (the
was-ANSI-Smalltalk-now-STEP-project mailing list), you could try your
hands at writing a specification for this extension, at
http://smalltalk.gnu.org/step/syntax-extensions-and-corrections-non-literal-array-creation

See also http://smalltalk.gnu.org/step/step-specification-and-workflow 
for what is part of a STEP (Smalltalk Enhancement Proposal).  In this
case you don't even need a reference implementation because Squeak and
GNU Smalltalk already implement the brace syntax, and VW has it in a
separate package (see also
http://www.cincomsmalltalk.com/publicRepository/BraceConstructor.html 
for more info).

Paolo

Reply | Threaded
Open this post in threaded view
|

[squeak-dev] List syntax

Michael van der Gulik-2
On Thu, 15 May 2008 09:42:38 +0200
Paolo Bonzini <[hidden email]> wrote:

> Jason Johnson wrote:
> > On Wed, Mar 5, 2008 at 10:23 PM, David Mitchell
> > <[hidden email]> wrote:
> >>  Brace notation for dynamic arrays!
> >
> > So instead of:
> >
> > dictionary := { $a -> 1. $b -> 2. $c -> 3 } asDictionary.
> >
> > I need to type:
> >
> > dictionary := Dictionary new
> >                        add: $a -> 1;
> >                        add: $b -> 2;
> >                        add: $c -> 3;
> >                        yourself.
> >
> > ?  In my opinion the other dialects should adopt this or propose
> > another way of doing it.

Here's another way of doing it. See the attached change set (released under the MIT license; both lines of it :-) ).

It lets you do:

'one',, 'two',, 'three' "an OrderedCollection('one' 'two' 'three')"

($a -> 1),, ($b -> 2),, ($c -> 3) "a Dictionary($a->1 $b->2 $c->3 )"


Gulik.

--
Michael van der Gulik <[hidden email]>



ListSyntax.2.cs (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: List syntax

Paolo Bonzini-2

> 'one',, 'two',, 'three' "an OrderedCollection('one' 'two' 'three')"
>
> ($a -> 1),, ($b -> 2),, ($c -> 3) "a Dictionary($a->1 $b->2 $c->3 )"

Sort of...  what about a method that just does "^{ a. b. c }" but "a"
can be a Collection?  You cannot rewrite it as "^a,, b,, c" and you need
#with:with:with:.

My point is that braces are just a shortcut for Array>>#with:with:with:
-- they have nothing to do with fancy polymorphism.

Paolo


1234