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 |
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 |
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> |
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 > > > > |
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 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 >>> >>> >>> >>> >> >> > |
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. 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.
+1
Compiler evaluate: is more how you do it ;) I'd say just do it (it's ok, we are an imperative language after all).
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 ;)
|
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 |
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 > |
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> |
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 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 |
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]>: |
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 > 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 > > |
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 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 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 |
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 |
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! |
Free forum by Nabble | Edit this page |