Thoughts from an outsider
J J
azreal1977 at hotmail.com
Tue Sep 5 10:46:15 UTC 2006
>From: Ramon Leon <ramonleon at cox.net>
>Reply-To: The general-purpose Squeak developers
>list<squeak-dev at lists.squeakfoundation.org>
>To: The general-purpose Squeak developers
>list<squeak-dev at lists.squeakfoundation.org>
>Subject: Re: Thoughts from an outsider
>Date: Mon, 04 Sep 2006 19:40:15 -0700
>
>That you are attacking anything, is what bothered me. You've used strong
>insulting language from the start, not against me personally, I take none
>of this personally, but against the self documenting style. You may not
>prefer this style, but many do, as we've developed a mistrust of documents
>not directly linked to code.
>
This cancerous, destructive idea of "self documenting code" is a big barrior
to people
new to the language, and I would be willing to bet that is the main reason
it isn't taking
off faster.
I can tell you I have done various projects in various languages to get a
feel for it, and
never before have I felt like I could do so much so fast, and yet not been
able to do
very much at all. Why? Because the state of documentation right now is
almost
impenetrable. Anything I do, I feel like it is probably already there in
some system
that I don't know about and have no way to find out about.
The main documentation right now, as far as I can tell, seems to be the
mailing list.
"self documenting code" as a source of documentation is simply not valid. I
am pretty
surprised that such an obvious statement has so much resistance.
If source code is the documentation then the bar for becomming productive in
the
language is the amount of time it takes you to absorb the entire Smalltalk
class heirarchy
from the browser. And if you download a new system, then you have to read
through
every line of source code from that system. And that isn't enough, simply
reading the
code isn't enough. You have to wrap your brain around *why* it does what it
does.
Otherwise any change you do is probably not going to be helpful.
As an example, I downloaded 3.8 from the web site and started trying to run
a cool 3d
example I saw on one of the tutorials. Everything worked fine until I tried
to bring up
a viewer for my fish so I can make it move and stuff. It brought up a
debugger because
the "costume" message wasn't understood.
I took your advice and went all around trying to understand the code. In
the end it looks
like maybe the "WonderlandActor" class might have been a subclass of Morph
at some point
and isn't anymore. Maybe it changed to a composite patern. So I tried to
see if there was
a reference to something I could forward the message too. But I didn't see
any morph's in
his instance variables, so at this point what?
All I can do is post a message on a mailing list. I don't know who changed
what or why, I don't
know how it was suppost to work and I have no clue where I would look for
some kind of
documentation.
I spent at least an hour tracking through this and came up empty handed.
That is bad
enough for playing around, but in business that would mean not using what
ever
component it was and writing our own from scratch. And if we have to write
everything
from scrath then we are not getting the efficiencey from the language.
>You place great value on documents, OK, great, but not everyone does, no
>need to use such strong language. You can approach the subject of more
>documentation without being insulting to those who disagree with you.
>Rather than arguing "for" documentation, you seem to be arguing "against"
>less documentation, rather like a creationist arguing "against" evolution
>rather than "for" creationism.
>
The arguments "for" documentation are obvious and I (and others) have stated
them.
Smalltalk has some good momentum right now because of what various folks
have done with
Seaside and the subsystems based on it (Pier and co.). But momentum doesn't
mean anything
unless you can sucessfully turn it into something else before you lose it.
All the other languages will steal everything you have. Anything good,
revolutionary, etc. will
be recreated in those languages and then they don't feel the need for
smalltalk anymore. It
happened with Steve Jobs in the beginning, it happened with Java when it
started and it will
happen with Seaside eventually.
And I am not just throwing out insults, I intend to help fix the problem.
But first the problem
must be identified and acknoledged (no one will work to fix something they
feel is not broken),
then possible solutions have to be explored.
More information about the Squeak-dev
mailing list
|