Just how productive is Smalltalk?

34 views
Skip to first unread message

Richard Eng

unread,
Feb 16, 2015, 12:13:58 PM2/16/15
to smalltalk...@googlegroups.com

Ben Coman

unread,
Feb 17, 2015, 4:39:56 AM2/17/15
to smalltalk...@googlegroups.com


On Tue, Feb 17, 2015 at 1:13 AM, Richard Eng <horrido...@gmail.com> wrote:



Nice.  Consider deleting that pingback to "Exploding ads".  I think you lose more than you gain when they are off-topic.



On a slightly different topic, thought you might just find this of general interest...
cheers -ben

Richard Eng

unread,
Feb 17, 2015, 10:35:54 AM2/17/15
to smalltalk...@googlegroups.com
Thanks. Done.

James Ladd

unread,
Feb 17, 2015, 6:30:10 PM2/17/15
to smalltalk...@googlegroups.com
In the 90's there was an object or object world magazine cover that stated Smalltalk was 71% more productive than C - no surprises there.
Today the gap has to have closed but I'd bet there is still a significant advantage w Smalltalk.

How big a difference would there need to be to make you change language and tools?

- James

Ben Coman

unread,
Feb 18, 2015, 10:54:30 AM2/18/15
to smalltalk...@googlegroups.com
Not sure if I've pasted this before, but I find really interesting Paul Graham's** idea of the Blub paradox.  Its about Lisp, but I think it has a lot of similarities to Smalltalk.

cheers -ben


** Y Combinator founder.


--
You received this message because you are subscribed to the Google Groups "Smalltalk Research" group.
To unsubscribe from this group and stop receiving emails from it, send an email to smalltalk-resea...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Richard Eng

unread,
Feb 21, 2015, 10:26:13 PM2/21/15
to smalltalk...@googlegroups.com
Yes, it makes an excellent argument for Smalltalk, too. But I was wondering: If macros are the killer feature of Lisp, what is the killer feature for Smalltalk?
To unsubscribe from this group and stop receiving emails from it, send an email to smalltalk-research+unsub...@googlegroups.com.

James Ladd

unread,
Feb 22, 2015, 2:52:30 AM2/22/15
to smalltalk...@googlegroups.com
Killer feature for Smalltalk is true OO w message passing- no built in constructs

Sent from the holodeck.
You received this message because you are subscribed to a topic in the Google Groups "Smalltalk Research" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/smalltalk-research/m-yaRuXQ-uc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to smalltalk-resea...@googlegroups.com.

Ben Coman

unread,
Feb 22, 2015, 8:30:38 AM2/22/15
to smalltalk...@googlegroups.com
For me, the killer feature is the debugger, being able to _simply_ modify code around an unhandled exception, then _continue_ program execution from the context of the exception.  This leads to a peculiar development style sometimes called "developing from within the debugger".  When writing a method, you code to send messages you haven't written yet, then run the method, which of course breaks into the debugger because the object receiving the message does not understand that message.  But with the click of a button, the message/method is created on that object and you are in an editor ready to write the method IN THE CONTEXT that it is being used.  You have a LIVE OBJECT sitting right there in front of you to inspect as you write method.  Then the debugger can step through the method bit by bit as you write it.  

btw, this feature is dependent on Smalltalk's resume-semantic-exceptions where exceptions are handled without unrolling the stack.  As I understand it, at least Java and C++ are lack such resume semantics for exceptions.

cheers -ben

To unsubscribe from this group and stop receiving emails from it, send an email to smalltalk-resea...@googlegroups.com.

Richard Eng

unread,
Feb 22, 2015, 9:15:09 AM2/22/15
to smalltalk...@googlegroups.com
I've heard people mention the Lisp Machine as Smalltalk's counterpart. I'm not familiar with the Lisp Machine, but does it not provide similar capabilities? Of course, it's no longer available today, but in principle, it could be done for Lisp.


On Sunday, 22 February 2015 08:30:38 UTC-5, Ben Coman wrote:
For me, the killer feature is the debugger, being able to _simply_ modify code around an unhandled exception, then _continue_ program execution from the context of the exception.  This leads to a peculiar development style sometimes called "developing from within the debugger".  When writing a method, you code to send messages you haven't written yet, then run the method, which of course breaks into the debugger because the object receiving the message does not understand that message.  But with the click of a button, the message/method is created on that object and you are in an editor ready to write the method IN THE CONTEXT that it is being used.  You have a LIVE OBJECT sitting right there in front of you to inspect as you write method.  Then the debugger can step through the method bit by bit as you write it.  

btw, this feature is dependent on Smalltalk's resume-semantic-exceptions where exceptions are handled without unrolling the stack.  As I understand it, at least Java and C++ are lack such resume semantics for exceptions.

cheers -ben
On Sun, Feb 22, 2015 at 3:52 PM, James Ladd <ladd....@gmail.com> wrote:
Killer feature for Smalltalk is true OO w message passing- no built in constructs

Sent from the holodeck.

On 22 Feb 2015, at 4:26 pm, Richard Eng <horrido...@gmail.com> wrote:

Yes, it makes an excellent argument for Smalltalk, too. But I was wondering: If macros are the killer feature of Lisp, what is the killer feature for Smalltalk?


On Wednesday, 18 February 2015 10:54:30 UTC-5, Ben Coman wrote:
Not sure if I've pasted this before, but I find really interesting Paul Graham's** idea of the Blub paradox.  Its about Lisp, but I think it has a lot of similarities to Smalltalk.

cheers -ben


** Y Combinator founder.
On Wed, Feb 18, 2015 at 7:30 AM, James Ladd <ladd....@gmail.com> wrote:
In the 90's there was an object or object world magazine cover that stated Smalltalk was 71% more productive than C - no surprises there.
Today the gap has to have closed but I'd bet there is still a significant advantage w Smalltalk.

How big a difference would there need to be to make you change language and tools?

- James

--
You received this message because you are subscribed to the Google Groups "Smalltalk Research" group.
To unsubscribe from this group and stop receiving emails from it, send an email to smalltalk-research+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to a topic in the Google Groups "Smalltalk Research" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/smalltalk-research/m-yaRuXQ-uc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to smalltalk-research+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Ralph Johnson

unread,
Feb 23, 2015, 8:17:15 AM2/23/15
to smalltalk...@googlegroups.com
I agree that this is the killer feature of Smalltalk.  People who haven't done this have no idea how powerful it is.  When we teach or demo Smalltalk, we need to show this off and make a big deal about it.  

Smalltalk has live objects!

James Ladd

unread,
Feb 23, 2015, 12:26:09 PM2/23/15
to smalltalk...@googlegroups.com
+1

I'm trying to bring this exact feature to Redline Smalltalk in the Java Virtual Machine environment.
Redline will compile source to executable on the fly so this should be possible. Fingers crossed.

Alexandre Bergel

unread,
Feb 23, 2015, 6:24:04 PM2/23/15
to smalltalk...@googlegroups.com
Hi James,

I’ve heard about your Smalltalk. Is there a demo somewhere?

Cheers,
Alexandre
>> To unsubscribe from this group and stop receiving emails from it, send an email to smalltalk-resea...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>> --
>> You received this message because you are subscribed to a topic in the Google Groups "Smalltalk Research" group.
>> To unsubscribe from this topic, visit https://groups.google.com/d/topic/smalltalk-research/m-yaRuXQ-uc/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to smalltalk-resea...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups "Smalltalk Research" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to smalltalk-resea...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google Groups "Smalltalk Research" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to smalltalk-resea...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to a topic in the Google Groups "Smalltalk Research" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/smalltalk-research/m-yaRuXQ-uc/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to smalltalk-resea...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google Groups "Smalltalk Research" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to smalltalk-resea...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.



James Ladd

unread,
Feb 23, 2015, 6:58:37 PM2/23/15
to smalltalk...@googlegroups.com
Hi Alexandre,

There is a version you can play w on github
However, there is a new version coming very soon - September I hope. This will be far more complete.

- James

Sent from the holodeck.

Alexandre Bergel

unread,
Feb 23, 2015, 7:07:26 PM2/23/15
to smalltalk...@googlegroups.com
Ok, thanks!

Cheers,
Alexandre

Reinout Heeck

unread,
Feb 24, 2015, 4:30:18 AM2/24/15
to smalltalk...@googlegroups.com
On 2/23/2015 2:17 PM, Ralph Johnson wrote:
> I agree that this is the killer feature of Smalltalk. People who
> haven't done this have no idea how powerful it is. When we teach or
> demo Smalltalk, we need to show this off and make a big deal about it.


Before we do that let us also try to articulate /why/ this is such a big
deal. People might think that it is 'merely' the speed-up that is at
play, however here at work I encourage people to design their code in
the debugger because it leads to better method names.

People tend to use domain vocabulary when 'telling objects to do stuff'
in the debugger. In the browser OTOH people tend to use solution
vocabulary when stitching code together from supporting elements.

Designing method names in the debugger leads to more abstract names!


R
-
> <horrido...@gmail.com <mailto:horrido...@gmail.com>>
> wrote:
>
>> Yes, it makes an excellent argument for Smalltalk, too. But I
>> was wondering: If macros are the killer feature of Lisp, what
>> is the killer feature for Smalltalk?
>>
>>
>> On Wednesday, 18 February 2015 10:54:30 UTC-5, Ben Coman wrote:
>>
>> Not sure if I've pasted this before, but I find really
>> interesting Paul Graham's** idea of the Blub paradox. Its
>> about Lisp, but I think it has a lot of similarities to
>> Smalltalk.
>> http://www.paulgraham.com/avg.__html
>> <http://www.paulgraham.com/avg.html>
>>
>> cheers -ben
>>
>>
>> ** Y Combinator founder.
>>
>> On Wed, Feb 18, 2015 at 7:30 AM, James Ladd
>> <ladd....@gmail.com> wrote:
>>
>> In the 90's there was an object or object world
>> magazine cover that stated Smalltalk was 71% more
>> productive than C - no surprises there.
>> Today the gap has to have closed but I'd bet there is
>> still a significant advantage w Smalltalk.
>>
>> How big a difference would there need to be to make
>> you change language and tools?
>>
>> - James
>>
>> --
>> You received this message because you are subscribed
>> to the Google Groups "Smalltalk Research" group.
>> To unsubscribe from this group and stop receiving
>> emails from it, send an email to
>> smalltalk-resear...@googlegroups.com.
>> For more options, visit
>> https://groups.google.com/d/__optout
>> <https://groups.google.com/d/optout>.
>>
>>
>> --
>> You received this message because you are subscribed to a
>> topic in the Google Groups "Smalltalk Research" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/smalltalk-research/m-yaRuXQ-uc/unsubscribe.
>> To unsubscribe from this group and all its topics, send an
>> email to smalltalk-resea...@googlegroups.com
>> <mailto:smalltalk-resea...@googlegroups.com>.
>> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the
> Google Groups "Smalltalk Research" group.
> To unsubscribe from this group and stop receiving emails from
> it, send an email to
> smalltalk-resea...@googlegroups.com
> <mailto:smalltalk-resea...@googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Smalltalk Research" group.
> To unsubscribe from this group and stop receiving emails from it,
> send an email to smalltalk-resea...@googlegroups.com
> <mailto:smalltalk-resea...@googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Smalltalk Research" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to smalltalk-resea...@googlegroups.com
> <mailto:smalltalk-resea...@googlegroups.com>.
Reply all
Reply to author
Forward
0 new messages