On 1/16/2012 4:43 PM, Frank Shearar wrote:
On 16 January 2012 20:08, Sean P. DeNigris<[email protected]> 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
along.
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
substance.
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
rights.
Just my opinions. But I think that they are reasonably founded. I spend
a lot more time with people than programming.
Jimmie