> That is a familiar path, but still an obstacle for people to get over in
> trying Pharo - i.e. its a barrier of entry.  I've previously referred to
> this article by JoelOnSoftware, but to pull out a key part... "Think of
> these barriers as an obstacle course that people have to run before you can
> count them as your customers. If you start out with a field of 1000
> runners, about half of them will trip on the tires; half of the survivors
> won’t be strong enough to jump the wall; half of those survivors will fall
> off the rope ladder into the mud, and so on, until only 1 or 2 people
> actually overcome all the hurdles. With 8 or 9 barriers, everybody will
> have one non-negotiable deal killer.  This calculus means that eliminating
> barriers to switching is the most important thing you have to do if you
> want to take over an existing market, because eliminating just one barrier
> will likely double your sales. Eliminate two barriers, and you’ll double
> your sales again."
>
>

****WARNING LONG POST AHEAD****

There numerous reason why this kind of thinking is fundamental flawed, if
not completely wrong

1) How you get people to run in this race ?
2) What makes you think that people participating in the race doing to get
first or even finish ?
3) How you are certain that those barriers are not the very reason people
participate ?

The fundamental problem is that if you base your assumption that people are
motivated on avoidance of pain, this is a very popular argument by the way,
you going to be severely disapointed. From the very first fact that there
is a 90% chance that right now that you use almost 100% of your time one of
the worst software to be ever created.

Microsoft Windows.

Of course you can throw claims to me that peope use Windows because that is
what's popular and widely available, but then so is MacOS is by far the
easiest to use OS out there. When you pit Windows vs Macos a such taboo
subject , fuel to so many flame wars, there is one thing that both sides
agree on and that is that MacOS is far easier to use , perdiod. The rest of
the debate which OS is the best is up in the air and frankly not the point
of my argument.

The fact is , we love pain, we love barriers, we love doors that slam into
our face. We love challange. But only if we find it interesting.

Of course Windows is not the only example  (C/C++ , Java , Web dev,
computer games and the list is just endless)of the machocistic nature of
human beings. I dont need to look far, my own story about how I started
coding is more than enough . I am going to ramble about my initiation to
the realm of coding , so feel free to ignore the rest of my post but what
the hell here we go.

>From an early age , no idea when, I was exposed to the idea of the
computer. Never used one before or saw on in person other than what I saw
in the TV I asked my father to get me one and he agreed on the ground that
I wont use it just to play games but to learn how to code. My father had no
idea what coding is, had no idea what technology is, to this day he hates
technology and he refuses to learn even how to close a window. None ,
friend , relative or random stranger I knew used a computer.

So I got this weird thing called computer and turned it on, of course
motivated to play games like any other kind in my age, I was 9 years old at
the time, december 1988. But I had a sense of honor even from that age so I
had to keep my promise. So I did and I was fascinated by it, to the degree
that I was coding as much I was playing games. Problem is that it was
mainly masochistic venture. I had one book and one book alone, none that
had any clue how to show how to turn this thing on and of course no
internet, no schools, no magazines I could afford to buy or even know where
to buy them . So in 3 years, I made nothing special, only tiny fragments of
code and I was still struggling with basic concept like looping.

Yes, looping.

 But I already was doing things that a greek kid did not suppose to do and
I did not even fit the geek stereotype at the time (not that the term
existed at the time, I still does not exist in my language), I had tons of
friends, I was anything but shy , I was the craziest nosiest kid suffering
from the annoying syndrom of hyperactivity and with very lmited attention
span.

I was the absolute worst candidate to learn how to code, yet I did . Sort
of. Then my father decided to send me, after me begging on my knees, on a
prrivate school, that just opened near our neighborhood for learning. At
the time time I only still had the same computer, Amstrad CPC 6128 and knew
the very basics of Locomotive Basic which was used also by the computer as
a bash like language for its OS.

I went 3 years, the first year I did ok, an average student even though I
had by far the most experience than other kids we learned GWBASIC. The
second year I did terrible, we learned DBASE and the third we learned
CLIPPER and blow any other student completely away, I was the only to
graduate with 99.8% and our teacher was super strict on the matter of
grades. But I wanted more.

So I went and learned C++ and assembly because why not and when I told my
teacher that, he was looking me with his eye wide open, took me quite a
lenghy discussion to convince him that this was true.

The reason why the first year I did average was that it was too easy. I was
already familiar with Basic , sure I was struggling with basic concepts
when I started but   under the wing of the teacher (he was a great teacher,
professional coder and highly skilled at helping you understand even the
most difficult concepts) and full access to multiple books in few months
became a walk in the park. The second year was a disaster, partly because
our teacher decided to hire a relative of his to teach us DBASE and the guy
was a moron wasting his time with telling jokes. The truth is that I did
not like and still dont like database coding. Clipper I fall in love with
it at the time because still a database orientated language but our teacher
tought us, his relative got sacked as soon as he learned that he sucked,
that happened one year after because none of the kids had the courage to go
tell him and it was probably a parent the told him and did so well I was
even offered to make a database for a considerable amount of money. Said
no. Again not interested.

My story is nothing special, I heard it in slightly diffirent versions by
countless others in a similar situation however my point is  not to brag,
because lets face it I was just merely learning languages and not doing any
serious coding , my point is that the drive behind it was the pain. Was the
obstacles. Was the challange.

Pharo for me is also the same story. At the time I was coding in Python,
super easy, got the job done, had no intention learning another language
because why bother when they all look the same and they would have been
much less powerful than Python. I was super happy with Python and still is
one of my favorite language as you all know. Then I saw people on forums
rambling about this weird language called Lisp , I was interested, google a
tutorial , saw the parentheses , said "hell no!" and carried on coding in
python. Then even more people claiming that it was so amazing, that it can
cure cancer and make you super sexy. I always wanted to be super sexy so I
said, ok lets give this a serious try. So I bought a book called "Land of
Lisp" very fun to read, terrible teaching material, messy and all over the
place. Community was terrible too (Common Lisp), at least some people,
rude, snobs, evangelistic and plain stupid. A minority of people but still
enough to ruin your day.Then I was introduced to emacs, another super
painful experience, thoroughly enjoyed and one day I mentioned how cool it
would be if one could combine the simplicity of Lisp with emacs but via a
GUI IDE and without elisp which was hog slow. People immediately
recommended Squeak, I though they were messing with me because none would
pick such a ridiculous name for a language. Looked to me like a toy
language for kids and then it hit my face like a train.

Pain, pain and more pain.

But it was well worth, I was completely blown away from the elegance of
Smalltalk.

The learning curve of Smalltalk and Lisp are plain insane. Made learningh
DOS Assembly a walk in the park in comparison.

But frankly thats half of the fun.

Many obstacles, many challanges.

And there lies my point that an obstacle is a good thing when it becomes an
interesting challange. You have to have at least a degree of masochism to
learn how to code in any language. Of course the question is what makes an
interesting challange and welcome to the abyss that is called "human
brain". None knows and we are not anywhere close in finding out.

What we know is that documentation is super important , whether you are a
masochist or not, you need it to progress. Problems is that documentation
is hard to create and maintain, again masochism required. So we should not
just worry about making it easier for people to reach documentation we
should make it easier for people to maintain it. Because even masochism has
its limits. Those limits are as far it is a pleasureable pain.

So congratulations to anyone reading this long post , you already proven my
point.

Thus, let embrace the pain of Pharo and the pain of smalltalk and instead
of trying to make it easy, boring and usual. Lets turn it to a challange,
lets turn it to a painful yet pleasureable experience

I think to that extend we in a very good path, I think Pharo is definetly a
fun experience to use and learn.

A huge plus also for Pharo is the community and how welcoming it is, we
take for granted but my experience with Python was not the best either. I
joined the IRC channel, other than having to endure the stupidity of "say
lol 3 times and you are banned" , too many wars over languages and how
superior Python is than anything else. Guido is god and blah blah blah...
No thanks.

People here are open minded, still "religious" about Smaltalk but they
actually want to help , not to teach, actually help.

I think we are a bit too obsessed on how to make Pharo popular,
Smalltalkers suffer from this insecurity of the "failure" of the "best
language of the world" not only to become popular but also to convince
coders that "is not a a relic of the past".

But we are fine, documentation is doing grear, Pharo is improving rapidly ,
the community is welcoming as ever. All we need is embrace our successes
and our failures, reject the hype, consider the crticism and accept it or
reject it and generally carry on doing what we all love.

Improving Pharo.

;)

Reply via email to