Speaking both as a Squeaker of sorts and as a techno-journalist who has chosen not yet to discuss much about Squeak publicly yet, I can tell you that there is pent-up demand out there for information about any language that will solve real-world problems faced by the people building the Internet and the Web.
I mentioned Squeak almost in passing on my "Project Heresy" radio show at CNET Radio a few weeks ago and was literally inundated with requests for followup information. I positioned Squeak as a viable platform-independent development language with a graphical interface that had the promise of making Linux more viable as a deplooyment platform.
I've talked with the Squeak team once or twice about doing a column or a feature about Squeak and the Web/Internet but they feel -- and I agree -- that we're not yet ready for prime time attention. But I have to tell you, the itch gets stronger all the time.
"Andrew C. Greenberg" wrote:
What I'm concerned will happen is that sixteen zillion Java programmers will see this and think, "Kewl! A new way to do <applets/beans/whatever>!!". They'll flood the Squeak servers with downloads, will get turned off when it doesn't look-and-feel like C or VB, has no "sandbox" (litter box? :-), doesn't do <applets/beans/whatever>, doesn't "interoperate" with Java/VBScript/whatever, and the next article written will be titled "Squeak Fails To Live Up To Promise". <sigh> Journalists...
Fear not -- this is the virtue of open source -- if it isn't what they want, its their fault for not making it so. As a CS/hacker sophisticate, yet Softalk newbie, I shared these urges/instincts, but owing to my general deference, thought I'd study the matter for awhile before making such overarching attempts to inject an unstudied aesthetic into a clearly well-developed culture.
But trust me, more ideas are better -- even if they are bad ideas. That's the whole notion of the Bazaar. The bad ideas will die out, and the good ones -- including those synthetic "make this more like that" ideas that aren't bad ideas will evolve into the "next great thing."
Have faith -- there are great minds out there, and Squeak is for everyone.
BTW, the Wired piece also made the Reuters wire service: See http://dailynews.yahoo.com/headlines/wr/story.html?s=v/nm/19981217/wr/langua... ..html
At 11:19 PM -0800 12/22/98, Dan Shafer wrote:
I mentioned Squeak almost in passing on my "Project Heresy" radio show at CNET Radio a few weeks ago and was literally inundated with requests for followup information. I positioned Squeak as a viable platform-independent development language with a graphical interface that had the promise of making Linux more viable as a deplooyment platform.
I've been surprised that most of the mainstream discussion of Squeak has focussed on the small-image/low-level-kernel aspects. There's been little mention of the wonderful IDE, all the great media support, etc.
I've talked with the Squeak team once or twice about doing a column or a feature about Squeak and the Web/Internet but they feel -- and I agree -- that we're not yet ready for prime time attention. But I have to tell you, the itch gets stronger all the time.
What is the sense for when things will be ready for prime time? What is needed first? I'm working on a book using Squeak, as I know that others are too. I'd appreciate the advice of those who are more knowledgeable about such things than I -- is it too early to do a Squeak book?
Thanks! Mark
-------------------------- Mark Guzdial : Georgia Tech : College of Computing : Atlanta, GA 30332-0280 (404) 894-5618 : Fax (404) 894-0673 : guzdial@cc.gatech.edu http://www.cc.gatech.edu/gvu/people/Faculty/Mark.Guzdial.html
Mark Guzdial wrote:
about such things than I -- is it too early to do a Squeak book?
No! Not at all. I turn people on to squeak left and right, but can only do it so quickly because they find it hard to believe and I have to show them myself. I guess they're inundated with the 'better than sliced bread' hype that they don't believe it when it's true. <g> If I had a book I could hand them, written not just for smalltalk but for squeak. . .. .
- Joshua (lux) Sorting out my life. . . in O(n lg n).
Joshua Marker lux@umich.edu wrote:
No! Not at all. I turn people on to squeak left and right, but can only do it so quickly because they find it hard to believe and I have to show them myself. I guess they're inundated with the 'better than sliced bread' hype that they don't believe it when it's true. <g> If I had a book I could hand them, written not just for smalltalk but for squeak.
Is there a significant difference?
Steve
Is there a significant difference?
Steve
Depending on what exactly you want the book to do. The syntax is not an issue, but squeak is a very large system - daunting for someone used to the murky STL or Java or nothing at all.
SmallTalk is a blast, but what gets (most) people initially hooked is the kit - the stuff that's there. Then they want to change something and find out how much more natural an interactive, dynamic environment is. It's quite a mindshift for people used to C or C?? [sic]. Something tailored toward helping competent programmers make the transition while subtly pointing out some of the really rich OO theory would be invaluable.
Joshua Marker lux@umich.edu wrote:
SmallTalk is a blast, but what gets (most) people initially hooked is the kit - the stuff that's there. Then they want to change something and find out how much more natural an interactive, dynamic environment is. It's quite a mindshift for people used to C or C?? [sic]. Something tailored toward helping competent programmers make the transition while subtly pointing out some of the really rich OO theory would be invaluable.
How about a tutorial on Squeak from within Squeak on online on the web? A piece of static media like a book seems inappropriate for a such a dynamic system, doesn't it?
Steve
One of Mark Guzdial's students created a Squeak API swiki. It could be a good start for a "Squeak in a Nutshell" book. I agree that it would be best to have an online (semi)dynamic reference to reflect the most up-to-date state of the system.
There are other beginnings, such as a number of Morphic references (most of which cover essentially the same topics, though) that could be combined with specific examples, downloadable code, to provide a fairly robust tutoring system. One software company's products were praised for a comprehensive help system with (most importantly) examples.
Finally, there is SqueakDoc, which covers a lot of areas, but may need some editing for consistency (to be considered a "book"). http://minnow.cc.gatech.edu/squeakdoc
So maybe the SqueakDoc should become the starting/continuation point?
Bolot
How about a tutorial on Squeak from within Squeak on online on the web? A piece of static media like a book seems inappropriate for a such a dynamic system, doesn't it?
It would be nice - I'm all for such a system, particularly context-aware examples. I do think that it is a perfect match for such a system, and is closest to a live-in tutor if it's designed well. However, I still think there is a place for a pile of well-painted dead trees. I can't take (well, most people can't) a squeak-capable box with them in a cab, to lunch, etc. Too, I can't get people who don't already have squeak to try a tutorial in squeak.
[Ed. note: Just saw the Squeak Pages for the first time. It's so easy to miss such great resources! ]
The system is dynamic, but some parts of it don't change (as quickly) and they're the parts that make up the necessary bootstrap. They could tolerate being put in a book that had pointers to the moving-target information that wouldn't survive press.
FWIW, there was a time when I would have walked over bodies to get a few pages of overview/tutorial in theory of morphic (which I eventually discovered).
Squeak Pearls? BTW, I'm thinking of setting up (when I get my copy of WebObjects, someday. . . ) a code-sample database. Ideally, with examples in multiple languages linked to each other. Is any such beast extant?
How about a tutorial on Squeak from within Squeak on online on the web? A piece of static media like a book seems inappropriate for a such a dynamic system, doesn't it?
I think, it's not about media but about what and how to explain. Yes, one kind of media might be better suited as another, but my point is that the best interactive multimedia show which is poorly written can't compete with a good book. Therefore, I don't see books as inappropriate.
IMHO the Smalltalk system is very difficult to learn. For one reason this is because it's so different to all other languages, people might already know. But the main problem is that you must understand the full picture before you can start. This is a big disadvantage compared to other languages. Once you got it right, it's a very powerful environment but until then, people might give up.
Python is as powerful as Smalltalk (when comparing OO abstraction, meta-programming and so on) but it's still know as a language that is easy to learn. Why I tried to understand. My explaination is that you can start working with Python right after you've learned how the usual condition and control flow operations are written in Python. In Smalltalk, by contrast, you've to understand objects, blocks (!), inheritance, the browser, how to create an object, how to create a method, how to call a method, that there's no main function and so on. Smalltalk forces object-orientation, Python just offers it. In many cases, this is better, for example because often people "test" new languages by coding their favorite algorithm. It it looks totally strange or if they fail, they'll never consider this language again.
A good book with good explanations surely help. Polishing the Smalltalk environment can also help. Not only for beginners, a special browser that shows only a core set of classes and methods would be helpful. A console window which allows to evaluate expressions without doIt menu but just by pressing return would be also useful. The browser needs wizards to create classes and methods. Then the debugger: Stepping by menu is a pain (we need buttons here). Stepping over and in blocks also. I think, Microsoft's and Inprise's IDE's show how a debugger should look like. Where are real break points?
If you target Smalltalk to children, don't forget that english isn't the native language of all children, what means, it would be good if the enviroment had national language support (including class and method comments!). Allowing what you'd probably call "special letters" in selectors would also a nice thing. Removing umlauts from my alphabet is like I'd force you to use "uu" instead of "w" :-)
One last point. Not all people see a language and a programming enviroment just as a playground. Some people actually want to create applications. Support for this is still non-existant. A book should focus on this, for example how to create a simple break out game so something similar, but it can only focus on this, after support for parceling/stripping/packaging/etc has need added to the system.
Happy New Year bye -- Stefan Matthias Aust // Are you ready to discover the twilight zone?
In my opinion, we need lots of different kinds of things. Alan has said that he'd like to see a large corpus of new media things, and Dan has mentioned how Squeak could be used to teach a wide variety of things, not just CS and math. There's going to be a need for "books" in a variety of styles, media, and subject matters, I think.
Mark
-------------------------- Mark Guzdial : Georgia Tech : College of Computing : Atlanta, GA 30332-0280 (404) 894-5618 : Fax (404) 894-0673 : guzdial@cc.gatech.edu http://www.cc.gatech.edu/gvu/people/Faculty/Mark.Guzdial.html
Joshua Marker lux@umich.edu wrote:
No! Not at all. I turn people on to squeak left and right, but can only do it so quickly because they find it hard to believe and I have to show them myself. I guess they're inundated with the 'better than sliced bread' hype that they don't believe it when it's true. <g> If I had a book I could hand them, written not just for smalltalk but for squeak.
Is there a significant difference?
There are some pretty substantial differences. Speaking as someone who was but is not presently a practicing programmer (I'm an IP lawyer), and as someone who has not seen the Smalltalk-80 books since graduate school in 82 and 83 but dusted them off to play with Squeak, I would love to have seen more squeak-specific documentation.
There are substantial differences in the BitBlt's, and of course, Morphic. But the key difference is that window-based user interfaces are not so brand new anymore -- much of the prose in the books is dedicated to teaching smart people the essentials of a GUI, which even my Mom understands as I write this.
Don't get me wrong -- Squeak and Smalltalk-80 are truly wonderful pieces of technology, at the same time old and hoary, hence mature, yet modern and full of promise as though it were just invented. It is a tribute to the folks at PARC that the system, derived so closely from the original, is as powerful and useful today in its present incarnation as it is. Its been nearly 20 years! Compare with other languages of that era. "Back to the Future" was a tremendously apt title for the Squeak white paper.
Nevertheless, a more "intermediate" reference, devoted to this modern view of Smalltalk would have been interesting and helpful to me. I didn't NEED a book to learn Squeak or Python, but the Smalltalk-80 books and O'Riley books, respectively on those languages was very helpful to getting up the learning curve quickly. Moreover, it would have saved me a lot of time to have had a simple reference to Morphic and the other deltas between the Smalltalk-80 books and Squeak-98.
That path would have be substantially less steep with a more modern exposition of the language and the system.
-----Original Message----- From: Joshua Marker [mailto:lux@umich.edu] Sent: Wednesday, December 30, 1998 10:36 AM
No! Not at all. I turn people on to squeak left and right, but can only do it so quickly because they find it hard to believe and I have to show them myself. I guess they're inundated with the 'better than sliced bread' hype that they don't believe it when it's true. <g> If I had a book I could hand them, written not just for smalltalk but for squeak. . . .
Some thoughts on Squeak tutorials..
I am, of course, hardly an expert on Squeak. One format that I really like is that used in by Matthias Felleisen, Daniel P. Friedman in their books about recursive programming "The Little Ml-er," and "The Little Schemer". The books are set up as a dialog between a tutor and student. The tutor asks a series of questions and suggests exercises that build up a collection of program fragments. In the process the student (and the reader) makes some very interesting discoveries about recursive data structures, functions, and so on.
There are several advantages to such a format: 1. It maintains an informal and personal tone; 2. The reader can try each of the examples or read the student's answers and work on only the more challenging exercises; 3. It provides a nice format for introducing deeper issues of software design and meaning in addition to programming language syntax and semantics; and 4. It provides a nice format for exploring the experience of programming, including common pitfalls and misconceptions.
The other thing that would be important is to avoid the mind-deadening examples that often find their way in to most programming language tutorials. (Financial record-keeping anyone?) There are really interesting issues, both in the language design and in quite a number of application areas. The key thing would be to come up with a collection of graduated examples that are really exciting and model new techniques and approaches to programming and simulation.
Learning Squeak may involve more than figuring to use a new programming environment:
* Learning Squeak can be a way of learning to take control of part of one's information environment.
* Learning Squeak can be a way of entering in to the larger discourse about the nature of human thought and its relationship to simulation and language and logic. (And that dialog touches on a number of other fascinating discussions about the nature of perception and belief, cultural transmission and learning, the relationship between human societies and nature, and so on.)
I would love to see tutorials that would not only teach programming but also empower learners to create their own information space(s). I would also like to see tutorials that could be used as a springboard to help people full participant in that larger conversation about programming, language, etc.
Such tutorials might take the form of a library of interesting programs with explanations (and an annotated dialog relating the choices made by the designer.) Perhaps some parts of such a tutorial could be built out of an annotated (and edited) change log?
Mark Guzdial wrote:
At 11:19 PM -0800 12/22/98, Dan Shafer wrote:
I mentioned Squeak almost in passing on my "Project Heresy" radio show at CNET Radio a few weeks ago and was literally inundated with requests for followup information. I positioned Squeak as a viable platform-independent development language with a graphical interface that had the promise of making Linux more viable as a deplooyment platform.
I've been surprised that most of the mainstream discussion of Squeak has focussed on the small-image/low-level-kernel aspects. There's been little mention of the wonderful IDE, all the great media support, etc.
I agree. My primary focus at CNET Builder.com is on the Web/net-related stuff but I really appreciate the even higher-level stuff you mention. Morphic is just awesome.
I've talked with the Squeak team once or twice about doing a column or a feature about Squeak and the Web/Internet but they feel -- and I agree -- that we're not yet ready for prime time attention. But I have to tell you, the itch gets stronger all the time.
What is the sense for when things will be ready for prime time? What is needed first? I'm working on a book using Squeak, as I know that others are too. I'd appreciate the advice of those who are more knowledgeable about such things than I -- is it too early to do a Squeak book?
I don't know. Ted and Dan and others are the ones who get to call that shot. I just don't want to write a column about the coolness and _potential_ of Squeak until we as a community are ready for the influx of interest such a column -- and its pickup by others -- could generate. We don't want people to show up, take a look, fail to get it, and go away grumbling.
As soon as the Squeak team say they think we're ready, I'm ready.
Thanks! Mark
Mark Guzdial : Georgia Tech : College of Computing : Atlanta, GA 30332-0280 (404) 894-5618 : Fax (404) 894-0673 : guzdial@cc.gatech.edu http://www.cc.gatech.edu/gvu/people/Faculty/Mark.Guzdial.html
squeak-dev@lists.squeakfoundation.org