Hi Shlomi,

I can certainly understand how you feel, my fingers have EMACS burned in pretty deep. I will offer you a different point of view, from the assumption that this can only help you decide what's good for you.

Squeak is indeed very different in many ways, and I agree the limited keyboard navigation is a bad one. The upside is that it is different in many ways that are good, or at least thought provoking. For example, this defective keyboard support is the downside of having its own UI framework, Morphic. One upside is that Morphic is very explorable: getting from seeing a UI element on the screen, to seeing and modifying interactively the values of that object takes about 5 mouse (sic) clicks. This illustrates one of Smalltalk's main premises, that "Everything is an object" in a way that is incomparably concrete. Sounds like a curiosity, but living in object-land for a while changes the way you think more than any particular feature of the language. Similarly novel ideas that affect you slowly: saving the image, everything including the compiler and (almost all of) the VM is written in Smalltalk, deep portability across platforms, the execution stack is made of objects...

So sure, using GNU Smalltalk will seem much more familiar, but by the very choices that make it superficially more convenient, it is made more conventional, and therefore less interesting to learn. If you decide beforehand to miss so much of what makes Smalltalk different, maybe you *would* be better served by learning Ruby...

BTW, note that the [brackets] are not equivalent to C's {braces} - they're a very concise syntax for closures (Scheme's lambda). In fact in Squeak {} actually do something very close to what they do in C: evaluate the statements in order (and then return all their returned values in an array).

On the other hand, Squeak itself is quite versatile - it has alternative UIs you can use. The same Browser that you find annoying in Morphic because it has bad keyboard support there, has also been ported to wvWindows, gtk (under heavy development) and the web browser of you choice, so don't let the surface mislead you. But better advice would be - try to learn like a child. Forget what you're used to for a while. Even the mouse has its wisdom.

And most important, whatever you do, have fun :-)

Daniel

Shlomi Fish wrote:
שלום לכולם!

לי יש בעייה אחת עם Squeak - היא לא מתנהגת כמו שאני רגיל. אני כבר מתכנת בא בימים, שרגיל לכתוב קוד. באמצעות gvim, Bash ועם קצת עזרה מפרל. מעל KDE. על לינוקס. סקו'יק היא מכונה וירטואלית, עם מערכת הפעלה וירטואלית, עם ממשק משתמש פנימי, שכולם לא תואמים למה שאני רגיל ואוהב. בנוסף לא קיימת שום אפשרות בה לערוך קובץ טקסט אחד (או מספר קבצי תוכנה) כדי לכתוב את התוכנה מההתחלה עד הסוף. כדי לעשות זאת יש צורך להשתמש בממשק המשתמש וב-Class Browser עם קליקים רבים, שאני שונא לעשות.

ניסיתי לייצא קבצים מסקוו'יק והם יוצאו כקבצים שבהם השורות נגמרות ב-\r. לא \n כמו שרגילים לכתוב ביוניקס, גם לא \r\n כמו שיש בחלונות. \r כמו במקינטוש הישן והגרוע. למה???

בקיצור בסוף התייאשתי מסקו'יק ועברתי ל-GNU Smalltalk, שלפחות רץ מעל יוניקס ומשחק יפה איתו, ואפשר לכתוב לו קוד ב-gvim. אומנם התחביר של לכתוב מחלקה חדשה הוא קצת מעוות (איזו הערה מוטרפת) אבל אפשר להסתדר איתו. אבל הצלחתי לגרום לו לקרוס... ;-)

עוד בעייה שאני מוצא ב-Smalltalk הוא שהתחביר שונה ממה שאני רגיל. למשל משתמשים בסוגריים מרובעות ([...]) במקום בסוגריים מסולסלות ({...}) בשביל בלוקים. ברור לי ש-Smalltakl נכתבה לפני ש-C וחברותיה נהיו פופולריות, אבל זה עדיין מעצבן. לא יודע, אולי אני צריך ללמוד רובי במקום.

בכבוד רב,

        שלומי פיש

On Sunday 16 July 2006 11:57, Nir Soffer wrote:
ברור שSmalltalk היא השפה המושלמת לילדים :-)

---------------------------------------------------------------------
Shlomi Fish      [EMAIL PROTECTED]
Homepage:        http://www.shlomifish.org/

Chuck Norris wrote a complete Perl 6 implementation in a day but then
destroyed all evidence with his bare hands, so no one will know his secrets.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

לענות