consideration of Smalltalk "DoIt"

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

consideration of Smalltalk "DoIt"

Ben Coman

Mostly I take for granted that "DoIt" has always been the way to
evaluate things with Smalltalk, however I find it awkward to use in
writing a tutorial.  Some examples...
* After saving, select "Grid new" and "DoIt"  -- this sounds awkward,
and even that you might need select the latter as well.
* After saving, "Grid new" DoIt.  -- doesn't read nice
* After saving, DoIt to "Grid new."  -- worst of all
 
I'd feel better writing something like this...
* After saving, evaluate "Grid new".
but "evaluate" is not an item in the menus.  I think actually many
people talk this way with the implicit convention that "evaluate" means
"DoIt".

So first, does anyone have a good way to compose sentences using "DoIt".
Second, how evil would it be to change the menus from "DoIt" to
"Evaluate" and so avoid the implicit convention.

cheers -ben



Reply | Threaded
Open this post in threaded view
|

Re: consideration of Smalltalk "DoIt"

Esteban A. Maringolo
I would use "Evaluate". And even go a little bit further, and propose
a rename of "DoIt" to "Evaluate".

The command line handler is "EvaluateCommandLineHandler".

Dolphin used "evaluate", it feels natural even for not-native English
speakers like me.

Also, REPL stands for read-EVAL-print-loop. So eval is an widely
accepted term to run a chunk of code.

Regards.
Esteban A. Maringolo


2014-07-15 14:20 GMT-03:00 Ben Coman <[hidden email]>:

>
> Mostly I take for granted that "DoIt" has always been the way to evaluate
> things with Smalltalk, however I find it awkward to use in writing a
> tutorial.  Some examples... * After saving, select "Grid new" and "DoIt"  --
> this sounds awkward, and even that you might need select the latter as well.
> * After saving, "Grid new" DoIt.  -- doesn't read nice
> * After saving, DoIt to "Grid new."  -- worst of all
>
> I'd feel better writing something like this...
> * After saving, evaluate "Grid new".
> but "evaluate" is not an item in the menus.  I think actually many people
> talk this way with the implicit convention that "evaluate" means "DoIt".
>
> So first, does anyone have a good way to compose sentences using "DoIt".
> Second, how evil would it be to change the menus from "DoIt" to "Evaluate"
> and so avoid the implicit convention.
>
> cheers -ben
>
>
>

dolphin-evaluate.png (12K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: consideration of Smalltalk "DoIt"

sebastianconcept@gmail.co
Having evaluate wont hurt but I would NOT remove the traditional do it

For sentences with it, I would alternate between

Evaluate 'Grid new'

and remember that doIt is a message send and button/command like

"select 'Grid new' and 'Do it' from the menu"

some smalltalk IDEs can say

"select 'Grid new' and press the 'Do it' button"



sebastian

o/

> On 15/07/2014, at 14:33, "Esteban A. Maringolo" <[hidden email]> wrote:
>
> I would use "Evaluate". And even go a little bit further, and propose
> a rename of "DoIt" to "Evaluate".
>
> The command line handler is "EvaluateCommandLineHandler".
>
> Dolphin used "evaluate", it feels natural even for not-native English
> speakers like me.
>
> Also, REPL stands for read-EVAL-print-loop. So eval is an widely
> accepted term to run a chunk of code.
>
> Regards.
> Esteban A. Maringolo
>
>
> 2014-07-15 14:20 GMT-03:00 Ben Coman <[hidden email]>:
>>
>> Mostly I take for granted that "DoIt" has always been the way to evaluate
>> things with Smalltalk, however I find it awkward to use in writing a
>> tutorial.  Some examples... * After saving, select "Grid new" and "DoIt"  --
>> this sounds awkward, and even that you might need select the latter as well.
>> * After saving, "Grid new" DoIt.  -- doesn't read nice
>> * After saving, DoIt to "Grid new."  -- worst of all
>>
>> I'd feel better writing something like this...
>> * After saving, evaluate "Grid new".
>> but "evaluate" is not an item in the menus.  I think actually many people
>> talk this way with the implicit convention that "evaluate" means "DoIt".
>>
>> So first, does anyone have a good way to compose sentences using "DoIt".
>> Second, how evil would it be to change the menus from "DoIt" to "Evaluate"
>> and so avoid the implicit convention.
>>
>> cheers -ben
> <dolphin-evaluate.png>

Reply | Threaded
Open this post in threaded view
|

Re: consideration of Smalltalk "DoIt"

stepharo
In reply to this post by Ben Coman
In general I banned evaluate from the book vocabulary because people
think that this is slower.
I saw teachers writing that smalltalk is interpreted and java compiled :).
I use execute.


On 15/7/14 19:20, Ben Coman wrote:

>
> Mostly I take for granted that "DoIt" has always been the way to
> evaluate things with Smalltalk, however I find it awkward to use in
> writing a tutorial.  Some examples... * After saving, select "Grid
> new" and "DoIt"  -- this sounds awkward, and even that you might need
> select the latter as well.
> * After saving, "Grid new" DoIt.  -- doesn't read nice
> * After saving, DoIt to "Grid new."  -- worst of all
>
> I'd feel better writing something like this...
> * After saving, evaluate "Grid new".
> but "evaluate" is not an item in the menus.  I think actually many
> people talk this way with the implicit convention that "evaluate"
> means "DoIt".
>
> So first, does anyone have a good way to compose sentences using "DoIt".
> Second, how evil would it be to change the menus from "DoIt" to
> "Evaluate" and so avoid the implicit convention.
>
> cheers -ben
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: consideration of Smalltalk "DoIt"

kilon.alios
In python there is eval() which evaluates 

and there is exec() which executes

The difference is that one calculates a value which it returns , the other executes code. 

Personally I find "do it" very good choice because it makes clear what you referring to , in contrast "evaluate" and "execute" can mean different things under different context. 


On Tue, Jul 15, 2014 at 9:07 PM, stepharo <[hidden email]> wrote:
In general I banned evaluate from the book vocabulary because people think that this is slower.
I saw teachers writing that smalltalk is interpreted and java compiled :).
I use execute.



On 15/7/14 19:20, Ben Coman wrote:

Mostly I take for granted that "DoIt" has always been the way to evaluate things with Smalltalk, however I find it awkward to use in writing a tutorial.  Some examples... * After saving, select "Grid new" and "DoIt"  -- this sounds awkward, and even that you might need select the latter as well.
* After saving, "Grid new" DoIt.  -- doesn't read nice
* After saving, DoIt to "Grid new."  -- worst of all

I'd feel better writing something like this...
* After saving, evaluate "Grid new".
but "evaluate" is not an item in the menus.  I think actually many people talk this way with the implicit convention that "evaluate" means "DoIt".

So first, does anyone have a good way to compose sentences using "DoIt".
Second, how evil would it be to change the menus from "DoIt" to "Evaluate" and so avoid the implicit convention.

cheers -ben







Reply | Threaded
Open this post in threaded view
|

Re: consideration of Smalltalk "DoIt"

Esteban A. Maringolo
I find the "... it" suffix obsolete. "Delete it", "Do it", "Print it", etc.

Maybe it made sense in the past, but today it feels weird.

There is no "Cut it", "Paste it", etc... nor similar in other software.
IMO, if the menu is contextual, the context already applies the "it" (subject).

Regards.





Esteban A. Maringolo


2014-07-15 15:16 GMT-03:00 kilon alios <[hidden email]>:

> In python there is eval() which evaluates
>
> and there is exec() which executes
>
> The difference is that one calculates a value which it returns , the other
> executes code.
>
> Personally I find "do it" very good choice because it makes clear what you
> referring to , in contrast "evaluate" and "execute" can mean different
> things under different context.
>
>
> On Tue, Jul 15, 2014 at 9:07 PM, stepharo <[hidden email]> wrote:
>>
>> In general I banned evaluate from the book vocabulary because people think
>> that this is slower.
>> I saw teachers writing that smalltalk is interpreted and java compiled :).
>> I use execute.
>>
>>
>>
>> On 15/7/14 19:20, Ben Coman wrote:
>>>
>>>
>>> Mostly I take for granted that "DoIt" has always been the way to evaluate
>>> things with Smalltalk, however I find it awkward to use in writing a
>>> tutorial.  Some examples... * After saving, select "Grid new" and "DoIt"  --
>>> this sounds awkward, and even that you might need select the latter as well.
>>> * After saving, "Grid new" DoIt.  -- doesn't read nice
>>> * After saving, DoIt to "Grid new."  -- worst of all
>>>
>>> I'd feel better writing something like this...
>>> * After saving, evaluate "Grid new".
>>> but "evaluate" is not an item in the menus.  I think actually many people
>>> talk this way with the implicit convention that "evaluate" means "DoIt".
>>>
>>> So first, does anyone have a good way to compose sentences using "DoIt".
>>> Second, how evil would it be to change the menus from "DoIt" to
>>> "Evaluate" and so avoid the implicit convention.
>>>
>>> cheers -ben
>>>
>>>
>>>
>>>
>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: consideration of Smalltalk "DoIt"

Nicolas Cellier



2014-07-15 20:27 GMT+02:00 Esteban A. Maringolo <[hidden email]>:
I find the "... it" suffix obsolete. "Delete it", "Do it", "Print it", etc.

Maybe it made sense in the past, but today it feels weird.

There is no "Cut it", "Paste it", etc... nor similar in other software.
IMO, if the menu is contextual, the context already applies the "it" (subject).

Regards.


Did you notice "it" is only mentionned when you will evaluate (do it / print it / debug it / ... )?
Otherwise, if it's just text editing there is no it.
So there is a sort of logic. IMO that makes sense, because evaluating is a special action.

 




Esteban A. Maringolo


2014-07-15 15:16 GMT-03:00 kilon alios <[hidden email]>:
> In python there is eval() which evaluates
>
> and there is exec() which executes
>
> The difference is that one calculates a value which it returns , the other
> executes code.
>
> Personally I find "do it" very good choice because it makes clear what you
> referring to , in contrast "evaluate" and "execute" can mean different
> things under different context.
>
>

+1
 
> On Tue, Jul 15, 2014 at 9:07 PM, stepharo <[hidden email]> wrote:
>>
>> In general I banned evaluate from the book vocabulary because people think
>> that this is slower.

Compiler evaluate: is more how you do it ;)
I'd say just do it (it's ok, we are an imperative language after all).

 
>> I saw teachers writing that smalltalk is interpreted and java compiled :).
>> I use execute.
>>
>>

Ah, Cursor execute showWhile: [...], st80-v2 also had this vocabulary.
So if the UI must reflect that you execute something, it's certainly a valuable word.
I checked, it's still in Pharo 3.0 :)
Personally, I find it too unpersonnal though. A robot, or an automaton executes a list of instructions.
I prefer the anthropo-morphic programming ;)

>>
>> On 15/7/14 19:20, Ben Coman wrote:
>>>
>>>
>>> Mostly I take for granted that "DoIt" has always been the way to evaluate
>>> things with Smalltalk, however I find it awkward to use in writing a
>>> tutorial.  Some examples... * After saving, select "Grid new" and "DoIt"  --
>>> this sounds awkward, and even that you might need select the latter as well.
>>> * After saving, "Grid new" DoIt.  -- doesn't read nice
>>> * After saving, DoIt to "Grid new."  -- worst of all
>>>
>>> I'd feel better writing something like this...
>>> * After saving, evaluate "Grid new".
>>> but "evaluate" is not an item in the menus.  I think actually many people
>>> talk this way with the implicit convention that "evaluate" means "DoIt".
>>>
>>> So first, does anyone have a good way to compose sentences using "DoIt".
>>> Second, how evil would it be to change the menus from "DoIt" to
>>> "Evaluate" and so avoid the implicit convention.
>>>
>>> cheers -ben
>>>
>>>
>>>
>>>
>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: consideration of Smalltalk "DoIt"

Esteban A. Maringolo
2014-07-15 17:30 GMT-03:00 Nicolas Cellier <[hidden email]>:
> 2014-07-15 20:27 GMT+02:00 Esteban A. Maringolo <[hidden email]>:
>
>> I find the "... it" suffix obsolete. "Delete it", "Do it", "Print it",
>> etc.
>>
>> Maybe it made sense in the past, but today it feels weird.
>> There is no "Cut it", "Paste it", etc... nor similar in other software.
>> IMO, if the menu is contextual, the context already applies the "it"
>> (subject).

> Did you notice "it" is only mentionned when you will evaluate (do it / print
> it / debug it / ... )?
> Otherwise, if it's just text editing there is no it.
> So there is a sort of logic. IMO that makes sense, because evaluating is a
> special action.

I did notice.

And I believe the "print-it", "do-it" and similar are there because of
historical reasons I don't know, but were carried over without
questioning it, maybe since ST-80 . :)

Why make a distinction between copying text and
evaluating/profiling/debugging it? I only saw this in Smalltalk.

Esteban A. Maringolo

Reply | Threaded
Open this post in threaded view
|

Re: consideration of Smalltalk "DoIt"

Eliot Miranda-2


On Jul 15, 2014, at 1:50 PM, "Esteban A. Maringolo" <[hidden email]> wrote:

> 2014-07-15 17:30 GMT-03:00 Nicolas Cellier <[hidden email]>:
>> 2014-07-15 20:27 GMT+02:00 Esteban A. Maringolo <[hidden email]>:
>>
>>> I find the "... it" suffix obsolete. "Delete it", "Do it", "Print it",
>>> etc.
>>>
>>> Maybe it made sense in the past, but today it feels weird.
>>> There is no "Cut it", "Paste it", etc... nor similar in other software.
>>> IMO, if the menu is contextual, the context already applies the "it"
>>> (subject).
>
>> Did you notice "it" is only mentionned when you will evaluate (do it / print
>> it / debug it / ... )?
>> Otherwise, if it's just text editing there is no it.
>> So there is a sort of logic. IMO that makes sense, because evaluating is a
>> special action.
>
> I did notice.
>
> And I believe the "print-it", "do-it" and similar are there because of
> historical reasons I don't know, but were carried over without
> questioning it, maybe since ST-80 . :)
>
> Why make a distinction between copying text and
> evaluating/profiling/debugging it? I only saw this in Smalltalk.

??  I'd be more than annoyed if copying the text "rm -rf *" evaluated it too...

>
> Esteban A. Maringolo
>

Reply | Threaded
Open this post in threaded view
|

Re: consideration of Smalltalk "DoIt"

Ben Coman
In reply to this post by sebastianconcept@gmail.co
Thanks Sebastian, I was looking to find counter-views.

Did you notice you needed to put the 'Do it' in quotes, but not 'Evaluate' - so the latter seems more natural to me. Also 'Do it' needed a lot more supporting language than 'Evaluate'.  For your examples...
   [1] zero extra words
   [2] five extra words
   [3] five extra words

Now this contrived example, but how would you write the following using 'Do it' ?
" In order, evaluate 'Grid new' , 'Cell new' and 'Grid new add: Cell new'  "

I think it would be a bad idea to have both 'Evaluate it' and 'Do it' int he menus.  It seems wrong to have two labels doing the same thing.

cheers -ben

Sebastian Sastre wrote:
Having evaluate wont hurt but I would NOT remove the traditional do it
For sentences with it, I would alternate between 

Evaluate 'Grid new' [1]

and remember that doIt is a message send and button/command like

"select 'Grid new' and 'Do it' from the menu" [2]

some smalltalk IDEs can say

"select 'Grid new' and press the 'Do it' button" [3]



sebastian

o/

  
On 15/07/2014, at 14:33, "Esteban A. Maringolo" [hidden email] wrote:

I would use "Evaluate". And even go a little bit further, and propose
a rename of "DoIt" to "Evaluate".

The command line handler is "EvaluateCommandLineHandler".

Dolphin used "evaluate", it feels natural even for not-native English
speakers like me.

Also, REPL stands for read-EVAL-print-loop. So eval is an widely
accepted term to run a chunk of code.

Regards.
Esteban A. Maringolo


2014-07-15 14:20 GMT-03:00 Ben Coman [hidden email]:
    
Mostly I take for granted that "DoIt" has always been the way to evaluate
things with Smalltalk, however I find it awkward to use in writing a
tutorial.  Some examples... * After saving, select "Grid new" and "DoIt"  --
this sounds awkward, and even that you might need select the latter as well.
* After saving, "Grid new" DoIt.  -- doesn't read nice
* After saving, DoIt to "Grid new."  -- worst of all

I'd feel better writing something like this...
* After saving, evaluate "Grid new".
but "evaluate" is not an item in the menus.  I think actually many people
talk this way with the implicit convention that "evaluate" means "DoIt".

So first, does anyone have a good way to compose sentences using "DoIt".
Second, how evil would it be to change the menus from "DoIt" to "Evaluate"
and so avoid the implicit convention.

cheers -ben
      
<dolphin-evaluate.png>
    


  

Reply | Threaded
Open this post in threaded view
|

Re: consideration of Smalltalk "DoIt"

Esteban A. Maringolo
In reply to this post by Eliot Miranda-2
2014-07-15 23:32 GMT-03:00 Eliot Miranda <[hidden email]>:
> On Jul 15, 2014, at 1:50 PM, "Esteban A. Maringolo" <[hidden email]> wrote:

>> Why make a distinction between copying text and
>> evaluating/profiling/debugging it? I only saw this in Smalltalk.
>
> ??  I'd be more than annoyed if copying the text "rm -rf *" evaluated it too...

Well... it would be sending the object at the variable rm the message
selector #- with  rf as argument :)

I'm not sure if I understood what you meant. But I'm talking about
consistency, it is we use "verb + it" for everything, or we don't.

Ej:
A)
Do/Evaluate it
Print it
Debug it
Copy it
Cut it
Paste it

B)
Evaluate
Print
Debug
Copy
Cut
Paste

Certainly the latter feels better to me. And I haven't seen a single
UI/UX guideline suggesting the naming of commands like A.

But again, maybe i'm lost in translation here.

Regards.

Esteban A. Maringolo

Reply | Threaded
Open this post in threaded view
|

Re: consideration of Smalltalk "DoIt"

Santiago Bragagnolo
In reply to this post by Esteban A. Maringolo
I think that the difference is in every language. You do not just debug a c program executing it or compiling it for release, the same with c++ and java or python. I never debugged haskell, but when you execute something in the console you are even implicitly using print-it. instead of do it. Profiling is not different neither, is not that you there is all the time something profiling your applications. 

I think that real difference is that is not usual to find a language that let you execute what ever you want almost everywhere, because the meaning of what execution is, is slightly different.  Then, in other languages it just do not makes sense. 

You may want to change the menu to be different when you have something selected, i feel it will be more bureau, but it can be cool to try a prototype.




2014-07-15 22:50 GMT+02:00 Esteban A. Maringolo <[hidden email]>:
2014-07-15 17:30 GMT-03:00 Nicolas Cellier <[hidden email]>:
> 2014-07-15 20:27 GMT+02:00 Esteban A. Maringolo <[hidden email]>:
>
>> I find the "... it" suffix obsolete. "Delete it", "Do it", "Print it",
>> etc.
>>
>> Maybe it made sense in the past, but today it feels weird.
>> There is no "Cut it", "Paste it", etc... nor similar in other software.
>> IMO, if the menu is contextual, the context already applies the "it"
>> (subject).

> Did you notice "it" is only mentionned when you will evaluate (do it / print
> it / debug it / ... )?
> Otherwise, if it's just text editing there is no it.
> So there is a sort of logic. IMO that makes sense, because evaluating is a
> special action.

I did notice.

And I believe the "print-it", "do-it" and similar are there because of
historical reasons I don't know, but were carried over without
questioning it, maybe since ST-80 . :)

Why make a distinction between copying text and
evaluating/profiling/debugging it? I only saw this in Smalltalk.

Esteban A. Maringolo


Reply | Threaded
Open this post in threaded view
|

Re: consideration of Smalltalk "DoIt"

Torsten Bergmann
In reply to this post by Esteban A. Maringolo
Hi Esteban,

I think the

 Do/Evaluate it  Print it Debug it

menu naming is a tribute to Smalltalk history as it was already part of ST80
(see http://www.cosc.canterbury.ac.nz/wolfgang.kreutzer/cosc205/images/stShot13.gif)

In this case the text is seen not only as text but as a real expression - maybe
that's the reason for the "it" and also the reason for having this in a separate
menu group divided by a separator line.

I would not change it, even when it is not consistent or make some people feel
uncomfortable for three reasons:

 1. The do it/print it/debug it is part of nearly any Smalltalk or Pharo tutorial/books
    so this is what people would expect it to look like

 2. The Cut/Copy/Paste is known from any other UI based operating system and application,
    so this is what people would expect it to look like

and the strongest reason:

 3. If you change "Print it" to just "Print" people would expect something
    is coming out of their printer device! ;)

We can change anything in Pharo - but not so easy the expectation of users.

Bye
T.



> Gesendet: Mittwoch, 16. Juli 2014 um 16:01 Uhr
> Von: "Esteban A. Maringolo" <[hidden email]>
> An: "Pharo Development List" <[hidden email]>
> Betreff: Re: [Pharo-dev] consideration of Smalltalk "DoIt"
>
> 2014-07-15 23:32 GMT-03:00 Eliot Miranda <[hidden email]>:
> > On Jul 15, 2014, at 1:50 PM, "Esteban A. Maringolo" <[hidden email]> wrote:
>
> >> Why make a distinction between copying text and
> >> evaluating/profiling/debugging it? I only saw this in Smalltalk.
> >
> > ??  I'd be more than annoyed if copying the text "rm -rf *" evaluated it too...
>
> Well... it would be sending the object at the variable rm the message
> selector #- with  rf as argument :)
>
> I'm not sure if I understood what you meant. But I'm talking about
> consistency, it is we use "verb + it" for everything, or we don't.
>
> Ej:
> A)
> Do/Evaluate it
> Print it
> Debug it
> Copy it
> Cut it
> Paste it
>
> B)
> Evaluate
> Print
> Debug
> Copy
> Cut
> Paste
>
> Certainly the latter feels better to me. And I haven't seen a single
> UI/UX guideline suggesting the naming of commands like A.
>
> But again, maybe i'm lost in translation here.
>
> Regards.
>
> Esteban A. Maringolo
>
>

Reply | Threaded
Open this post in threaded view
|

Re: consideration of Smalltalk "DoIt"

Ron Teitelbaum
In reply to this post by Santiago Bragagnolo

Hi All,

 

Smalltalkers do it with style.  As a member of the it fan club I would like to send my support for all the its.  Could be that I just got used to the syntax but there has never been any doubt as to what the methods do.  The purpose of a language is to be clear and useful.  I don’t find any fault in the clarity, or the ability to learn and remember its.

 

All the best,

 

Ron Teitelbaum

 

From: Pharo-dev [mailto:[hidden email]] On Behalf Of Santiago Bragagnolo
Sent: Wednesday, July 16, 2014 10:24 AM
To: Pharo Development List
Subject: Re: [Pharo-dev] consideration of Smalltalk "DoIt"

 

I think that the difference is in every language. You do not just debug a c program executing it or compiling it for release, the same with c++ and java or python. I never debugged haskell, but when you execute something in the console you are even implicitly using print-it. instead of do it. Profiling is not different neither, is not that you there is all the time something profiling your applications. 

 

I think that real difference is that is not usual to find a language that let you execute what ever you want almost everywhere, because the meaning of what execution is, is slightly different.  Then, in other languages it just do not makes sense. 

 

You may want to change the menu to be different when you have something selected, i feel it will be more bureau, but it can be cool to try a prototype.

 

 

 

2014-07-15 22:50 GMT+02:00 Esteban A. Maringolo <[hidden email]>:

2014-07-15 17:30 GMT-03:00 Nicolas Cellier <[hidden email]>:

> 2014-07-15 20:27 GMT+02:00 Esteban A. Maringolo <[hidden email]>:


>
>> I find the "... it" suffix obsolete. "Delete it", "Do it", "Print it",
>> etc.
>>
>> Maybe it made sense in the past, but today it feels weird.
>> There is no "Cut it", "Paste it", etc... nor similar in other software.
>> IMO, if the menu is contextual, the context already applies the "it"
>> (subject).

> Did you notice "it" is only mentionned when you will evaluate (do it / print
> it / debug it / ... )?
> Otherwise, if it's just text editing there is no it.
> So there is a sort of logic. IMO that makes sense, because evaluating is a
> special action.

I did notice.


And I believe the "print-it", "do-it" and similar are there because of
historical reasons I don't know, but were carried over without
questioning it, maybe since ST-80 . :)

Why make a distinction between copying text and
evaluating/profiling/debugging it? I only saw this in Smalltalk.

Esteban A. Maringolo

 

Reply | Threaded
Open this post in threaded view
|

Re: consideration of Smalltalk "DoIt"

Ben Coman
In reply to this post by Torsten Bergmann
Torsten Bergmann wrote:
Hi Esteban,

I think the 

 Do/Evaluate it  Print it Debug it
  

Actually I quite like "Do/Evaluate it" as an option. 
* It would read well as a menu item
* It doesn't add much width to "Evaluate it", and won't change the overall menu width (due to "Extended search...")
* It aligns with contemporary usage in other languages
* Retains some heritage, and doesn't invalidate existing documentation.

With such I'd feel comfortable using "evaluate" in documentation.

menu naming is a tribute to Smalltalk history as it was already part of ST80
(see http://www.cosc.canterbury.ac.nz/wolfgang.kreutzer/cosc205/images/stShot13.gif)

In this case the text is seen not only as text but as a real expression - maybe 
that's the reason for the "it" and also the reason for having this in a separate
menu group divided by a separator line.

I would not change it, even when it is not consistent or make some people feel
uncomfortable for three reasons:

 1. The do it/print it/debug it is part of nearly any Smalltalk or Pharo tutorial/books
    so this is what people would expect it to look like

 2. The Cut/Copy/Paste is known from any other UI based operating system and application,
    so this is what people would expect it to look like

and the strongest reason:

 3. If you change "Print it" to just "Print" people would expect something
    is coming out of their printer device! ;)
  

In addition, you are not printing the selected text but the ""result"" of executing the expression.

I don't think we should lose the "it".  I think it gives the feel that the selected text is being treated as more than just text, i.e. as code.

cheers -ben

We can change anything in Pharo - but not so easy the expectation of users.

Bye
T.



  
Gesendet: Mittwoch, 16. Juli 2014 um 16:01 Uhr
Von: "Esteban A. Maringolo" [hidden email]
An: "Pharo Development List" [hidden email]
Betreff: Re: [Pharo-dev] consideration of Smalltalk "DoIt"

2014-07-15 23:32 GMT-03:00 Eliot Miranda [hidden email]:
    
On Jul 15, 2014, at 1:50 PM, "Esteban A. Maringolo" [hidden email] wrote:
      
Why make a distinction between copying text and
evaluating/profiling/debugging it? I only saw this in Smalltalk.
        
??  I'd be more than annoyed if copying the text "rm -rf *" evaluated it too...
      
Well... it would be sending the object at the variable rm the message
selector #- with  rf as argument :)

I'm not sure if I understood what you meant. But I'm talking about
consistency, it is we use "verb + it" for everything, or we don't.

Ej:
A)
Do/Evaluate it
Print it
Debug it
Copy it
Cut it
Paste it

B)
Evaluate
Print
Debug
Copy
Cut
Paste

Certainly the latter feels better to me. And I haven't seen a single
UI/UX guideline suggesting the naming of commands like A.

But again, maybe i'm lost in translation here.

Regards.

Esteban A. Maringolo


    


  

Reply | Threaded
Open this post in threaded view
|

Re: consideration of Smalltalk "DoIt"

Esteban A. Maringolo
In reply to this post by Torsten Bergmann
2014-07-16 11:30 GMT-03:00 Torsten Bergmann <[hidden email]>:

> Hi Esteban,
> I think the
>
>  Do/Evaluate it  Print it Debug it
> menu naming is a tribute to Smalltalk history as it was already part of ST80
> (see http://www.cosc.canterbury.ac.nz/wolfgang.kreutzer/cosc205/images/stShot13.gif)
>
> In this case the text is seen not only as text but as a real expression - maybe
> that's the reason for the "it" and also the reason for having this in a separate
> menu group divided by a separator line.
>
> I would not change it, even when it is not consistent or make some people feel
> uncomfortable for three reasons:
>
>  1. The do it/print it/debug it is part of nearly any Smalltalk or Pharo tutorial/books
>     so this is what people would expect it to look like

That's what I'm saying, it's the way it is because of historical reasons. :)

However a UI with camel-cased commands (fileOut, printOut), is not a
reference of good UI design.

>  2. The Cut/Copy/Paste is known from any other UI based operating system and application,
>     so this is what people would expect it to look like

Of course, I wouldn't change it. :)

> and the strongest reason:
>
>  3. If you change "Print it" to just "Print" people would expect something
>     is coming out of their printer device! ;)

I can't see how "Print" means "send to the paper printer" and "Print
it" means "convert to a textual representation and print it in the
display" ;-)

I think the stronger reason is the #1.


This is not big deal, let's not make a huge debate (too late) out of this.

Ben, say "evaluate" when you want somebody to "DoIt", and I guess that
would be fine.


Regards!