Hi Kyle -
It was never supposed to be underscore assignment. Originally, the
left-arrow glyph was used for assignment (and there is really nothing
wrong with that). But since the dawn of computer days, both character
sets and keyboards have changed and in most of todays fonts and
keyboards there is no left-arrow character. This led to a hack where the
underscore code point was hijacked in some of Squeak's fonts and
replaced with a left-arrow glyph. With the consequence that
a) Everything that uses underscores for its reasons suddenly looked
very, very weird inside Squeak (like GL_FOO_BAR becoming GL<-FOO<-BAR)
b) Everything that uses left-arrow assignment suddenly looked very, very
weird outside Squeak (this is really where the whole "underscore for
assignment" comes from, e.g., from a broken rendering of the left-arrow
c) Using other than the default fonts leads to major code readability
issues (not even the most die-hard left-arrow users disagree that an
underscore as an assignment operator looks just horrific)
c) People get confused all the time (one way or another) like wondering
where they find the left-arrow glyph on their keyboard etc.
Coincidentally if "every Smalltalk language tutorial you've ever seen
introduced underscore assignment first" you should check out the free
books collection at http://www.iam.unibe.ch/~ducasse/FreeBooks.html
doubt that many (if any) of those use underscore assignment; if anything
they would probably use left-arrow.
Kyle Hamilton wrote:
> I find it rather odd...
> Every Smalltalk language tutorial I've seen has introduced underscore
> assignment first, and only after that stated that := can be used as a
> Given that (and remember, please, that I am a newbie and I don't know
> the language or any of the arguments on one side or the other), why
> disable _ as an assignment operator?
> -Kyle H
> On 5/5/06, Joshua Gargus <[hidden email]
>> It's likely that SmaCC uses underscores in its code. This is
>> disabled by default in Croquet (you can see recent discussions of
>> this on both the Croquet and Squeak mailing lists). To enable the
>> use of underscores, evaluate 'Preferences enable:
>> #allowUnderscoreAssignment' in a Workspace. In the long term, it
>> would be better if package managers move away from the use of
>> underscore assignments.