> Paul> Squeak also deviates from other Smalltalks sometimes for no good
> Paul> reason. A dozen years later you still can't use underscore as > easily as > Paul> in most other Smalltalks because underscore is still > overloaded as the > Paul> assignment symbol. [...] What does this weird use of > underscore really > Paul> get anyone? > > Ahh, you kids, forgetting your roots. We greybeards understand > that "_" is > actually the left arrow in the original fonts for the Xerox Parc > Smalltalk80 > Release 2 image, from which Squeak is derived (via Apple and Disney > and a cast > of thousands). That it now looks like "_" is merely an artifact of > applying a > modern meaning for slot 95 in the ASCII table. If it wasn't for kids, nothing would change. :-P l8r Sean |
In reply to this post by Randal L. Schwartz
On 4-Feb-08, at 4:40 PM, Randal L. Schwartz wrote: > > Ahh, you kids, forgetting your roots. We greybeards understand that > "_" is > actually the left arrow in the original fonts for the Xerox Parc > Smalltalk80 > Release 2 image, from which Squeak is derived (via Apple and Disney > and a cast > of thousands). That it now looks like "_" is merely an artifact of > applying a > modern meaning for slot 95 in the ASCII table. Exactly. And it's about time we used unicode properly and had the appropriate char for our assignment. This ':=" crap is just vile. What is this, Pascal? I quite like the leftwards sqiggle arrow"⇜" Unicode 21DC and RTF8 E2 87 9C but even plain boring ← Leftwards Arrow unicode 2190 would be ok. And how about ⤴ arrow pointing rightwards then curving upwards unicode 2934 for return? tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim Strange OpCodes: WAF: Warn After the Fact |
On Feb 5, 2008 1:54 PM, tim Rowledge <[hidden email]> wrote:
Sure. What button on the keyboard would it be? We could map the backspace key because that's already got an arrow on it, but then we won't be allowed to make any more speling mistakes. Gulik. -- http://people.squeakfoundation.org/person/mikevdg http://gulik.pbwiki.com/ |
In reply to this post by Randal L. Schwartz
Yes, yes, but the key point is: "modern meaning".
So, for the 21st century, Squeak gets underscore *wrong*. http://en.wikipedia.org/wiki/ASCII And for a dozen years. Every knows it is wrong. There was even a recent discussion on it. It still can't be fixed! Emailed Squeak source using it displays wrong in any normal client. You can't use underscore like you can in just about every other modern programming language, as an embedded space. Every other Smalltalk does assign with ":=". There is no significant *benefit* to almost anybody (especially newbies) in being different this way, only a major *cost*. And this can be fixed by running a script with a few lines of code; I did it myself like ten years ago (well, I think I modified a compiler node or two too to allow underscores in variables and methods). There is a huge failure of community process here. A huge failure of ideals in this specific way. (Having said that, generally the Squeak community process and ideals get it right. :-) Or in general, Squeak sometimes ignores "tune defaults for the novice". How many other things in Squeak reflect a similar conservative design philosophy and just clutter up an otherwise amazing imagination amplifier system? Putting Squeak on Java, and splitting out the idiosyncrasies (underscore, GUI issues, etc.) into modules makes a lot of sense to me. Squeak is so powerful and flexible you can still have them as an expert, but why make them defaults? If you want to show Squeak's power, then change the default for everyone, and let greybeards take a plain Squeak system of their own and write a few lines of code to convert ":=" to underscore (or a Unicode backarrow) and to change the compiler and convert the whole image. Make this code an easy module to both add and then remove this change. Everyone else can be suitably impressed with the power of Squeak in the hands of an expert, but they can still all email their source code to each other in an easily legible way. :-) And yes, in a new Squeak, backarrow assign should be the first thing to be removed from the default image IMHO. :-) --Paul Fernhout Randal L. Schwartz wrote: >>>>>> "Paul" == Paul D Fernhout <[hidden email]> writes: > > Paul> Squeak also deviates from other Smalltalks sometimes for no good > Paul> reason. A dozen years later you still can't use underscore as easily as > Paul> in most other Smalltalks because underscore is still overloaded as the > Paul> assignment symbol. [...] What does this weird use of underscore really > Paul> get anyone? > > Ahh, you kids, forgetting your roots. We greybeards understand that "_" is > actually the left arrow in the original fonts for the Xerox Parc Smalltalk80 > Release 2 image, from which Squeak is derived (via Apple and Disney and a cast > of thousands). That it now looks like "_" is merely an artifact of applying a > modern meaning for slot 95 in the ASCII table. > |
In reply to this post by timrowledge
tim Rowledge wrote:
> Exactly. And it's about time we used unicode properly and had the > appropriate char for our assignment. This ':=" crap is just vile. What > is this, Pascal? > > I quite like the leftwards sqiggle arrow"⇜" Unicode 21DC and RTF8 E2 87 > 9C but even plain boring ← Leftwards Arrow unicode 2190 would be ok. > And how about ⤴ arrow pointing rightwards then curving upwards unicode > 2934 for return? I like Unicode, but if you're not joking, consider how hard are Unicode characters to type for a commonly used expression on a common keyboard? And then at what point does Squeak start sliding into APL once you go down that route? Arbitrary Unicode unary or binary selectors? http://en.wikipedia.org/wiki/APL_(programming_language) Putting a core operator into Unicode just seems like asking for trouble to me. Like APL, maybe *fun*, but still *trouble*. :-) Having said that, of course great Unicode support is a must, and there is no reason an expert could not define things to their personal liking. But do you want to be the one writing the newbie tutorial on Squeak including a long section on how to construct a backarrow or uparrow on an arbitrary keyboard across all platforms? I guess you could just suggest they cut and paste one from code somewhere or pull up a virtual keyboard or rely on auto completion in a browser? :-) The leading colon of ":=" actually makes a little syntactic sense in a Smalltalk-y way; assign is kind of like a message to self, only different (but maybe I have just looked at too many. :-) Again, what real benefit to whom for what cost to whom of doing it differently from every other Smalltalk as the *default*? By the way, the last character you included did not render for me in my email client (using Thunderbird, with a lot of fonts loaded). That should not be the sole decider, but it is a data point on the complexity of introducing Unicode for *core* syntax. --Paul Fernhout |
> > By the way, the last character you included did not render for me in my > email client (using Thunderbird, with a lot of fonts loaded). That should > not be the sole decider, but it is a data point on the complexity of > introducing Unicode for *core* syntax. > > And, *none* of them rendered for me. Nevin |
In reply to this post by Paul D. Fernhout
On 4-Feb-08, at 5:48 PM, Paul D. Fernhout wrote: > tim Rowledge wrote: >> Exactly. And it's about time we used unicode properly and had the >> appropriate char for our assignment. This ':=" crap is just vile. >> What >> is this, Pascal? >> >> I quite like the leftwards sqiggle arrow"⇜" Unicode 21DC and RTF8 >> E2 87 >> 9C but even plain boring ← Leftwards Arrow unicode 2190 would be >> ok. >> And how about ⤴ arrow pointing rightwards then curving upwards >> unicode >> 2934 for return? > > I like Unicode, but if you're not joking, consider how hard are > Unicode > characters to type for a commonly used expression on a common > keyboard? character in the text stream. We could use any key input from cmd-g (which IIRC VW used to make the assign some years ago) to alt-_ to cmd- alt-ctl-shift-meta2-RMS - this time to get an assign instead of the ascii portrait I mentioned in another thread. Personally I'd map plain shift-- (ie underscore) since underscores_have_no_place_in_variable_names. Similarly I'd use ordinary ^ for return on the keyboard. I really don't care whether source is readable in non-Smalltalk applications any more than it annoys me that I can't read jpegs as text. The furthest I'd be inclined to go is to use xml as a transfer encoding. tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim Hackers have kernel knowledge. |
In reply to this post by Paul D. Fernhout
Paul D. Fernhout wrote:
> Yes, yes, but the key point is: "modern meaning". > > So, for the 21st century, Squeak gets underscore *wrong*. > http://en.wikipedia.org/wiki/ASCII > > And for a dozen years. Every knows it is wrong. There was even a recent > discussion on it. It still can't be fixed! Sure it can. Croquet fixed it. Cheers, - Andreas |
In reply to this post by timrowledge
tim Rowledge wrote:
> It's exactly as hard as turning any other keystroke into any other > character in the text stream. We could use any key input from cmd-g > (which IIRC VW used to make the assign some years ago) to alt-_ to > cmd-alt-ctl-shift-meta2-RMS - this time to get an assign instead of the > ascii portrait I mentioned in another thread. Personally I'd map plain > shift-- (ie underscore) since > underscores_have_no_place_in_variable_names. Similarly I'd use ordinary > ^ for return on the keyboard. OK, yes if you know something *special* and *non-obvious* you can do it. Great for experts. But why make it the default? > I really don't care whether source is readable in non-Smalltalk > applications Most of us don't have the luxury yet of living in one system. We have to deal with multiple common standards (among the uncommon standards). ASCII is a bottom line standard for almost everyone these days, especially with UTF-8 encompassing it. Ask yourself this, would there be more Smalltalk jobs for experts if there were more novice users because a Squeak successor was easier to use and talk about and ask questions by email for newbies? And how long does it take to get to be an expert Smalltalker? Ten years? Twenty? So these new people would be little threat to current expert Squeakers' livelihoods. Then, let us conclude, like Deep Thought of Hitchhikers Guide to The Galaxy: "So long as you can keep disagreeing with each other violently enough and slagging each other off in the popular press, you can keep yourself on the gravy train for life." :-) > any more than it annoys me that I can't read jpegs as text. That annoys me. :-) Try XPM for bitmaps http://en.wikipedia.org/wiki/XPM_%28image_format%29 and BDF for fonts. :-) http://en.wikipedia.org/wiki/Glyph_Bitmap_Distribution_Format > The furthest I'd be inclined to go is to use xml as a transfer encoding. I'll repeat the classic: "You have a problem. You decide to solve it via XML. Now you have TWO problems." :-) I'd rather use Smalltalk source to define image files. :-) I did that in PataPata using Python to define a world of live objects and it was pretty neat and successful for what it did. Example: "/tags/PataPata_v204/WorldDandelionGarden.py" http://patapata.svn.sourceforge.net/viewvc/patapata/tags/PataPata_v204/WorldDandelionGarden.py?revision=315&view=markup I went a bit to far with properties and prototypes though. And Python kind of ran out of gas as far as edit-and-continue support. I think you could get a Smalltalk VM to do this generically rather than via some methods/functions I needed to add for Python. And to read in an image, you evaluate the code. I would suggest such a default format for a JVM Smalltalk. Disk space is cheap these days. So is bandwidth. Even exponentially CPU power means loading such images as the default might not be very noticeable, and how often do people load images? And they could always be cached somehow for the special case where it did matter. How much bigger would images really get, especially if they were modular, with one major application per image, perhaps referencing a shared common world of core objects, and using XPM for defining bitmaps and BDF for defining fonts. :-) Why shouldn't your image be a readable Smalltalk program for constructing a world of objects? Or to paraphrase another character or two: "Is a binary image format better, more evolveable, stronger? No! But the binary image is easier, faster, quicker. Write it as human readable source, Luke!" --Paul Fernhout |
In reply to this post by Michael van der Gulik-2
On 05/02/2008, Michael van der Gulik <[hidden email]> wrote:
> > > On Feb 5, 2008 1:54 PM, tim Rowledge <[hidden email]> wrote: > > > > > > On 4-Feb-08, at 4:40 PM, Randal L. Schwartz wrote: > > > > > > Ahh, you kids, forgetting your roots. We greybeards understand that > > > "_" is > > > actually the left arrow in the original fonts for the Xerox Parc > > > Smalltalk80 > > > Release 2 image, from which Squeak is derived (via Apple and Disney > > > and a cast > > > of thousands). That it now looks like "_" is merely an artifact of > > > applying a > > > modern meaning for slot 95 in the ASCII table. > > > > Exactly. And it's about time we used unicode properly and had the > > appropriate char for our assignment. This ':=" crap is just vile. What > > is this, Pascal? > > > > I quite like the leftwards sqiggle arrow"⇜" Unicode 21DC and RTF8 E2 > > 87 9C but even plain boring ← Leftwards Arrow unicode 2190 would be > > ok. And how about ⤴ arrow pointing rightwards then curving upwards > > unicode 2934 for return? > > > > > Sure. What button on the keyboard would it be? We could map the backspace > key because that's already got an arrow on it, but then we won't be allowed > to make any more speling mistakes. > of putting World on it's knees to bow Smalltalk :) > Gulik. > > > > -- > http://people.squeakfoundation.org/person/mikevdg > http://gulik.pbwiki.com/ > > > -- Best regards, Igor Stasenko AKA sig. |
In reply to this post by Paul D. Fernhout
> > And yes, in a new Squeak, backarrow assign should be the first thing to be > removed from the default image IMHO. :-) > > --Paul Fernhout > > Dear Paul, you are ranting. The reason this has not happened is that people are busy. I have been wanting to do this for two years and just havent had time. Since squeak is open source, if you want something doing... you are as much invited to improve things as anyone else is. In the time you have spent writing your long emails you could have tweaked the parser to enable underscores in methods and variables, AND still have it available for assignment. Some packages like Poststress/Gloop already make similar tweaks. Since you care about it so much, I look forward to seeing what you come up with cheers Keith |
In reply to this post by Andreas.Raab
Andreas Raab wrote:
> Paul D. Fernhout wrote: >> So, for the 21st century, Squeak gets underscore *wrong*. >> http://en.wikipedia.org/wiki/ASCII >> >> And for a dozen years. Every knows it is wrong. There was even a recent >> discussion on it. It still can't be fixed! > > Sure it can. Croquet fixed it. That's exactly my point. :-) Why only Croquet (or some other images)? And how does that help the average Squeaker tracking the main distribution? Something is broken here. Endless repetition of core work. Lost code. Unexpected gotchas. Unpleasant surprises for newbies. A core syntax leaving most of the community with trouble communicating by common standards (email, IRC, Web pages). In short, this is another example of a decade-long failure of defining modularity and taming complexity and tuning defaults to the novice and accommodating worldwide common standards as defaults -- even if Squeak can do so much more almost instantly in the hands of an expert. Now Squeak has many other amazing *successes*, and they are *amazing* successes (like Croquet or Seaside or eToys or Sophie or Scratch, etc.) -- but taming complexity for the average newbie (or even experienced Squeaker) is not one of them. And I don't think those successes are mutually exclusive of taming complexity. In fact, I think they are all the more startling and heroic for the untamed complexity they have overcome. But everybody is not as hard working or motivated. Should not the whole point of something like Squeak be to make us lazy people more productive (whether lazy in terms of learning key combinations, or lazy in terms of not wanting to wade through a thousand classes to find the code we just wrote, or lazy in terms of not wanting to debug stripped and restripped images endlessly to see what got stripped accidentally or what is not needed)? Why can't Squeak also be for us lazy people who are used to how the rest of the world does things, instead of sending us off to Python or Ruby or wherever? :-) --Paul Fernhout |
In reply to this post by timrowledge
On Mon, 04 Feb 2008 17:44:15 -0800, tim Rowledge <[hidden email]> wrote:
"Personally I'd map plain shift-- (ie underscore) since underscores_have_no_place_in_variable_names." [checks Bible] Well, I'll be, Exodus 4:2. "And the Lord said unto him, 'What is that in tine hand?' And he said, 'It's a rod.' And Lord said, 'No, it's not. It's an underscore. What were thou planning to doeth with that?' And Moses said, 'Smite Egyptians?' And the Lord said, 'Thou wouldst use in thine variable names? As an affront to thy Lord?'" Well, it only gets worse from there. tim further wrote: "Similarly I'd use ordinary ^ for return on the keyboard." Isn't that the way it works now? I'm pro-left-arrow because it is completely unambiguous. I'm a long time Pascal-er (sticks tongue out at Tim) and truth is, when you use the colon-equal for assign, you end up mistakenly forgetting the colon. (Same problem in reverse in C with ==.) With Pascal (unlike C or Smalltalk), it's unlikely to compile when you screw it up. But it's a common novice problem and even sneaks up on old pros from time-to-time. |
In reply to this post by Paul D. Fernhout
On Mon, 04 Feb 2008 19:12:47 -0800, Paul D. Fernhout
<[hidden email]> wrote: > if Squeak can do so much more almost instantly in the hands of an > expert. Now Squeak has many other amazing *successes*, and they are > *amazing* successes (like Croquet or Seaside or eToys or Sophie or > Scratch, etc.) -- but taming complexity for the average newbie (or even > experienced Squeaker) is not one of them. I agree but I'm not sure what that has to do with <-, though. Honestly, I've taught kids the <- and they grasp it instantly. Funny enough, when the image broke the <- and swapped it out for _, they still got it. (Threw ME off, but they were fine.) |
In reply to this post by Paul D. Fernhout
Paul D. Fernhout wrote:
> Andreas Raab wrote: >> Paul D. Fernhout wrote: >>> So, for the 21st century, Squeak gets underscore *wrong*. >>> http://en.wikipedia.org/wiki/ASCII >>> >>> And for a dozen years. Every knows it is wrong. There was even a recent >>> discussion on it. It still can't be fixed! >> Sure it can. Croquet fixed it. > > That's exactly my point. :-) Why only Croquet (or some other images)? Because you need authority to make certain changes and these changes certainly will be seen as controversial by some. And no, that's not your point as far as I can tell - unless your point is that there is no unambiguous authority for Squeak today (which I agree). Cheers, - Andreas |
In reply to this post by Paul D. Fernhout
Paul D. Fernhout wrote:
> Andreas Raab wrote: >> Paul D. Fernhout wrote: >>> So, for the 21st century, Squeak gets underscore *wrong*. >>> http://en.wikipedia.org/wiki/ASCII >>> >>> And for a dozen years. Every knows it is wrong. There was even a recent >>> discussion on it. It still can't be fixed! >> Sure it can. Croquet fixed it. > > That's exactly my point. :-) Why only Croquet (or some other images)? Because you need authority to make certain changes and these changes certainly will be seen as controversial by some. And no, that's not your point as far as I can tell - unless your point is that there is no unambiguous authority for Squeak today (with which I agree). Cheers, - Andreas |
In reply to this post by Blake-5
On 4-Feb-08, at 6:57 PM, Blake wrote: > On Mon, 04 Feb 2008 17:44:15 -0800, tim Rowledge <[hidden email]> > wrote: > > "Personally I'd map plain shift-- (ie underscore) since > underscores_have_no_place_in_variable_names." > > [checks Bible] I checked the GFSM and His Noodliness is quoted as exhorting the massed faithful to eschew underscores since they are not as tasty as overscores (and why don't have overscores? eh?) and thus worthless in His Tentacled Eyes > > > tim further wrote: "Similarly I'd use ordinary ^ for return on the > keyboard." > > Isn't that the way it works now? Well yes but I'd have it displayed as the rinky-dink curvy arrow. Just Because. > > > I'm pro-left-arrow because it is completely unambiguous. I'm a long > time Pascal-er (sticks tongue out at Tim) I'm a long time ago Pascalier and in fact wrote one of the early solid modellers in it. All I can say is yeuuuuuuch. Pascal is about as good an idea as java, but less popular. > and truth is, when you use the colon-equal for assign, you end up > mistakenly forgetting the colon. And we all know that doctor's remind us not to forget our colons. At least one friend of mine has died from that. tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim Oxymorons: Government organization |
On Mon, 04 Feb 2008 19:09:55 -0800, tim Rowledge <[hidden email]> wrote:
> I checked the GFSM and His Noodliness is quoted as exhorting the massed > faithful to eschew underscores since they are not as tasty as overscores > (and why don't have overscores? eh?) and thus worthless in His Tentacled > Eyes Oh, a heathen, eh? >> tim further wrote: "Similarly I'd use ordinary ^ for return on the >> keyboard." >> >> Isn't that the way it works now? > Well yes but I'd have it displayed as the rinky-dink curvy arrow. Just > Because. So, it's not enough for you to succeed. Everyone else must fail? >> I'm pro-left-arrow because it is completely unambiguous. I'm a long >> time Pascal-er (sticks tongue out at Tim) > > I'm a long time ago Pascalier and in fact wrote one of the early solid > modellers in it. All I can say is yeuuuuuuch. Pascal is about as good an > idea as java, but less popular. Object Pascal is probably the best of the static retrofitted-to-object languages. (OK, admittedly low bar.) >> and truth is, when you use the colon-equal for assign, you end up >> mistakenly forgetting the colon. > > And we all know that doctor's remind us not to forget our colons. At > least one friend of mine has died from that. I had a friend who forgot and ended up with a semi-colon. Which is also not good. |
On Feb 5, 2008 4:16 PM, Blake <[hidden email]> wrote:
ROFL :-). Gulik. -- http://people.squeakfoundation.org/person/mikevdg http://gulik.pbwiki.com/ |
In reply to this post by Paul D. Fernhout
> As impressive as it was for Dan Ingalls to make that version of
> Squeak, and > then Pavel to decompile the result into source, so what? What is > the license > of it all (either origins or decompiled version)? How well factored > is it? This is not clear, you're right. > Does it have nay hope to be supported by a community? Does it take > advantage > of the Java/JVM platform, including threading and multi-processor > support? > Or interoperate easily back and forth with Java libraries like > Jython can? I haven't looked at deeply, but I strongly suspect that no interaction is actually possible with Java. I am currently working on this. http://bergel.eu/athena for more info Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. |
Free forum by Nabble | Edit this page |