Best ways to accelerate Ruby's popularity

<disclaimer>
You know, when it comes to Ruby, I'm not even past "Go" yet. I've fiddled
with a tutorial for awhile, bought a book and posted a question on the
mailing list. That's the extent of my Ruby experience. So, I really hate to
keep throwing my 2 cents into this thread. But, I kind of think that my
current lack of knowledge of Ruby gives me a fresh perspective on this topic.
</disclaimer>

Having said all of that, I think you are right on the money with your
suggestions. I might add to your list a couple of more things. First,
consider that most people coming to the Ruby site are probably currently
using another language and are curious about Ruby. So, be sure to put
something on there that appeals to them. A couple of suggestions would be:
1. Put a few links that target specific people. For example, make it easy
for them to find information on how Ruby compares to their current language.
Make a link, "How Ruby compares to: Smalltalk, Python, C, C++", where
Smalltalk, Python, C and C++ are separate links to brief examples of code
snippets that illustrate how you would do a loop (or something) in that
language and in Ruby.
2. Explain the difference between Python's object.module.method() syntax and
the "object message" syntax.
3. Point out what iterators are. I haven't tried them in Ruby yet. But, in
Small talk, iterating through a dictionary is as easy as:
dictionary keysAndValuesDo: [ :key :value | do something with the key and
value ]. And, be sure to let them know that what they may call a dictionary
in their language is called a hash in Ruby.
4. Finally, answer some of the questions that I asked about philosophy. In a
very prominent way on the home page, put a link or a short paragraph titled,
"Why choose Ruby?" If I'm a programmer in another language, tell me why I
would be happier using Ruby.

darren

···

On Wednesday 29 December 2004 9:53 pm, Nicholas Van Weerdenburg wrote:

I'd like to see Ruby Programming Language cleaned up to immediately
convey to new users whether they want to investigate more or not. I
had business cards once described as needing to impress in the 1/2
second someone looks at it before tossing it in the garbage. A
web-site, I think, needs to follow the same principles.

In that vain, I'd like to see:
1. focus on introduction, tutorials, and documentation- having news
dominate the body is not ideal- this is where you capture new people,
and the news is meaningless to most of them.
2. a marketing blurb right at the top that's more detailed. It should
give a sense of what Ruby is, and why I'd be in interested in going
further into it. Good marketing is concise communication, not mindless
hype, and, there is nothing wrong about being excited about a great
thing. "The power and beauty of Smalltalk mixed with the hard-nosed
practicality of Perl, Ruby is an ultra-productive Smalltalk and Perl
inspired dynamic programming language that closes the gap between
thought and code. Almost as important, Ruby makes programming fun
again."
3. a "Get Started in 10 Minutes Tutorial Link". A canonical tutorial
aka Python would be nice. Ideally, there is a 10 minute one and a 4
hour one.
4. a prominent "Download Now" link at the top.

The python site was recently cleaned up, and while still butt-ugly, it
is nicely focused.

Nick

On Tue, 28 Dec 2004 19:11:48 +0900, Thursday > > <nospam@nospam.nospam.nospam.nospam.org> wrote:
> I think Ruby's popularity is growing, but I can't help but wonder what
> we can do to accelerate its adoption.
>
> I think we've all seen superior technologies go extinct due to bad
> marketing/perception--sadly, perception can be more important than
> reality at times.
>
> I think at a minimum, we need these:
>
> 1. a more formal release process--this could be as simple as documenting
> what level of testing goes into changes to the stable vs dev branches
> before they are committed to CVS.
>
> 2. a bug tracking system where we can report and view bugs--bugzilla is
> overkill, maybe something simpler like trac should be considered.
>
> 3. last but not least, online docs on Ruby's primary website (not
> 3rd-party websites) that is similar to those provided by PostgreSQL and
> Python. Maybe we can volunteer to create 'official' ruby docs to be
> hosted on ruby's primary website. Preferably using a popular
> documentation format that does not use frames like these:
>
> http://python.org/doc/2.4/
> PostgreSQL: Documentation: 7.4: PostgreSQL 7.4.30 Documentation
>
> When ruby's primary website lists ruby 1.4.6 docs for download and says
> ruby 1.6 docs are not yet ready (as of Dec 28, 2004), it can give the
> wrong impression about Ruby's current pace of activity:
> http://www.ruby-lang.org/en/20020107.html
>
> This is particularly sad and misleading because matz, nobu, shugo and
> many others are very actively working on improving ruby daily (we can
> see this in the daily cvs commits). And it doesn't provide any clues to
> newcomers/evaluators about the vibrant ruby community that is
> frantically creating new ruby projects to rubyforge.
>
> Anyone else think these few changes can make a big difference in how
> ruby is perceived, and consequently chosen over other languages?

Jonas Galvez ha scritto:

<snip>

So, yeah, I'm sold. I've recently registered the domain ruby.com.br,
where I plan to publish a few tutorials in Brazilian Portuguese, and
maybe occasionally in English too.

well, provide us with notice whenever you'll do that

Good to be a part of this growing community.

great to have some more happy people on board,
helps keeping good karma in the community :slight_smile:

Ben Giddings wrote:
...

* A central "portal" site geared towards people who are brand new to Ruby. This central site's main page should have at most 6 "elements" on it, and should show them all with no scrolling. The way Google's main page does things is almost perfect. I'd lay things out like:

I like it. It would reduce the number of ruby bookmarks one needs to carry around from computer to computer.

...

I would suggest that each one of those sections only contain 1 link, and that the page it links to can contain more information, say:

About Ruby:
  * What is Ruby? (Intro from Matz)

       You could copy this from `man ruby`, for starters.

Docs:

     * FAQ
     * Wikis
     * Books (on line and print)

Go to this Perl forum: http://www.tek-tips.com/threadminder.cfm?pid=219
When people ask for solutions, provide Ruby ones.

actually i find it ironic that u find irony in something
that is so obviously non ironic! :P. i would have say that
in this case hyping a language is the evil of which is spoken
and the email from neil the appropriate counter action.

regards
Alex

···

On Dec 28, 2004, at 2:22 PM, trans. (T. Onoma) wrote:

> Remember this, too: the more useful Ruby is for those who use it, the more
> useful Ruby is for those who would use it.

> --
> Neil Stevens - neil@hakubi.us
> "The world is a dangerous place to live; not because of the people who
> are evil, but because of the people who don't do anything about it."
> -- Albert Einstein(?)

How ironic that your quote essentially contradicts you.

That's only true if you think people who like C++ and Python are evil.

That the perl users are evil goes without saying, though. :slight_smile:

···

On Tue, 28 Dec 2004 22:22:46 +0900, trans. (T. Onoma) wrote:

On Tuesday 28 December 2004 06:36 am, Neil Stevens wrote:

> --
> Neil Stevens - neil@hakubi.us
> "The world is a dangerous place to live; not because of the people who
> are evil, but because of the people who don't do anything about it."
> -- Albert Einstein(?)

How ironic that your quote essentially contradicts you.

--
Neil Stevens - neil@hakubi.us
"The world is a dangerous place to live; not because of the people who
are evil, but because of the people who don't do anything about it."
                                                 -- Albert Einstein(?)

Lothar Scholz ha scritto:

> just my 2cents on this:
> I think this is really a worthwhile goal.
> I'd like to have a slightly more formal process like
> - set a not huge timing for the each .point release (i.e. 4 months). I'd
> like this to be short, pointing people to 'stable snapshot' does not
> give the same feeling that "use 1.8.3".

I hope we do not - at least with the current ruby development process.

You can't use binary extensions that are compiled against 1.8.1 with
1.8.2 even when the version number suggests this. So as long as the
core team is not willing/able to garantee API stability between patch
releases the situation gets worse.

There are already to much projects out there that are simply out of
date and do not work very well because of the backward compatibility
problem.

good point, thank, I thought it *was* stable.
Should'nt this be true within point release?

> the bug tracking system ATM is here:
> http://rubyforge.org/tracker/?group_id=426
> probably this need more visibility.
> Would it be possible to add a link on the main rubyforge page with
> something like "report a bug in Ruby"?
> Could this also be put on the main ruby page?

Good idea, done:

http://rubyforge.org/

Is there a better way to lay out that front page to make stuff like that
more visible?

Maybe use a bold, Ruby red color?

···

On Wed, 29 Dec 2004 05:54:01 +0900, Tom Copeland <tom@infoether.com> wrote:

On Tue, 2004-12-28 at 11:36, gabriele renzi wrote:

Thanks,

tom

--
Premshree Pillai

darren wrote:

1. Put a few links that target specific people. For example, make it easy for them to find information on how Ruby compares to their current language. Make a link, "How Ruby compares to: Smalltalk, Python, C, C++", where Smalltalk, Python, C and C++ are separate links to brief examples of code snippets that illustrate how you would do a loop (or something) in that language and in Ruby.

Rather than comparisons to other languages, it would be better to offer specific information on accomplishing various practical tasks. Perhaps within a task-oriented section one could offer a comparison with another language as a way of explaining A Ruby Way of doing something in terms a Ruby newcomer might better understand, but what wins people over is the specific knowledge that a tool will help them accomplish some well-defined goal.

Point people to web development kits, database bindings, text-processing libraries, XML tools, unit testing frameworks, distributed programming code, and so on.

Language comparisons tend to get too abstract for most people, and are often a source of goofy flame wars, as it seems nobody understands The Other Language well enough to get it Just Right.

The site should be task-oriented, and unless the visitor is a language buff or dilettante, the Ruby <-> #{language} stuff is academic.

A language attracts people looking to do something their current language does not do well, if at all.

James

trans. (T. Onoma) wrote:

On Wednesday 29 December 2004 05:59 pm, Josef 'Jupp' Schugt wrote: |
DGDATAT: Do good deeds and talk about them.

I think that kind of goes without saying though. But take the point
about the Documents page.

Of course there is *much* else to do than only writing software. I
thought that Thursday was focussing on the question which of quite a
number of tasks would result in the largest per effort increase of the
number of Ruby proponents - not necessarily of the number of programmers
using Ruby.

Two (perhaps extreme) examples of why these meanings 'popularity' are
quite different:

Plain C is not very popular as a programming language that your children
should learn but it is perhaps used for the largest number of programs
that are written - if one takes into account the many programs that run
on machines that most people would never call a computer but that by
definition are.

Visual Basic for Applications on the other hand is very popular but
compared to the number of installations only a tiny minority of all VBA
users actually use that language for programming that is worth the name
(i.e. anything that at least involves one logical decision).

Josef 'Jupp' Schugt
- --
Where on the ringworld does that 'Lord of the Rings' guy live?

Hi David,

Thanks for all the great work you, Chad, Rich, and others have been
doing at Ruby Central.

A few days ago I mailed RubyCentral a check contributing 1% of my
gross receipts from doing Ruby programming in 2004. I'm going to do
the same thing in 2005.

I think RubyCentral is really helping to improve Ruby and to make it
more popular. You've done a lot with the resources you have, and I
assume with more financial resources you'll do even more amazing
things. I encourage anyone else who earns money with Ruby to consider
supporting Ruby Central.

Wayne Vucenic
No Bugs Software
"Ruby and C++ Contract Programming in Silicon Valley"

···

On Tue, 28 Dec 2004 23:09:12 +0900, David A. Black <dblack@wobblini.net> wrote:

Hi --

On Tue, 28 Dec 2004, Miles Keaton wrote:

> Even just two days ago, I went to RubyCentral.org (the people that put
> on the Ruby Conference and have the Ruby Codefest Grant program) --
> offering to make a financial contribution, and what do I get from
> their "contact us" link?
> http://www.rubycentral.org/cgi-bin/submit.rb?css=base -- 404 not found

Whoops -- I seem to have accidentally archived the submit form along
with some other CGI stuff from a finished project! Thanks for the
report.

> I hope Ruby Central Inc becomes a non-profit so some companies and
> people can make a tax-deductible contribution to Ruby development.

It is! They can! We were granted 501(c)(3) tax-exempt status in
August, 2004. (See ruby-talk:108189.)

Our PayPal account is: acct@rubycentral.org. We're happy to take
contributions directly there, or if you know anyone who wants more
information first, or who is interested in the possibility of
sponsoring a specific project, they can contact one or more of the
directors directly. (That's me, Chad Fowler (chad@chadfowler.com),
and Rich Kilmer (rich@infoether.com).)

David

--
David A. Black
dblack@wobblini.net

Joel VanderWerf wrote:

I like it. It would reduce the number of ruby bookmarks one needs to carry around from computer to computer.

Yeah, as I wrote that, I realized how many important ruby sites there are out there. Even I know that I'll find Python at python.org, Perl at perl.org, but ruby...

Ruby's most central site is "ruby-lang.org".
Documentation is at "ruby-doc.org"
Some applications are hosted at "rubyforge.org"
Other applications are listed at "raa.ruby-lang.org"
The old pickaxe, and some documentation is at "rubycentral.com"
The wiki is at "rubygarden.org"
The mailing list archives are at "ruby-talk.org" (and blade.nagaokaut.ac.jp)

That's a whole lot of URLS, all of which are fairly important.

So right now "ruby.org" is held by "netidentity.com", who brag about owning over 15,000 popular surname-based domain names. I wonder if it might be possible to get the ruby.org domain. From a little poking around, it doesn't look like ruby.org is used much. When I did a google search for it, virtually all the links were ruby-language related, including one from January 2003 where there was some discussion of buying the domain.

I did some searches of common first names, and every single one I tried was available.

It may be that netidentity has nobody actually using the ruby.org domain, or at least so few that they might be willing to sell it.

Aside from money, we could offer them a lot of good press. Googlefights says more people talk about Ruby than about Netidentity:

ruby
(26 500 000 results)
  
versus
  
netidentity
( 15 200 results)

So, maybe they'd be happy to have all kinds of praise heaped on them by the Ruby community, and be able to brag about helping out the free software community?

Now that we have a US non-profit, maybe this would be a good cause for them to pursue?

Ben

Hello gabriele,

good point, thank, I thought it *was* stable.
Should'nt this be true within point release?

It should. I was very surprised that extensions now
throw an error message about a wrong API even if
linking the so file still works.

The problem is the IMHO not very good decision that
2.0 will be based on Rite and that there will never be
two digit version numbers. So the core team can't make
larger changes or finish rite in the near future.
Only two options and none of them seems to be possible.

I never understood whats the reason for not publishing
a ruby 1.1.10 version.

···

--
Best regards, emailto: scholz at scriptolutions dot com
Lothar Scholz http://www.ruby-ide.com
CTO Scriptolutions Ruby, PHP, Python IDE 's

The problem is that since those are mostly links, they show up in
whatever the stylesheet definition is. That seems to override any font
tags I put around them. But I made them all bold... that should at
least make them stand out better...

Yours,

Tom

···

On Tue, 2004-12-28 at 16:00, Premshree Pillai wrote:

> Is there a better way to lay out that front page to make stuff like that
> more visible?

Maybe use a bold, Ruby red color?

Alexander Kellett wrote:

actually i find it ironic that u find irony in something
that is so obviously non ironic! :P. i would have say that
in this case hyping a language is the evil of which is spoken
and the email from neil the appropriate counter action.

regards
Alex

:slight_smile: This thread is full of irony--if it can be called that--when we see the definition of the word 'hype'.

For most, 'hype' means "excessive publicity", "exaggerated/extravagant claims" or "deliberately misleading".

By contrast, we were speaking of making a ruby more popular by taking specific steps that don't involve hype: (i) having a more formal/documented release process (ii) a bug tracking system and (iii) having documentation on the primary website instead of relying on 3rd parties. And (ii) is already done--hosted on Rubyforge.

Your phrase 'the evil of which is spoken' can be viewed by some as 'exaggerated/extravagant claims', which fits the definition of 'hype' so there's irony for ya. :slight_smile:

Let us leave the 'hyping' to others. I'm sure there are plenty of folks who can easily point to more irony (morony) or even stupidity in my response. But I hope the energy will be channelled into making (i) and (iii) happen instead.

I just learned Python a few months ago when I started a new job. One of my coworkers recommended the excellent Dive Into Python book. (http://www.diveintopython.org) It's good because it's relatively short, and directed towards someone who has programmed before. It also focuses on teach by giving examples of things you do in your code on a daily basis, so I've found it to be a good resource even now that I consider myself fairly comfortable with Python.

Perhaps something like this would be good for Ruby? I've looked at The Pragmatic Programmers Guide, and while I think it's very useful, when I first started learning Ruby I often found it got too bogged down in it's examples and technical digressions to really kick-start my Ruby experience.

Does anyone else think it would be useful to have a short (~50 page max) Ruby introduction, focused on showing someone with a programming background how to do all the normal OO tasks?

···

On 29-Dec-04, at 11:22 PM, James Britt wrote:

darren wrote:

1. Put a few links that target specific people. For example, make it easy for them to find information on how Ruby compares to their current language. Make a link, "How Ruby compares to: Smalltalk, Python, C, C++", where Smalltalk, Python, C and C++ are separate links to brief examples of code snippets that illustrate how you would do a loop (or something) in that language and in Ruby.

Rather than comparisons to other languages, it would be better to offer specific information on accomplishing various practical tasks. Perhaps within a task-oriented section one could offer a comparison with another language as a way of explaining A Ruby Way of doing something in terms a Ruby newcomer might better understand, but what wins people over is the specific knowledge that a tool will help them accomplish some well-defined goal.

Point people to web development kits, database bindings, text-processing libraries, XML tools, unit testing frameworks, distributed programming code, and so on.

Language comparisons tend to get too abstract for most people, and are often a source of goofy flame wars, as it seems nobody understands The Other Language well enough to get it Just Right.

The site should be task-oriented, and unless the visitor is a language buff or dilettante, the Ruby <-> #{language} stuff is academic.

A language attracts people looking to do something their current language does not do well, if at all.

James

These are good points.

A classic text on sales "The New Strategic Selling" makes a startling
suggestion- don't worry about your competition. When you do, you often
1. aren't listening to your customer, and 2. aren't presenting your
product as a solution to what you heard from the customer.

The same probably applies here.

Nick

···

On Thu, 30 Dec 2004 15:22:16 +0900, James Britt <jamesUNDERBARb@neurogami.com> wrote:

darren wrote:
> 1. Put a few links that target specific people. For example, make it easy
> for them to find information on how Ruby compares to their current language.
> Make a link, "How Ruby compares to: Smalltalk, Python, C, C++", where
> Smalltalk, Python, C and C++ are separate links to brief examples of code
> snippets that illustrate how you would do a loop (or something) in that
> language and in Ruby.

Rather than comparisons to other languages, it would be better to offer
specific information on accomplishing various practical tasks. Perhaps
within a task-oriented section one could offer a comparison with another
language as a way of explaining A Ruby Way of doing something in terms a
Ruby newcomer might better understand, but what wins people over is the
specific knowledge that a tool will help them accomplish some
well-defined goal.

Point people to web development kits, database bindings, text-processing
libraries, XML tools, unit testing frameworks, distributed programming
code, and so on.

Language comparisons tend to get too abstract for most people, and are
often a source of goofy flame wars, as it seems nobody understands The
Other Language well enough to get it Just Right.

The site should be task-oriented, and unless the visitor is a language
buff or dilettante, the Ruby <-> #{language} stuff is academic.

A language attracts people looking to do something their current
language does not do well, if at all.

James

--
Nicholas Van Weerdenburg

Hi,

···

In message "Re: Best ways to accelerate Ruby's popularity" on Thu, 20 Jan 2005 02:04:42 +0900, Ben Giddings <bg-rubytalk@infofiend.com> writes:

It may be that netidentity has nobody actually using the ruby.org
domain, or at least so few that they might be willing to sell it.

It's no harm to ask them. I had tried for ruby.net before, but the
domain holder did not respond. Maybe I was not too good at
negotiation. Is someone willing to ask netidentity?

              matz.

> > Is there a better way to lay out that front page to make stuff like that
> > more visible?
>
> Maybe use a bold, Ruby red color?

The problem is that since those are mostly links, they show up in
whatever the stylesheet definition is. That seems to override any font
tags I put around them. But I made them all bold... that should at

Damn, you're fast! Much better now, I think.

···

On Wed, 29 Dec 2004 06:12:25 +0900, Tom Copeland <tom@infoether.com> wrote:

On Tue, 2004-12-28 at 16:00, Premshree Pillai wrote:

least make them stand out better...

Yours,

Tom

--
Premshree Pillai