Login  Register

Re: Popular

Posted by horrido on Jan 22, 2015; 9:08pm
URL: https://forum.world.st/Popular-tp4801049p4801103.html

So let me see if I understand this...

Pharo is not ready for prime time because it's still gestating? At what point will Pharo be ready for everyone in the world to use? Five years from now? Ten years?

And when it is ready for the world to use, can we be sure that the world will use it? "If you build it, they will come." Really??

Have we not learned that grassroots guarantee nothing? The language landscape is littered with dead or dying languages that failed to rise above grassroots.

At some point, people will begin to use your language (you hope). And when that time comes (sooner than 5 years?), organic growth will be a lot tougher.

You don't get to choose your users; the users choose your language. Of course, you can always screw them by pulling the rug from underneath them. Not nice, but who said you have to be nice?

The idea that hackers know, or can determine, what is a "good" language strikes me as rather presumptuous and incorrect. And whose definition of "good" are we using anyway?

Ben Coman wrote
I found this article on the popularity of programming languages
interesting.
http://www.paulgraham.com/popular.html

It mostly references Lisp, but I think a lot of the same applies to Pharo.
It is quite long so I picked a few points that stood out to me:

Some non-technical points...

* Nothing could be better, for a new technology, than a few years of being
used only by a small number of early adopters. Early adopters are
sophisticated and demanding, and quickly flush out whatever flaws remain in
your technology. When you only have a few users you can be in close contact
with all of them. And early adopters are forgiving when you improve your
system, even if this causes some breakage.

* Users are a double-edged sword. They can help you improve your language,
but they can also deter you from improving it. So choose your users
carefully, and be slow to grow their number. Having users is like
optimization: the wise course is to delay it.

* There are two ways new technology gets introduced: the organic growth
method, and the big bang method. ... Organic growth seems to yield better
technology and richer founders than the big bang method. If you look at the
dominant technologies today, you'll find that most of them grew organically.

* Hackers have to know about a language before they can use it. How are
they to hear? From other hackers. But there has to be some initial group of
hackers using the language for others even to hear about it. I wonder how
large this group has to be; how many users make a critical mass? Off the
top of my head, I'd say twenty.



Some technical points...

* There is one thing more important than brevity to a hacker: being able to
do what you want. In the history of programming languages a surprising
amount of effort has gone into preventing programmers from doing things
considered to be improper. This is a dangerously presumptuous plan ... The
bumbler will shoot himself in the foot anyway ... Good programmers often
want to do dangerous and unsavoury things ... give the programmer access to
as much internal stuff as you can without endangering runtime systems like
the garbage collector.

* It might be a good idea to have an active profiler -- to push performance
data to the programmer instead of waiting for him to come asking for it.
For example, the editor could display bottlenecks in red when the
programmer edits the source code.

* It might be a good idea to make the byte code an official part of the
language, and to allow programmers to use inline byte code in bottlenecks.

* The most important part of design is redesign. Programming languages,
especially, don't get redesigned enough.

cheers -ben