Welcome to the Squeak pages of Maarten Maartensz. See:  Map + Tour + Tips + Notes + News + Home


 

Squeak-subjects

 

Squeak

11. Oct 14


Updates of Squeak and updating Squeak

The current version of Squeak is 3.0, which was put together in January 2001. Since that date, there have been at least 800 improvements, some quite major ones, and the improvement continues on a daily basis, by many people - which is itself a fine example of many people, from many countries, cooperating on something serious and important.

If you move with your browser to

you'll find a link to several downloading sites where you can find the most recent Squeak for your OS, which is 3.1 alpha.

If you like Squeak, this is well worth getting. The download is about 9 MB, and you do not need a new Squeak VM, but you do need a copy of the one that comes with 3.0.

It is well worth getting because it looks nicer and is more capable than 3.0. Also, it is considerably better layed out and organized.

However, you should know your way around Squeak a little bit before trying this, for this version is a bit less stable (though I had no problems - and it helps to save our image every half hour, and to know that "Alt-." (Alt Key followed by a dot) on Windows terminates whatever loop Squeak may have gotten itself into, and does so usually unproblematically.

Another reason to download 3.1 alpha, especially if you use a standard telephone modem, like I do, is that this is an easy way to catch up with Squeak's own updating mechanism. This updating mechanism allows you from within Squeak to download all changes one by one automatically, and have them installed. It is neat, but I found it difficult to download the 800 improvements over a telephone modem.

Getting 3.1 alpha by ftp gives all 800 recent improvements in one go, and makes it easier to download the latest changes by way of Squeak's updating mechanism.

A final reason to get 3.1 alpha is that its browsers - a central and beautiful tool in Smalltalk - look better, feel better, and work better.

Oct  4, 2001

 

Squeak

12. Oct 21


More and better documentation

The basic problem of Squeak-as-is is its documentation. Some things have been happening in this respect. For one thing, Alan Kay is writing a tutorial for U.S. elementary school teachers and their pupils. When this is more or less fully done, I will mention it and link it in if possible.

Another thing I found is at

·        http://www.2001.ecoop.org/

This is a pdf-file of 1.8 MB that encomprises Andrew Blacks tutorials and summaries of Squeak basics for his students. Altogether, this is the best introduction to Squeak I've seen sofar.

If you get this, and download Ivan Tomek's "Joys of Smalltalk. pdf" that's somewhere on the VisualWorks site, and if you also download Visual Works' non-commercial version, you have the basics for getting into Squeak and Smalltalk.

However, I do want to repeat a remark I made before: By my own tastes, most of the Smalltalk introductory literature is fairly to very ludicrous due to the pronounced tendency to speak of Smalltalk objects as if they are animated creatures, that do all sorts of knowing and wanting.

Oct  21, 2001

 

Squeak

13. Oct 26-28


More and better documentation 2

Here are corrections corrections/supplemente to earlier information in these notes on Squeak:

1. The Smalltalk-80 book by Goldberg and Robson - the socalled Purple Book i.e. the Blue Book minus chapters 26-30 - CAN be gotten from computerbook stores, for it IS in print. Chapters 26-30 are interesting and available on the net: Chapters 26-30 of the Blue Book

However, if you want to spend money on a printed book that teaches Smalltalk in a clear way you are very probably better of with Simon Lewis's "The Art and Science of Smalltalk" - but I don't know whether that is in print. I hope it is - I borrowed my copy from a university library, which probably has it in your country as well.

2. The link I supplied above to Andrew Black's Squeak Tutorial, which is very helpful indeed for beginners, doesn't work (anymore), while the actual pdf file is at

This is a fine tutorial and a 1.9 MB download. It will give you a clear idea of Squeak and its potential; it is written in clear English; and it contains Andrew Greenberg's fine files on the language of Squeak and on the classes of Squeak.

I do hope this remains on line.

3. The best brief introduction to both Smalltalk and Squeak is Dan Ingall's 1981 article in Byte:  Design Principles of Smalltalk.  

One reason it is important, original and different from the motivations of other computer languages. Ingalls puts it as follows, and I add my stresses:

    Just to get warmed up, I'll start with a principle that is more social than technical and that is largely responsible for the particular bias of the Smalltalk project:

Personal Mastery: If a system is to serve the creative spirit, it must be entirely comprehensible to a single individual.

The point here is that the human potential manifests itself in individuals. To realize this potential, we must provide a medium that can be mastered by a single individual. Any barrier that exists between the user and some part of the system will eventually be a barrier to creative expression.

Now you - one human individual, with some spark of creativity - read on...:  Design Principles of Smalltalk. It's a fine article. 

4. The most useful links to the ongoing stuff in Squeak is the 

This recently added stuff by and for newbies to Squeak.

Oct  26-28, 2001

 

Squeak

14. Oct 30


Review of SqueakNews August 2001

And then SqueakNews August 2001 arrived, and a pleasant surprise it was. Here is somewhat of "an in-depth review of SqueakNews 1.2" as real "journos" probably would exclaim.

I like SqueakNews, and I hope you like the review.

 


Oct  30, 2001

 

15. Nov 4


Review of SqueakNews August 2001 - 2 

I am glad the review was read and helped some. Indeed, everybody on the internet can now see what I reviewed, and can do so free of charge, except for telephone-ticks:

This link wil point you to places where you can download the contents of first two SqueakNews CDs - that are resp. 17 and 29 MB, and so will take some time to get down to your system.

But once you have taken that trouble, you have a tweaked version of Squeak - which is itself free of charge available at

and indeed takes only 9 MB - and you can see what it looks like; what is possible with it; and how it may be explained, used, and reasoned about.

The very rapid action that allows the whole internet community to have a peep at  Squeak teaching Squeak is due to some cooperation of the Squeak developers list, and indeed shows how to go about this.

Something about levels

Part of my review is fairly critical of Tansel Ersavas's prose (not of his ideas and intentions) while explaining Squeak. This is not Tansel's fault, for he applies the metaphor under which Smalltalk 80 was presented to the world: Computing and programming conceived of and talked aout in terms of objects sending messages to objects - Object Oriented Programming, in short.

Now this is a good idea - and it is a metaphor that confuses quite a few levels that are in fact involved when one tries to program:

  • One's own mind

  • The language one uses

  • The hardware one addresses

  • The (hardwired) code that hardware runs on

  • The things - processes, events, whatever - one tries to model

  • The real innards and interdependencies of these things

One may fondly exclaim that what all these levels have in common is "objects sending messages", and perhaps that is so - on some level(s), but then it seems to me misleading on other levels, especially since "an object" and "a message" are quite different sorts of entities on these diverse levels. 

For example:  Presumably I am an "object" and this text you read is a "message" - but the computer I am using and sending my objects and messages through, although quite capable in its own ways, definitely is not the sort of "object"  that I am (it doesn't feel, it doesn't fall in love, and it doesn't dislike Windows, for example: in fact it doesn't think at all: it merely shifts pulses in an orderly way, and very rapidly), while also the sort of "message" I am writing right now is not the sort of message any computer can make sense of, by itself. 

Now I have been thinking about levels (and emergence, and related stuff) for quite a while now - indeed, here is a link to part of my own reasoning about levels (that has a lot of relevant context there).

It turns out the Squeak developers list of the last days had some interesting pointers to people reasoning like me:

This is by Michael Resnick, who is one of the developers of StarLogo, who ran into problems with thinking about "objects" and "levels" that's reminiscent of my own experiences - and indeed I programmed the sort of things he is describing myself, about 10 years ago, in Prolog. (This concerns modelling interacting creatures in a sort of ecology.)

Michael Resnick and his students do it in StarLogo, and the above link describes some of their experiences and thoughts while doing that. (I think Squeak is better for this kind of thing - but then Michael Resnick probably started StarLogo before there was a Squeak as there is now).

In any case: Tansel Ersavas' article "Juggle with Squeak!", which now you can find by way of

shows lots of interacting levels that reflect and comment on each others implicitly and explicitly, and shows how to think about and present these levels in terms of a so-called "active essay", which is another useful term due to Alan Kay, referring to how one can write essays with the help of a computer, that also shows in the essay itself a representation of what the essay is about, and how it can be reasoned about linguistically, in coding, in pictures, in diagrams etc. and is "active" in the sense that it is text + some coding to really make things clear: to help you see a working representation of the subject(s) of the essay.

Indeed, those working with Squeak will probably soon get some "authoring tools" for the writing of "active essays" in Squeak, courtesy Tansel Ersavas. I hope this will help many to write many of these, for this is in fact a new of explaining and expressing yourself, using your own mind, and powering your effectiveness as a communicator and thinker with the help of the tools running on a computer.

Nov  4, 2001

 

Squeak

16. Nov 6


A little more about levels

In the previous note, I mentioned a paper by Michael Resnick. Here is a link to a related one, explaining mostly the same topic - thinking about levels - in somewhat different terms:

  • http://www.media.mit.edu/~mres/papers/JLS/JLS-1.0.html 

It's called "Beyond the Centralized Mindset". Apparently, by "centralized mindset" Resnick understands the presumption (prejudice, assumption, habit) of trying to explain things in terms of some simple external cause(s), or in terms of leaders, designers, or seeds causing whatever apparent pattern or design one wants to explain. It's the type of thinking that reasons that things happen as and when they do "because the boss - God, the Pope, the President, the Imam - wants it". 

It's the type of reasoning that easily leads to totalitarianism and to the following of leaders, and that's rather hard to argue against because it is so simple-minded, so apparently obvious, and so much illustrated by ordinary social things and normal social thinking - where there are bosses and leaders everywhere, just as there are workers and followers everywhere in every human society, "democratic" or not, and where every child was born weak and defenseless amongst much bigger humans with much more knowledge and much more strength.

So "there is centralized government" in all things is a rather obvious generalization to make about "everything there is" for one raised in a human society - that has some form of "centralized government" everywhere, also in democracies (and schools, and universities, and clubs: ordinary men and women are mostly more like ideological rationalizing apes rather than like enlightened rational minds, if through no real fault of their own). 

Here is a quotation of a part of the summary of Resnick's article:

Areas for further investigation include:

  • Nature of the centralized mindset. This paper presents a very coarse description of the centralized mindset, arguing that people usually interpret patterns as created "by lead" or "by seed." More detailed and more textured models are needed. What are the "knowledge fragments" (diSessa, 1988) that underlie the centralized mindset? How are different fragments mobilized in different contexts?

  • Origins of the centralized mindset. This paper points to several possible reasons for the strength and pervasiveness of the centralized mindset--most notably, the dominant metaphor of the singular self. Future research should examine how the centralized mindset differs from one person to another. What accounts for the differences? Culture? Gender? Scientific background? Particular life experiences?

  • Paths toward decentralized thinking. The "guiding heuristics" discussed in section 5 serve as milestones in the development of decentralized thinking. But what conceptual shifts are necessary for people to develop these heuristics? What are the obstacles to making these shifts? How can students build on, refine, and reorganize their prior understandings and intuitions?

  • Relation to learning theories. This paper focuses specifically on ways that students think about complex systems, but the tension between centralization and decentralization arises in all types of reasoning, design, and problem solving. What are the implications of the centralized mindset for understanding, reasoning, and learning in general?

  • Better computational tools. StarLogo is just a beginning. We need better tools for visualizing and manipulating decentralized interactions, and for enabling multiple students to collaboratively construct and explore decentralized models. One direction for future development: use the decentralized framework of the Internet as a setting for explorations into decentralized behavior.

  • Integration of centralization and decentralization. This paper sometimes creates a simple dichotomy between centralization and decentralization. It does so to highlight the fact that decentralized approaches have been undervalued and overlooked in the past. Ultimately, we need to develop tools and theories that avoid this simple dichotomy. Instead, we need to find ways of integrating the two approaches, drawing on the advantages of each.

However, I am not much impressed with these points. Also, the paper oozes a little too much Political Correctness for my tastes, and is too simple-minded.

Indeed, I have a fairly simple and cynical explanation for "the centralized mindset": 

In general: Lack of intellectual brightness - to see further than in terms analogies derived from of the dominant social metaphor (leaders and led) one is in fact educated with.

Specifically: Too little exposure to especially probabilistic thinking. And here I have an excellent tip for anybody concerned with mathematics and probability: E.W. Adams "Probability Logic" - which is a recent, original introduction to probabilistic thinking that requires no higher mathematics and is very well done.

Also, I like to make a point that relates to my first explanation of Resnick's problematic findings. It is in fact related to morals and has a lot to do with Piaget, for it is the so-called Piaget-Kohlberg theory of moral stages. I quote from Hilgard, Atkinson & Atkinson's "Introduction to Psychology":

--- begin quotation (my stresses)

Stages in the development of moral values

LEVELS AND STAGES

ILLUSTRATIVE BEHAVIOR

Level I. Premoral

1. Punishment and obedience orientation

Obeys rules in order to avoid punishment

2. Naive instrumental hedonism

Conforms to obtain rewards, to have favors returned.

Level II. Morality of conventional role-conformity

3. "Good-boy" morality of maintaining good relations, approval of others.

Conforms to avoid disapproval, maintaining good relations, dislike by others.

4. Authority maintaining morality.

Conforms to avoid censure by legitimate authorities, with resultant guilt

Level III. Morality of self-accepted moral principles

5. Morality of contract, of individual rights, and of democratically accepted law.

Conforms to maintain the respect of the impartial spectator judging in terms of community welfare.

6. Morality of individual principles and conscience.

Conforms to avoid self-condemnation.



"Kohlberg's studies indicate that the moral judgments of children who are seven and younger are predominantly at Level I - actions are evaluated in terms of whether they avoid punishment or lead to rewards. By age 13, a majority of the moral dilemmas are resolved at Level II - actions are evaluated in terms of maintaining a good image in the eyes of other people. This is the level of conventional morality. In the first stage at this level (Stage 3) one seeks approval by being "nice"; this orientation expands in the next stage (Stage 4) to include "doing one's duty", showing respect for authority, and conforming to the social order in which one is raised. According to Kohlberg, many individuals never progress beyond Level II. He sees the stages of moral development as closely tied to Piaget's stages of cognitive development, and only if a person has achieved the later stages of formal operational thought is he capable of the kind of abstract thinking necessary for postconventional morality at Level III. The highest stage of moral development (Level III, stage 6) requires formulating abstract ethical principles and conforming to them to avoid self-condemnation. Kohlberg reports that less than 10 percent of his subjects over age 16 show (...) a kind of "clear-principled" Stage 6 thinking (...)" "Kohlberg describes the child as a "moral philosopher" who develops moral standards of his own; these standards do not necessarily come from parents or peers but emerge from the cognitive interaction of the child with his social environment. Movement from one stage to the next involves an internal cognitive reorganization rater than a simple acquisition of the moral concepts prevalent in his culture."

"Kohlberg claims that moral thought and moral action are closely related. For proof he cites a study in which college students were given an opportunity to cheat on a test. Only 11 percent of those who reached Level III on the moral dilemmas test cheated. In contrast, 42 percent of the students at the lower levels of moral judgement cheated (...)".

--- end quotation (my stresses)

For those strongly believing in the rapid enlightenment of all, or in the natural goodness of all men (and women, and children, and pets, and Politically Correct Educators) the quotation - from a standard university introduction to psychology - may come as a shock.

For those who know more atrocities in human history than they like to remember, from the Shoah through the Inquisition through the Decline and Fall of Rome (beautifully described by Gibbon) to the 80 years of Pelopponesian War, that ruined the glory that was Ancient Athens (beautifully described by Thucydides), the above may come as a little pointer about some of the possible reasons why.

Indeed, it has much to do with the inability or unwillingness to adopt another person's possible point of view, and it has much to do with never growing up beyond the absurdity of egocentrism.

Nov  6, 2001

 

Squeak

17. Nov 14


Some introductory documentation by Alan Kay

Earlier in these notes I mentioned Alan Kay was writing an introduction to Squeak for American schoolteachers of elementary school and their pupils. It is partially finished, and here is the link:

  • http://Squeakland.org:8080/super/208

These are a quite clear set of step-by-step instructions how make a drawing of a car in Squeak and attach code to it so that it can move around the screen.

Incidentally, for those new to Squeak: To use this documentation in Squeak, do the following: 

(1) download the above file
(2) Inside Squeak Open a Filelist
(3) Find the downloaded file in it
(4) Load it in a browser inside Squeak

and you have inside Squeak a step by step docmentation that very clearly explains things.

A popular misconception of programming, Prolog and Smalltalk

One of the monthly computer magazines I read is the English PC Plus, which is a bit less inane than most computer magazines these days and that comes with CDs with lots of interesting programs. (For example, about half a year ago it had VisualWorks 5.3 nc including its pdf-documentation - which is a huge download over the telephone.)

PC Plus runs a monthly column by Huw Collingbourne, called "Rants and Raves", which has the merit of being fairly decently written. In #184 of PC Plus, nominally of "December 2001", I read the following in Collingbourne's  column:

"Back in  the 1970s and 1980s, programming is where it all was happening, Back then, the future direction of computer programming was up for grabs. New ideas were springing up all over the place.

   Take the Prolog language. This introduced 'logic' programming for artificial intelligence. To some people, it seemed that this was going to be the way everyone would program one day. Well, if so, that day is a long time coming. Then there was Smalltalk. This had the first completely integrated graphical development environment for object orientation. Hardly anyone programs in Smalltalk these days but its innovative user-interface have been ruthlessly copied. In short, without Smalltalk there would be no Windows. (...)

   These days, there is nothing new in programming. Delphi and Visual Basic could hardly be called revolutionary. Languages such as C++,  Java and C# do little more than tinker around the edges of C. Each of tem has its pluses and minuses but, ultimately, they are nothing to get excited about."

Well... I will not propose this quote as a game of "spot the many errors". It so happens that I know Prolog quite well and have programmed a lot in it (mostly indeed not "'logic' programming for artificial intelligence") and it so happens this part of my site is given to the most recent incarnation of Smalltalk, which is Squeak, and that it seems a bit odd if not unfamiliar for me to belong to "Hardly anyone".

What concerns me most in the quoted passage from a well-known computer journalist, who even knows how to program (in Delphi), are the odd notions that "These days, there is nothing new in programming."  and that programming languages "are nothing to get excited about."

Obviously, if all you care for is widget-clicking, e-mail sending, and game-playing, the real power and potential of a computer - these days in the 1 Mhz processor range with 512 Mb memory as more or less standard option - is not for you, and MicroSoft may be happy to serve your needs for pay.

If you are really interested in using and developing your own mind, then clearly you will be much excited about the basic tools with which computers are made to do things: programming languages.  

It is simply about as fundamental misconception about computers to regard programming languages as unimportant as it is about human beings to believe their language is unimportant.

For intelligent people, programming is always interesting and exciting, for intelligent people want to understand computers and are always interested in how to communicate with them.

And in fact, these days there is quite a lot that is new in programming, such as Perl, Python and Squeak. 

An alternative set of metaphors for programming in Smalltalk

In these notes I have several times commented on my unhappiness with the Standard Received Version of presenting Smalltalk and talking about Smalltalk. (See
Index of Squeak notes).

Also, I have summarized my own views on this type of language in my Review of SqueakNews (especially in my reviewes of articles 5, 6 and 8).

So here is first another way of thinking about what Squeak and Smalltalk offer in their basic System Browsers, and second a new set of principles for programming languages like Squeak.

I offer both sets of remarks in a tentative mood, but also based on 14 years of programming (in other languages than Smalltalk) and some 30 years of reading and thinking about mathematical logic, analytical philosophy and cognitive psychology, which are three disciplines that informed much of the opinions about Squeak and Smalltalk that I expressed earlier in these notes.

I. On what the Smalltalk System Browsers show

In the Standard Received Version these are all "objects" presented over 5 main windows, which I will call Categories, Classes, Protocols, Methods and Code. Each of these windows in fact is an editor that show text.

In my terms, these five windows show the following:

Categories

Index of names of collections of classes - alphabetical

Classes

Classes of programs 

Protocols 

Index of names of subsets of programs of that class 

Methods

Programs of the class 

Code

Program

The main items are in fact the Classes, Methods and Code windows, for the other two are merely indexes to make the items in these three windows tractable for human users.

The Classes are in fact what Smalltalk calls "objects" but that I obstinately want to consider named sets of programs intended for a specific purpose (covered by its name).

And in my terms, the following sort of defined identities hold:

Classes 

=def named sets of programs

instances

=def set of named programs

object

=def base-class for all programs

And the basic principle should be: Everything that can be identified (named, selected) by means of a computer can be explained and programmed by it.

Classes have instances, which are names, which can be assigned values by programs.  By making a new instance of a class Pi := {pi1,..,pin} the names P'i and p'in..p'in are put in memory as compiled code ready to run when the name and parameters are supplied. Evaluating p'ij is executing that code to produce p*ij. I.e. p'ij := p*ij by executing i.e. evaluating p'ij i.e. binding its variables and processing it.

And to run a program a new instance of its class must be loaded into memory, which is garbage-collected if unused. (I.e. the general idea is: Make new, execute, store value as assignment, forget about rest, for it wiill soon be removed if unused.)

II. A new set of principles for programming languages like Squeak.

It follows from the above remarks and the rest of the notes this text is part of that I am not impressed nor converted by the metaphor of "Object Oriented Programming".

And here is a sketch of another set of principles: POP = People Oriented Programming, that covers essentially the following:

  • Full explanations of everything: 
       
    Everything that can be identified by means of the computer (named, slected) is explained by the programming environment

  • Full source of everything: 
      
    The programming environment is completely open source and completely given to the user, in the way language, mathematics and music are given to people by people

  • Full access to processor and memory: 
      
    The programming environment extends the powers of the underlying processor by a VM (Virtual Machine) + loaded image 

  • Full freedom for the immediate changing of everything:
      
    The programming language is fundamentally interpreted, for immediate debugging of any piece of code and the possible changing of all or anything it does 

  • Everything identifiable is programmable and explainable:
       Everything that can be identified (named, selected) by means of a computer can be programmed in the language and explained in the environment

  • Everything computers can do can be programmed in the language:
       There are programs and explanations for all important aspects of computing (text, mathematics, graphics, sound, internet)

  • Programming languages must be free like language is free:
       Something that is as fundamentally important as a programming language belongs to mankind, and should be developed and maintained by all people and especially by academics; programming languages should not be the property of corporate enterprises.

This list of basic principles about programming languages and programming environments seems to me to be conceptually much clearer than the usual story. (Incidentally, the (Smalltalk-)image is less essential than the VM, which is an extension of the capacities the processor has, and is also there to give the programming language more power and greater ease of use, which is of very great importance.)

Also, in this approach the following holds: 

  • it makes the basic problem of computing consist in the communication between men and machines; 

  • it makes the basic task of computing to make this communication with computers as easy as is possible for people; and 

  • it makes computers into tools for thinking.

The above is a list of properties that shows why something like Squeak is and can be pretty unique and different and shows what POP - People Oriented Programming - is about:

Apart from Squeak hardly any program or programming environment has full explanations, full source, full access to the processor, immediate changing and inspecting of any code it runs, and programs and explanations for all fundamental things open to computing. 

In fact the standard commercial approach to computing, which conveniently and aptly may be abbreviated as COP (= Commercially Oriented Programming,  based on secret and compiled code that must be bought or hired)
  is the opposite. What COP is about is this:

Partial explanations; no source; no access to the processor except in an OS- and executable-limited way; no right to inspect or change the code; and only task-specific programs and explanations, which must be paid for in cash, and are always secretive about their mode of operation and actual contents in terms of code and processing power.

So what I call COP = Commercially Oriented Programming is clearly oriented around computing as a way to make money from programming - which may be done in an honorable way, for respectable reasons, but which always will saddle the buyers with software they must take on trust, and can neither inspect nor alter nor fully understand, and which will always saddle the users with hidden and secretive powers over and accesses to their private information, given to powerful private enterprises about whom the buyers or hirers of the commercial secretive software have themselves no effective control whatsoever.

The COP approach to programming is about making money - in an essentially secretive way.

Finally, POP is clearly is oriented around computing as a human activity like talking and reckoning - which are the basis of human civilization, and should come for free in the hands of every human being, simply as an individual human right and as the basis of scientific, technological and social progress. 

The POP approach to programming is about making civilization - in an essentially open way.

I think these principles are clearer than is OOP in terms of basic terms to think about computing and programming, and are so in quite a few respects. Also, the abbreviations found and their explanations have a certain fittingness and justness - or so it would seem to me. (I do believe there is ethically decent commercial computing, but I also think it does not bear the name of MicroSoft. Similarly, there is ethically decent private enterprise, but rarely by monopolies and oligopolies.)

Also, from my point of view, OOP in programming practice does come down to the having access to classes of programs that are precompiled and only need their parameters fixed - think of the "property-lists" Delphi shows - and see On what the Smalltalk System Browsers show.

One of the things that is part of the above notion is a FAR more extended use of - say - the F1-key to pop up help in the form of a menu-list of the possibilities in the context plus comments (help-balloons, say, in the Squeak-way) of these list, and an option to a more comprehensive help. (Namely, a full User Manual that explains all of the environment and the language.)

And the basic OOP-dogma ("Everything is an object") gets into POP as

  • Everything identifiable is programmable and explainable:
       Everything that can be identified (named, selected) by means of a computer can be programmed in the language and explained in the environment.

This fits in quite well with Morphic in Squeak (Squeak's extenstion of Smalltalk) which makes parts of the screen "objects" to which one can attach code - which indeed are much better named as "morphs" than as "objects".

In fact I want to altogether avoid the name "object" (as common and as used in OOP), because it is too general and common a term that makes it almost inescapable to confuse levels (especially: speaking of things modelled as if they are and have the properties of the programs that attempt to model them, speaking as if programs are animated creatures; and speaking as if code in a human mind is and means and does the same as code in a working computer).

Also, for one like me - which includes my background knowledge and programming experiences -
the present approach sheds a considerable amount of light on what the Smalltalk system browser shows, while the OOP-style of expression - as exemplified by Goldberger and Robson's "Smalltalk 80" - gets me in the most neo-positivist of anti-Heidegger moods (as one may infer from my review). 

And indeed, my reaction to OOP is the reaction of someone qualified in mathematical logic, analytical philosophy and cognitive psychology - and while nobody is perfect because of his knowledge, certainly this doesn't make those who don't have the knowledge more fit to judge what the knowledge is about. 

Those who don't have my background and think I am mistaken - as I may well be - should ask themselves why a text like "Smalltalk 80" has not become a classic in logic, philosophy or cognitive or educational psychology. I think the main reason is that while Smalltalk is a great programming environment and language, the metaphors used to describe and explain it are fundamentally misleading and are the source of much unclear writing and thinking about Smalltalk.

Nov  14, 2001

 

Squeak

18. Nov 19

 

User Manual part 1 version 0


After the technicalities of the previous note, I decided it was high time to do something about Squeak's documentation, and the need to have a User Manual for Squeak inside Squeak.

Here is version 0 of part 1 of it - where you have to realize for the text that follows it is presumed you are in fact reading it in Squeak. There will soon be a version of the User Manual available for Squeak.

Here is a link to the file

Nov  19, 2001

 

Squeak

19. Nov 27

 

Recent Squeak updates


The User Manual Part 1 mentioned in the previous note is quietly being updated and improved, with corrections from others and myself.

Meanwhile, there are some very nice new updates (for Squeak 3.2alpha!), such as JPEG-movies and a very nice-looking game of chess, of course with all the source, hence improvable by anyone who cares. (This is a hundred times better as is than commercial programs sold some years ago - AND with all the source! Chess-lovers of all countries, Unite and Improve!) 

Personally, I believe SqueakCentral - the main developers - could produce a quite stunning presentation for Squeak 3.2, that shows off Squeak-as-is in a way that should even make the dimmest wit see and understand that in Squeak MUCH more is beautifully possible than in any other system running on a PC.

Nov  27, 2001

 

Squeak

20. Nov 30

 

A little more on recent Squeak updates

It turns out that the easiest way to update is - as should be - by way of the central Squeak site. There I also got the most recent 3.2(alpha) mentioned above. Here is that very important internet address once more:

Incidentally, this latest download also solved some recent problems I had with my running Squeak-versions: A failure to save the image except for 64 bytes, and a failure to react to some mouse-clicks on the buttons in halos. (This shows one has to be somewhat careful in making backups of stuff one doesn't want to loose.)

Next, it seems as if the next "officially released version of Squeak will indeed be 3.2 (skipping 3.1). There are some 1200 new "official additions" to version 3.0, where "official" in both cases refers to the decision of squeak.org to include these in the released image.

Finally, one of the pleasant surprises with my current version - Squeak 3.2alpha #4566 - is that I got the Whisker browser going again in it, thanks to a changeset by Whisker's programmer, Doug Way. You can find all you need at 

I find this browser a lot more pleasant for learning the Squeak Programming Language than the standard System Browser - which one can also use.

 

-> Third series of notes


Maarten Maartensz
Nov  30, 2001
Amsterdam

 


Welcome to the Squeak pages of Maarten Maartensz. See:  Map + Tour + Tips + Notes + News + Home