[Pharo-project] New IDE alternative (was Misc. newbie questions)

Jimmie Houchin jlhouchin at gmail.com
Tue Jan 17 00:34:32 EST 2012

On 1/16/2012 4:43 PM, Frank Shearar wrote:
> On 16 January 2012 20:08, Sean P. DeNigris<sean at clipperadams.com>  wrote:
>> After pounding at the system and countless books/articles/keynotes, I get
>> that Smalltalk is a vision, not a syntax. Fortunately, I was hooked from the
>> beginning by Alan Kay's TED Talk, so I enthusiastically pushed through the
>> pain of adapting to the image, losing my vi bindings, etc. If it was only
>> about syntax, without the live, open, dynamic, turtles-all-the-way-down
>> system, I would probably use Ruby, which has more of the libraries I need
>> and want (although I would definitely miss passing blocks as any argument,
>> and keywords are nice).
>> *However*, like any "blue plane" idea, there are people that don't get it
>> (and actually /can't/ get it) and want to relate to Smalltalk as "a language
>> with cool syntax", giving up the productivity of a live environment. This is
>> the nature of paradigm shift.
>> Now, while I feel bad that those people are totally missing out on the
>> magic, if they are willing to join our community and contribute to the
>> libraries, fix bugs, user test, etc., let's welcome them with crappy (i.e.
>> standard) tools and reap the benefits of more pairs of hands and eyes.
> I've been biting my tongue for a while now in this thread. Please
> don't take this the wrong way, we're all interested in the same
> wonderful language and environment, and so on.
> But.
> I've seen just about every time someone joins a Smalltalk community
> and dares to suggest that they've had enjoyable experiences with FOO,
> the Smalltalk community forms a laager (I think Americans would call
> this "circle the wagons!"), with statements like "you lack
> imagination" or "when you get it" or whatever.

Well lets be specific.

When I spoke of lacking imagination it was specifically referencing two 
different areas.

1)  The advantage of a live environment where your editor and your code 
exist together. No I did not explain the advantages. Maybe I should 
have. But I patently despise dead code editors and their lack of 
understanding of my code. Yuck! Anyone who loves them may use them.

2) He couldn't think of an area where Pharo's GUI would be suitable for 
an application. Yes, that is a total lack of imagination. I listed 
multiple areas where the application uses UI elements which differ from 
the standard UI of the platform. I have a harder time something that 
meets the ethereal standards desired by such. I don't know of a web 
browser that uses the OSes menu bar or UI elements, mail program, etc.

There is really very little consistency in applications beyond the use 
of common elements which are often provided by the apps libraries and 
not the OS. Menu bars, icons, context sensitive menus, etc. Unless you 
absolutely require the widgets provided by the OS, which is a standard 
OS vendors don't adhere to, then you can do most of the same thing in Pharo.

I won't argue that it may not be as easy as we would like. But that is a 
far cry from we need a native UI via QT (or insert favorite widget library).

In another message he spoke that he wanted the language and libraries, 
but almost everything else could go. If that's what you want, get Ruby 
and run.

As I said, this is open source. If he or anyone else wants to pursue the 
vision he laid out, please go for it. And where his vision and ours 
overlap, we could cooperate. But if he or whomever want others to join 
them in such a vision, they would have to provide a compelling argument. 
I just don't this audience here is the right one to sell it to.

And this problem is not unique to Smalltalk and its hallowed halls or it 
adherents and their narrow-mindedness. No, you can find it in almost any 
group who has somebody coming in from the outside and telling them that 
they need feature X that their favorite language/tool provide.

Go to the Python group and try to persuade them they need an image. It 
will get shot down. You can Google it if you wish. Tell them they need 
all the features of Perl. Or that white space significant syntax is all 
wrong. Tell some other language they don't need the semicolons 
because... Go to any other group and tell them their distinctives are 
wrong and they should adopt your ideas and you'll get a similar outcome. 
And if you wandered into comp.lang.lisp and got a reply from Erik Naggum 
(RIP), take cover.

If you are going to come into a Smalltalk group with ideas you think we 
need to adopt, then be prepared to engage in vigorous challenges. 
Provide compelling arguments in a give and take. Don't expect us to 
automatically lay down and say your right. We've been doing it wrong all 

If the ideas do not get accepted either because of merit or the supposed 
narrow-mindedness of the community. Then it is either due to the merit 
of the idea not actually working. Or there is a difference of vision. 
That doesn't make the vision of the community the wrong one. It would be 
incumbent on the other individual to develop his vision and create a 
community around it. And do the work.

Differences in vision are ok. But the individuals making the challenges 
need to accept that their vision may not be accepted by community they 
are challenging.

> There are many sources of value that are not present in the Smalltalk
> community, that were not invented in the Smalltalk community. Someone
> saying that they like FOO might actually have experience in both
> Smalltalk and elsewhere. They might actually know a thing or two about
> software, about Smalltalk, and STILL not be satisfied with what
> Smalltalk has to offer. We should be HAPPY about this! We should
> carefully examine new things, and learn new languages, so that we can
> _pillage these ideas_.

Yes, there are many things that the outside world does well. We should 
learn from them. Use them where appropriate. But that does not mean give 
up who or what we are.

This poster expressed his knowledge and understanding of Smalltalk 
explicitly. We didn't impute anything. Do you really think that any new 
ideas were offered. I don't.

> Knee-jerk rejection of ideas that didn't stem from the hallowed halls
> of the Golden Age of Smalltalk means the rest of the world passes you
> by, out-innovates you, renders you obsolete.

I think the knee-jerk reaction is yours. You act as if anybody who 
states anything contrary can't be challenged. And as I see in your post, 
you offer no comments as to where we are misunderstanding the values 
proposed or where my or anyone else's comments are wrong. You provide no 

That hallowed hall of the Golden Age of Smalltalk contains much value 
and much wisdom. Most of us here aren't so willing to jettison quite as 
easy as those who don't even value it.

> (Quibble: Ruby _is_ a live, dynamic, turtles-all-the-way-down system.
> It's just a pity it has a rubbish syntax. But otherwise, Avi Bryant's
> right: it's a Smalltalk. It's just that Rubyists don't live in their
> image, more like construct a tent and tear it down. (It makes me angry
> that I can sometimes feel more productive writing Ruby in Emacs than
> in Squeak/Pharo! Why can I not have BOTH a world-class text editor AND
> live in an image (when I choose to)?))

I am all for improving our editing experience. But I want it in my image 
and not in Emacs/vi. I would rather see our world improved than to see 
it require an external editor which sees code as text, not objects, 
where different external editors have differing features.

Unity in tools and vision have tremendous value.

I really hate that when I am using other languages that I have to choose 
which features I value most, because Netbeans has X, PyDev has Y, ... 
and then I want to do some Clojure and the editor I use in Python isn't 
as well supported by Clojure. Or Ruby or ...

Then you also get the lack of unity in almost anything else. Git vs. 
Mercurial. Github vs. Bitbucket. ...

And yes, I am thoroughly pro Pharo. Do I believe there are deficiencies. 
Yes. I just don't believe the GUI being non-standard, the image, and the 
editor being in the image are not among them. And I don't believe that 
challenges to those things should go unchallenged and accepted just 
because somebody

And yes, I am just as opinionated about my perceptions of the 
deficiencies of Python, Clojure, Ruby, Eclipse, Netbeans, ...
Or my frustrations when using them.
I just don't go into those communities expecting them to shape their 
favorite tool to my vision. I rather try to use their tools and attempt 
to learn their values and ways, assuming they have reason and purpose 
for their language and tools.

I recently spent a while learning Clojure (beginning of the journey). 
And what I learned I bring back into the development of my application 
in Pharo.

The biggest problem is people visiting a community and believing they 
have the right to speak into that community. If you want that right, 
spend some time here. Develop community relations. Then in time you earn 
that right to be heard.

I have limited rights to be heard here because I have been a part of the 
Squeak/Pharo community for a long time. I have less rights than others 
because I haven't contributed anything of consequence. Others who have 
been here far less time but have contributed a lot more, have greater 

Just my opinions. But I think that they are reasonably founded. I spend 
a lot more time with people than programming.


More information about the Pharo-dev mailing list