Posted by
Ben Coman on
Aug 08, 2014; 2:53am
URL: https://forum.world.st/Two-Questions-from-a-Newbie-tp4772384p4772406.html
kilon alios wrote:
Fortunately Smalltalk is a never ending journey into
the land of weirdness and Pharo is its champion. Pharo is by far the
most actively developed open source Smalltalk out there. Most likely
more actively developed than the commercial ones too. So the overlap is
pretty minimum actually.
Smalltalk is not a programming language. Its a live coding
environment that has also a very minimalistic language. Yeap
documentation is a big problem in Pharo. I was complaining about it a
few days ago. However people here are very helpful and very friendly to
newcomers (unlike other programming languages ) and stackoverflow
questions never go unanswered so you are not alone and people can help
a lot. So its not that bad. Also there is already a lot of
documentation about Pharo. Pharo for The Enterprise , Pharo By Example
and Deep Into Pharo should keep you occupied for months if not years.
As a newcomer its important to keep an open mind, Pharo is
actually easy to learn but unlike other programming languages is not
the same thing repackaged diffirently . Its quite diffirent actually
and I think that is what makes it so productive and fun.
In any case the secret of learning is very simple ... ask and
you shall receive ;)
Oh and welcome to Pharo .And remember if you are not having fun
then its a Pharo bug and you should report it ;D
*grin* I like that a lot. It made me laugh. It almost would go well on
the web site somewhere.
I guess you are referring to Pharo By Example. I strongly recommend
that use the Pharo Image that was used when the book was written, so
that the screen shots match.
http://pharobyexample.org/image/PBE-OneClick-1.1.app.zip
kilon is kindly putting effort into updating PBE to Pharo 3 but I'm not
sure of the status.
https://github.com/SquareBracketAssociates/UpdatedPharoByExample
You might also ask why there are several different C programming
environments - gcc, LVMM, Eclipse, Visual Studio
The answer is that philosophies differ. Pharo and Cuis are forks from
Squeak. To over simplify... Squeak has several major community
projects built on top which value the stability of their platform.
Over many years Squeak has grown and evolved in tandem with those
projects and is strongly coupled to them. Someone wanting to develop
new projects on top of Squeak viewed parts of that as bloat, but for
those existing projects it was essential behaviour. There have been
many contributors over the years, and as a large system there are parts
that hard to support. So those wanting to make Squeak leaner, more
modular and cleaner for better long term support forked Pharo from
Squeak. Now Squeak is also progressing in these directions, but
without the constraint of those existing projects Pharo can be more
aggressive. To me it comes
That is a very good question and one we should probably work of
defining better. Many frameworks and libraries are part of the
environment delivered by Pharo, and personally I think of the whole
package "as Pharo". I had a hunt around and maybe [1] gives a good
summary of the core language itself. Now Smalltalk has been a continual
evolution from the 1970s. Squeak and Pharo are directly descended from
Smalltalk-80 [2]. In 1998 ANSI Smalltalk [3] defined a core language
and libraries for half a dozen commercial vendors, but of course the
trouble with standards is they dull innovation, and Pharo seeks to go
beyond.
[1]
http://c2.com/cgi/wiki?SmalltalkTutorial
[1] stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.pdf
[2]
http://wiki.squeak.org/squeak/uploads/172/standard_v1_9-indexed.pdf
[3]
http://www.eli.sdsu.edu/courses/spring01/cs635/readingSmalltalk.pdf
Could you provide some non-weird examples form other languages?
One of the great advantages of Smalltalk is working in a live Image.
However this can be a disadvantage in terms of reproducibility and
dependencies forming between frameworks. Pharo seeks to break this by
separating frameworks out of the Image, to provide a minimal Image and
a means of automatically loading frameworks back in via continuous
integration.
We need to do better here. Are there any particular frameworks that
you are looking at?
cheers -ben