On 6/8/06, Klaus D. Witzel <[hidden email]> wrote:
> On Thu, 08 Jun 2006 13:33:55 +0200, Lic. Edgar J. De Cleene wrote: > > > > I wonder why not use <- , two characters as := , but closer to original > > idea. This is a bad idea, because you would be different from other Smalltalks for no good reason. The right solution is to make the editor smarter. That way you get compatibility AND a good user interface. -Ralph Johnson |
On 6/8/06, Ralph Johnson <[hidden email]> wrote:
On 6/8/06, Klaus D. Witzel <[hidden email]> wrote: I agree 100%. I'm surprised that no one mentioned it, but for me, a big reason why I missed having the good ol' left arrow is because := just takes so many keys to type. I've been working on a patch to add a new keyboard shortcut to ParagraphEditor to allow control-= to insert assignment. For now, I'll definitely make it insert ':=', because that's the way things are going. |
Ah. Seems that just another misunderstanding slipped into the thread.
Please correct me, such that at least this one is crystal clear: My understanding of Edgar's question/suggestion was that, instead of ':=', the Squeak community (can) choose to use '<-'. This (':=' versus: '<-') has nothing to do with ((underline versus: single_keystroke_left_arrow) versus: ':='), at least this is my position. /Klaus (0.5 * OT) I strongly believe that one or the other Squeaker will make a change set which allows her / him to change Squeak assignment character(s)+glyph(s) just the way they want. This is what Smalltalk is about: don't like it? change it! On Thu, 08 Jun 2006 17:40:01 +0200, Duncan Mak <[hidden email]> wrote: > On 6/8/06, Ralph Johnson <[hidden email]> wrote: >> >> On 6/8/06, Klaus D. Witzel <[hidden email]> wrote: >> > On Thu, 08 Jun 2006 13:33:55 +0200, Lic. Edgar J. De Cleene wrote: >> > > >> > > I wonder why not use <- , two characters as := , but closer to >> original >> > > idea. >> >> This is a bad idea, because you would be different from other >> Smalltalks for no good reason. The right solution is to make the >> editor smarter. That way you get compatibility AND a good user >> interface. > > > I agree 100%. > > I'm surprised that no one mentioned it, but for me, a big reason why I > missed having the good ol' left arrow is because := just takes so many > keys > to type. > > I've been working on a patch to add a new keyboard shortcut to > ParagraphEditor to allow control-= to insert assignment. For now, I'll > definitely make it insert ':=', because that's the way things are going. > > Duncan. |
In reply to this post by Ralph Johnson
Dear Squeakers,
As a newcomer to Squeak, slowly coming from other Smalltalk and a supporter of as much unified Smalltalk world as possible, I strongly hope that you will choose := for an assignment operator (or one of them). Some reasons: - consistence with other Smalltalks, - consistence with other languages, - lower barrier of entry for newcomers. Best regards Janko Ralph Johnson wrote: > On 6/8/06, Klaus D. Witzel <[hidden email]> wrote: >> On Thu, 08 Jun 2006 13:33:55 +0200, Lic. Edgar J. De Cleene wrote: >> > >> > I wonder why not use <- , two characters as := , but closer to original >> > idea. > > This is a bad idea, because you would be different from other > Smalltalks for no good reason. The right solution is to make the > editor smarter. That way you get compatibility AND a good user > interface. > > -Ralph Johnson > |
In reply to this post by Duncan Mak-2
Duncan Mak wrote on Thu, 8 Jun 2006 11:40:01 -0400
> I'm surprised that no one mentioned it, but for me, a big reason why I missed > having the good ol' left arrow is because := just takes so many keys to type. Exactly - there are two entirely separate issues relating to the assignment character: how to type it and how it is displayed by the various hardware/software combinations. I would just like to take a small detour into the history of character sets for those who keep complaining that Squeak "hijacked" the underline character. As we can see in http://homepages.cwi.nl/~dik/english/codes/stand.html there was no underline character in the 1963 proposal for ASCII. In 1965 the up and left arrows were replaced by the now familiar caret and underline characters, but by then the uppercase-only older version was already in use in printers and popular teletype terminals. It is easy to say that when Xerox PARC was founded this was already ancient history and they should have adopted the final version of ASCII but things don't easily change that fast - at the computer center where I worked in 1982 all our teletypes still had no lowercase, caret nor underline characters. And this is why we call a method #helpWithTopic: instead of #help_with_topic: like many other languages. It is interesting that the original IBM PC video hardware did include characters for all four arrows, with 16r18 as the up arrow and 16r1B as the left arrow. So when Digitalk introduced their Methods text based system in 1985 they could have used these. But they would have been very awkward to type (specially with the left arrow having the same character code as ESC) and since their target audience was Pascal programmers (all examples in the first part of their manual include the Pascal equivalent of the Smalltalk code) they decided to change the assignment to something that would be more familiar to them and would look good when printed on the ASCII dot matrix printers of the time. Now we have Unicode and several nice arrows to choose from while letting the underline be just an underline. Certainly it is far from trivial to make this change without messing up old code but I think it would be worth the effort. But even if this is done there still wouldn't be a good way to type in these characters, so Duncan's proposed patch would be very important. -- Jecel |
In reply to this post by Duncan Mak-2
Esthetically I would like to see assignment *displayed* as a
left-arrow. This is the original Smalltalk usage, and I think it is elegant. Just because technology limits this use, is not a reason to reject it or prevent it. However, we should support ANSI standards. Therefore, this should be made a preference, defaulting to ANSI. I think the argument it is more similar to other languages is a non-starter. Practically, more than one form of entry should be acceptable, and again should be included in the preferences. Whether this be in an editor, or in the parser is arguable and good arguments have been made. Underline should probably be defaulted off, to allow the use in file names, etc. As for off line storage of code, I would agree that we should support ANSI standard, as it would allow the greatest reuse in different Smalltalks. David Jecel Assumpcao Jr wrote: >Duncan Mak wrote on Thu, 8 Jun 2006 11:40:01 -0400 > > >>I'm surprised that no one mentioned it, but for me, a big reason why I missed >>having the good ol' left arrow is because := just takes so many keys to type. >> >> > >Exactly - there are two entirely separate issues relating to the >assignment character: how to type it and how it is displayed by the >various hardware/software combinations. > >I would just like to take a small detour into the history of character >sets for those who keep complaining that Squeak "hijacked" the underline >character. As we can see in >http://homepages.cwi.nl/~dik/english/codes/stand.html there was no >underline character in the 1963 proposal for ASCII. In 1965 the up and >left arrows were replaced by the now familiar caret and underline >characters, but by then the uppercase-only older version was already in >use in printers and popular teletype terminals. It is easy to say that >when Xerox PARC was founded this was already ancient history and they >should have adopted the final version of ASCII but things don't easily >change that fast - at the computer center where I worked in 1982 all our >teletypes still had no lowercase, caret nor underline characters. And >this is why we call a method #helpWithTopic: instead of >#help_with_topic: like many other languages. > >It is interesting that the original IBM PC video hardware did include >characters for all four arrows, with 16r18 as the up arrow and 16r1B as >the left arrow. So when Digitalk introduced their Methods text based >system in 1985 they could have used these. But they would have been very >awkward to type (specially with the left arrow having the same character >code as ESC) and since their target audience was Pascal programmers (all >examples in the first part of their manual include the Pascal equivalent >of the Smalltalk code) they decided to change the assignment to >something that would be more familiar to them and would look good when >printed on the ASCII dot matrix printers of the time. > >Now we have Unicode and several nice arrows to choose from while letting >the underline be just an underline. Certainly it is far from trivial to >make this change without messing up old code but I think it would be >worth the effort. But even if this is done there still wouldn't be a >good way to type in these characters, so Duncan's proposed patch would >be very important. > >-- Jecel > > > > > |
In reply to this post by Duncan Mak-2
Ralph,
============================= > I do not see it that way at all. Squeak's handling/abuse of underscores > has been a pain to me for a long time, and I am apparently not alone. > Please note that I am proposing a solution that would let you type _ for > assignment. However, I am convinced that it was a mistake to allow what > should be an editor macro to get built into the compiler and tarnish the > sources. You didn't answer his question. He wanted to know why it was a pain. He already knew that someone thought it was a pain. He argued that it was not a pain because you could easily convert from one form to another, and he wanted to know why his argument was wrong. ============================= I didn't avoid the question: I redirected it, if that. My point is clear, and I stated clearly. The mistake is abusing the underscore, and doing so in the compiler/sources rather than the editor. ============================= The use of an equal sign for assignment is really stupid and one of the arbitrary and unintuitive communication choices that programmers have made. := is a little better, but not much. Left arrow makes it obvious that a value is moving from the right to the left. ============================= I don't care what glyph people want to use, as long as it is not a character that should be left free for use elsewhere. By all means, use unicode to add a proper back arrow if you wish. Bill Wilhelm K. Schwab, Ph.D. University of Florida Department of Anesthesiology PO Box 100254 Gainesville, FL 32610-0254 Email: [hidden email] Tel: (352) 846-1285 FAX: (352) 392-7029 |
In reply to this post by Duncan Mak-2
Ralph,
========================= > On Thu, 08 Jun 2006 13:33:55 +0200, Lic. Edgar J. De Cleene wrote: > > > > I wonder why not use <- , two characters as := , but closer to original > > idea. This is a bad idea, because you would be different from other Smalltalks for no good reason. The right solution is to make the editor smarter. That way you get compatibility AND a good user interface. ========================= FWIW, that is precisely what I have been saying all along. Bill Wilhelm K. Schwab, Ph.D. University of Florida Department of Anesthesiology PO Box 100254 Gainesville, FL 32610-0254 Email: [hidden email] Tel: (352) 846-1285 FAX: (352) 392-7029 |
In reply to this post by Duncan Mak-2
Squeakers,
>*yes*, the "pascalish" ":=" assignment is ANSI and it should be used as It stems from Algol 60. And Algol 60 inherited it from mathematics, where it is used to "define" something. Algol 60 was not only used as a programming language but also as a mathematical notation to describe algorithms concisely and unambiguously. As a mathematical notation Algol 60 used strange symbols. So something that resembles a little "v" is the boolean "or" operator. These symbols were employed regardless of the limitations imposed by keyboards and display devices. Nowadays Smalltalk offers all the flexibility needed. The scanner in my image, that originated from Squeak 1.18, does not accept ":=" any more. I simply do not need it. In the tradition of mathematics and Algol 60 I have the human reader in mind when composing a method, and if a computer program cannot cope with my preferences, I prefer to adapt the program to my taste instead of adapting my taste to the limitations of some "standards". Regards, Wolfgang -- Weniger, aber besser. |
In reply to this post by Klaus D. Witzel
It would be nice to consider that lot of people are migrating back
and forth code between VW, Dolphin, Squeak. But apparently nobody cares of them.... Stef Using := is not an aesthetic reason. We have much better reason to be incompatible. |
In reply to this post by Wolfgang Helbig-2
Wolfgang,
Thanks for this explanation. It's good to know the background. On Fri, Jun 09, 2006 at 08:33:10AM +0200, Wolfgang Helbig wrote: > Squeakers, > > >*yes*, the "pascalish" ":=" assignment is ANSI and it should be used as > > It stems from Algol 60. And Algol 60 inherited it from mathematics, where it is > used to "define" something. Algol 60 was not only used as a programming language > but also as a mathematical notation to describe algorithms concisely and > unambiguously. > > As a mathematical notation Algol 60 used strange symbols. So something that > resembles a little "v" is the boolean "or" operator. These symbols were employed > regardless of the limitations imposed by keyboards and display devices. > > Nowadays Smalltalk offers all the flexibility needed. The scanner in my image, > that originated from Squeak 1.18, does not accept ":=" any more. I simply do not > need it. In the tradition of mathematics and Algol 60 I have the human reader in > mind when composing a method, and if a computer program cannot cope with my > preferences, I prefer to adapt the program to my taste instead of adapting my > taste to the limitations of some "standards". |
In reply to this post by stéphane ducasse-2
On Fri, 09 Jun 2006 11:14:57 +0200, stéphane ducasse wrote:
> It would be nice to consider that lot of people are migrating back and > forth code between > VW, Dolphin, Squeak. But apparently nobody cares of them.... This should be the easiest one, Preferences fileOutUsesAnsiAssignment: true. And then, on the fileOut/fileIn context menus: ...fileOut (Squeak) ...fileOut (Ansi) ...fileIn (Squeak) ...fileIn (Ansi) The above might look as if it where code bloat but then, for example, the cr lf conventions also suffer from code bloat. /Klaus > Stef > > Using := is not an aesthetic reason. We have much better reason to be > incompatible. :) But the same can be said for Using <- is not an aesthetic reason. We have much better reason to be incompatible. |
Free forum by Nabble | Edit this page |