Can Ruby stay ahead?

Will Ruby find it difficult to stay in the first 10 languages list
on Tiobe Index ?

According to one of my friends views :

The emergence of new languages like Clojure, Scala, Fan, indicate to
this. All these new languages have concurrency support and are faster
than Ruby. Python is improving constantly. Its perfomance has always
been
faster than Ruby, and it is very scalable, stable and widely used.
Perl is coming back with its new avatar "Perl 6" armed with types.
PHP may keep its present postion. Groovy slowly ascends the ladder.

Inspite of all his comments, My favourite language is Ruby.
I have been using ruby for the last 3 years. It has vastly helped me
to make my daily office work easier. Hopefully 1.9.1 compatible issue
with existing libraries will be solved within months.

Exprert Rubyists, Please share your views on this matter to enliven
my kind of average rubyists.

Long Live Ruby !!

···

--
Posted via http://www.ruby-forum.com/.

Suresh Kk wrote:

Will Ruby find it difficult to stay in the first 10 languages list
on Tiobe Index ?

Languages are on that list for a different reason. Some have corporate support, some have academic support, and some have a critical mass of projects using them.

Ruby is heading towards all three of those reasons to stay on the list.

To be honest, I think the most important thing Rubyists could do to help Ruby grow and become more relevant would be to more whole-heartedly support alternative implementations like JRuby, IronRuby, and MacRuby that target new domains of developers on other platforms.

The truth is the C implementations of Ruby are only one part of our quest to conquer the world...there are a lot of developers out there on existing VMs and platforms that need to be brought into the fold. And they're not going to leave those platforms. The best way to bring them over is to embrace the Ruby implementations for those platforms, and do everything possible to make sure they're top-notch. The alternative is losing mindshare to languages like Groovy or Scala on the JVM or IronPython, F#, or C# on the CLR.

The recent migration by Twitter of key infrastructure to Scala is a perfect example of this.

But this also raises another question: Does the Ruby community want to be all-inclusive? More and more I see Ruby groups splintering into the "regulars" and the "elites", and sometimes the elite groups splinter even further. Many of the Ruby old guard want to keep Ruby an exclusive club, and I think that elitism hurts the community.

I believe it's important for Ruby to continue growing and to draw in as many Java, .NET, and other platform developers as possible. I believe it's important for the Ruby community to do more to help these alternative Ruby platforms be successful. But I don't know yet whether it's what the Ruby community wants.

- Charlie

Suresh Kk wrote:

···

Will Ruby find it difficult to stay in the first 10 languages list
on Tiobe Index ?

According to one of my friends views :

The emergence of new languages like Clojure, Scala, Fan, indicate to
this. All these new languages have concurrency support and are faster
than Ruby. Python is improving constantly. Its perfomance has always
been
faster than Ruby, and it is very scalable, stable and widely used.
Perl is coming back with its new avatar "Perl 6" armed with types.
PHP may keep its present postion. Groovy slowly ascends the ladder.

Inspite of all his comments, My favourite language is Ruby.
I have been using ruby for the last 3 years. It has vastly helped me
to make my daily office work easier. Hopefully 1.9.1 compatible issue
with existing libraries will be solved within months.

Exprert Rubyists, Please share your views on this matter to enliven
my kind of average rubyists.

Long Live Ruby !!

Forgive my ignorance, should language X be on the Tiobe Index? For
what reason? Never heard of that one before (duking, but that is the
truth).
Cheers
R

···

On Sat, Apr 11, 2009 at 5:25 PM, Phlip <phlip2005@gmail.com> wrote:

Suresh Kk wrote:

Will Ruby find it difficult to stay in the first 10 languages list
on Tiobe Index ?

Languages are on that list for a different reason. Some have corporate
support, some have academic support, and some have a critical mass of
projects using them.

Ruby is heading towards all three of those reasons to stay on the list.

--
Si tu veux construire un bateau ...
Ne rassemble pas des hommes pour aller chercher du bois, préparer des
outils, répartir les tâches, alléger le travail… mais enseigne aux
gens la nostalgie de l’infini de la mer.

If you want to build a ship, don’t herd people together to collect
wood and don’t assign them tasks and work, but rather teach them to
long for the endless immensity of the sea.

--
Antoine de Saint-Exupéry

That and providing a CPAN-like resource, too. And before someone
complains about this point, go look at CPAN and provide a
point-for-point comparison with whatever alternative you have in mind,
not to convince me that I'm in need of cluebat, but to educate those
who — like me — don't know the information that you obviously posses.
Hopefully you get the point I'm trying to make.

Marcelo

···

On Sat, Apr 11, 2009 at 13:14, Charles Oliver Nutter <charles.nutter@sun.com> wrote:

To be honest, I think the most important thing Rubyists could do to help
Ruby grow and become more relevant would be to more whole-heartedly support
alternative implementations like JRuby, IronRuby, and MacRuby that target
new domains of developers on other platforms.

The truth is the C implementations of Ruby are only one part of our quest to conquer the world...there are a lot of developers out there on existing VMs and platforms that need to be brought into the fold. And they're not going to leave those platforms. The best way to bring them over is to embrace the Ruby implementations for those platforms, and do everything possible to make sure they're top-notch. The alternative is losing mindshare to languages like Groovy or Scala on the JVM or IronPython, F#, or C# on the CLR.

But why do you say those people "_need_ to be brought into the fold"? Do we (or Ruby) really loose something if we do not insist on converting the world over to Ruby?

But this also raises another question: Does the Ruby community want to be all-inclusive? More and more I see Ruby groups splintering into the "regulars" and the "elites", and sometimes the elite groups splinter even further. Many of the Ruby old guard want to keep Ruby an exclusive club, and I think that elitism hurts the community.

I view this differently: to me it seems the Ruby community feels little urge to evangelize (apart from Rails maybe) which I find very pleasant. IMHO this is not the attempt to keep others out but rather an attitude of letting everybody pick the tools that suit them best. If it is not Ruby, then that's perfectly OK. I find this quite a laid back approach and it is certainly one of the things that makes this community such a nice place to be for me.

I believe it's important for Ruby to continue growing and to draw in as many Java, .NET, and other platform developers as possible.

Why? Do you fear extinction of this wonderful programming language? Ruby is here to stay. Even if development of the language would stop right now (what I do not hope) it does not stop being useful to a lot of people.

Kind regards

  robert

···

On 11.04.2009 21:14, Charles Oliver Nutter wrote:

Perl is coming back with its new avatar "Perl 6" armed with types.

Do we have first April again? :slight_smile:

Reminds me of GNU Hurd.

I heard that it will be ready next year.

···

--
Posted via http://www.ruby-forum.com/\.

Robert Dober wrote:

Forgive my ignorance, should language X be on the Tiobe Index? For
what reason? Never heard of that one before (duking, but that is the
truth).

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Java is number 1 due (in my exalted opinion) to corporate support, a huge critical mass of active projects using it, academic support, and "enterprise support". The latter is roughly equivalent to "we had to spend a quintillion dollars on it last quarter, so it must be powerful stuff!"

C is number 2 due to almost complete saturation of the systems and OS programming layers. The next layer above machine language is C, so if you have silicon, you need C between it and your higher level systems.

C++ is number 3 due to complete bidirectional integration with C, plus all the same reasons as Java, plus C-like (or better) performance.

PhP is 4 because - until Rails - it was the default choice for RAD website development. Non-RAD website development is very rare...

Visual Basic is 5 because MS markets it to your non-technical boss as "simpler than all those fragile languages that cause bugs." 'nuff said.

JavaScript is on the list because it extends HTML to make your browser actually do stuff. It goes where HTML can't go.

C# made the list because it's a Java clone, and hence a "duopoly" in the same Enterprise space.

And the Duck Typing languages - Perl, Python, Ruby - are on the list due to the LAMP website architecture, where P stands for any interPreted language.

Lua is on the list because it provides the scripting layer - and Duck Typing - for video games.

Unfortunately, yes. Broadly speaking, the less widely used a language
is, the less effort and investment is placed into maintaining and
advancing it. But diversity helps, too, as the best new ideas from
Ruby may well come from things that come from other languages which
encourage different ways of thinking about the same problems.

···

On Sun, Apr 12, 2009 at 8:50 AM, Robert Klemme <shortcutter@googlemail.com> wrote:

On 11.04.2009 21:14, Charles Oliver Nutter wrote:

The truth is the C implementations of Ruby are only one part of our quest
to conquer the world...there are a lot of developers out there on existing
VMs and platforms that need to be brought into the fold. And they're not
going to leave those platforms. The best way to bring them over is to
embrace the Ruby implementations for those platforms, and do everything
possible to make sure they're top-notch. The alternative is losing mindshare
to languages like Groovy or Scala on the JVM or IronPython, F#, or C# on the
CLR.

But why do you say those people "_need_ to be brought into the fold"? Do we
(or Ruby) really loose something if we do not insist on converting the world
over to Ruby?

That and providing a CPAN-like resource, too. And before someone
complains about this point, go look at CPAN and provide a
point-for-point comparison with whatever alternative you have in mind,

I haven't used CPAN enough to know quite what features you're expecting.

But since you're probably going to get this answer from pretty much everyone
here, what does CPAN have that Rubygems lacks?

not to convince me that I'm in need of cluebat, but to educate those
who — like me — don't know the information that you obviously posses.

Oh. Well, try Rubygems. Nuff said.

···

On Saturday 11 April 2009 14:30:06 Marcelo wrote:

Personally I love your sentiments Robert. If I ever do any evangelizing its simply because coding in ruby is so much fun that if someone asks I'm all over that question like a nun sandwich - to paraphaze the mighty boosh. Lol. Its the same as recommending anything that's awesome like a good cafe, movie, book or a nightclub. :slight_smile: but appropriately. This is really not a religion. I find ruby people have such a pragmatic and intelligently well thought out idea set... And security, because they're not afraid. Its very embracing. The only reason we'd need fervour or blind acceptance is if we were insecure. We're not tho. We honestly don't mind a whit if joe bloggs uses it or not, but in much the same way that recommending medicine to improve someones life will help tremendously, its natural. As long as you're happy, that's all that really counts. Some people like being sad or living with dis-ease. That's ok. I'm actually thankful for diversity, because mass-adoption tends to decay things somehat. The context shift loses the potency of meaning.

:slight_smile:

Blog: http://random8.zenunit.com/
Learn rails: http://sensei.zenunit.com/

···

On 13/04/2009, at 1:50 AM, Robert Klemme <shortcutter@googlemail.com> wrote:

On 11.04.2009 21:14, Charles Oliver Nutter wrote:

The truth is the C implementations of Ruby are only one part of our quest to conquer the world...there are a lot of developers out there on existing VMs and platforms that need to be brought into the fold. And they're not going to leave those platforms. The best way to bring them over is to embrace the Ruby implementations for those platforms, and do everything possible to make sure they're top-notch. The alternative is losing mindshare to languages like Groovy or Scala on the JVM or IronPython, F#, or C# on the CLR.

But why do you say those people "_need_ to be brought into the fold"? Do we (or Ruby) really loose something if we do not insist on converting the world over to Ruby?

But this also raises another question: Does the Ruby community want to be all-inclusive? More and more I see Ruby groups splintering into the "regulars" and the "elites", and sometimes the elite groups splinter even further. Many of the Ruby old guard want to keep Ruby an exclusive club, and I think that elitism hurts the community.

I view this differently: to me it seems the Ruby community feels little urge to evangelize (apart from Rails maybe) which I find very pleasant. IMHO this is not the attempt to keep others out but rather an attitude of letting everybody pick the tools that suit them best. If it is not Ruby, then that's perfectly OK. I find this quite a laid back approach and it is certainly one of the things that makes this community such a nice place to be for me.

I believe it's important for Ruby to continue growing and to draw in as many Java, .NET, and other platform developers as possible.

Why? Do you fear extinction of this wonderful programming language? Ruby is here to stay. Even if development of the language would stop right now (what I do not hope) it does not stop being useful to a lot of people.

Kind regards

   robert

Ruby is also gaining a (minor for now) foothold in some of the scientific disciplines - at least physics. I know there are Ruby bindings for the CERN ROOT libraries (which I personally use) that make life just that much easier. If it wants to truly compete in the academic setting, it will have to do benchmark battle with python - and I am under the impression that 1.9 goes a long way towards doing just that.

For those of us who like Ruby because of its paradigm and not because of its performance, I think there will be a consistent market. And if the language can improve on the latter, it can only improve the situation.

In my opinion, one of the real threats is that MacRuby will do to Ruby what Obj-C 2.0 did to Obj-C - which is to say shift the development emphasis towards compatibility with the proprietary Cocoa libraries. Don't get me wrong - I am writing this from a mac and I do like the Apple platform, but I do most of my actual hard core crunching on Linux machines.

Two cents.

···

On Apr 11, 2009, at 9:25 AM, Phlip wrote:

Robert Dober wrote:

Forgive my ignorance, should language X be on the Tiobe Index? For
what reason? Never heard of that one before (duking, but that is the
truth).

Home - TIOBE

Java is number 1 due (in my exalted opinion) to corporate support, a huge critical mass of active projects using it, academic support, and "enterprise support". The latter is roughly equivalent to "we had to spend a quintillion dollars on it last quarter, so it must be powerful stuff!"

C is number 2 due to almost complete saturation of the systems and OS programming layers. The next layer above machine language is C, so if you have silicon, you need C between it and your higher level systems.

C++ is number 3 due to complete bidirectional integration with C, plus all the same reasons as Java, plus C-like (or better) performance.

PhP is 4 because - until Rails - it was the default choice for RAD website development. Non-RAD website development is very rare...

Visual Basic is 5 because MS markets it to your non-technical boss as "simpler than all those fragile languages that cause bugs." 'nuff said.

JavaScript is on the list because it extends HTML to make your browser actually do stuff. It goes where HTML can't go.

C# made the list because it's a Java clone, and hence a "duopoly" in the same Enterprise space.

And the Duck Typing languages - Perl, Python, Ruby - are on the list due to the LAMP website architecture, where P stands for any interPreted language.

Lua is on the list because it provides the scripting layer - and Duck Typing - for video games.

It's obvious that Java is post-mature, and another language/platform will replace it as the default language choice for general purpose programming.
It is not obvious what will take Java's place. Technical features are not the most important factors in why a language becomes dominant. Low cost of entry, sexy tools, a functional community and endorsement by influential parties are all important.

In theory JRuby is an obviously good idea. How much uptake is it getting?
Can anyone speak about their experience using java tools like Yourkit or JxInsight or Optomizeit or Wily Introscope with JRuby?

···

On Apr 12, 2009, at 12:42 PM, Christopher Dicely <cmdicely@gmail.com> wrote:

On Sun, Apr 12, 2009 at 8:50 AM, Robert Klemme > <shortcutter@googlemail.com> wrote:

On 11.04.2009 21:14, Charles Oliver Nutter wrote:

The truth is the C implementations of Ruby are only one part of our quest
to conquer the world...there are a lot of developers out there on existing
VMs and platforms that need to be brought into the fold. And they're not
going to leave those platforms. The best way to bring them over is to
embrace the Ruby implementations for those platforms, and do everything
possible to make sure they're top-notch. The alternative is losing mindshare
to languages like Groovy or Scala on the JVM or IronPython, F#, or C# on the
CLR.

But why do you say those people "_need_ to be brought into the fold"? Do we
(or Ruby) really loose something if we do not insist on converting the world
over to Ruby?

Unfortunately, yes. Broadly speaking, the less widely used a language
is, the less effort and investment is placed into maintaining and
advancing it. But diversity helps, too, as the best new ideas from
Ruby may well come from things that come from other languages which
encourage different ways of thinking about the same problems.

*Quantity* ... CPAN far outnumbers Python, Ruby and other languages in
the number of packages. To paraphrase Garrison Keillor, "If it isn't
in CPAN, chances are you can build your application without it."

···

On Sun, Apr 12, 2009 at 12:07 PM, David Masover <ninja@slaphack.com> wrote:

But since you're probably going to get this answer from pretty much everyone
here, what does CPAN have that Rubygems lacks?

--
M. Edward (Ed) Borasky
http://www.linkedin.com/in/edborasky

I've never met a happy clam. In fact, most of them were pretty steamed.

There's no doubt that CPAN is a great resource. These are a few of its
highlights:
1. A single, cohesive website that categorizes all modules (http://
search.cpan.org/) for easy browsing.
2. A module namespace convention that helps one know what the module
does, rather than 'cute' names (Test::MockClass vs. Mocha,
PDF::ReportWriter vs. prawn, etc)
3. A search engine that returns not only description, but also last
update, and reviews. (e.g. Search for "xml\" - metacpan.org)
4. Page for each distribution with links to the classes and files,
dependencies, test results, etc. (Example: http://search.cpan.org/dist/XML-Twig-3.32/\)
Much better interface than Rubyforge.
5. Automated tests run by a cadre of volunteers. New releases of
modules are tested upon release on a variety of Perl versions and
operating systems. See the test reports and Perl/Platform Version
Matrix links on the distribution page.
6. Ratings. When there are many options for a particular task, seeing
the star ratings can help you whittle down the options to the best.
The overall highest rated modules tend to be the best-practice ones
you should be using.
7. The 'cpan' command comes with Perl. :slight_smile:
8. The 'cpan' command has a test harness and runs the tests before
installation. If a module doesn't pass its tests on your platform, it
is not installed.
9. CPAN has a very rich set of mirrors (http://mirrors.cpan.org/\) and
you can configure your local cpan command to use a subset, say a
primary and a backup (good for environments requiring firewall rules
to be in place for external access).

···

On Apr 12, 3:07 pm, David Masover <ni...@slaphack.com> wrote:

On Saturday 11 April 2009 14:30:06 Marcelo wrote:

> That and providing a CPAN-like resource, too. And before someone
> complains about this point, go look at CPAN and provide a
> point-for-point comparison with whatever alternative you have in mind,

I haven't used CPAN enough to know quite what features you're expecting.

But since you're probably going to get this answer from pretty much everyone
here, what does CPAN have that Rubygems lacks?

M. Edward (Ed) Borasky wrote:

···

On Sun, Apr 12, 2009 at 12:07 PM, David Masover <ninja@slaphack.com> wrote:

But since you're probably going to get this answer from pretty much everyone
here, what does CPAN have that Rubygems lacks?

*Quantity* ... CPAN far outnumbers Python, Ruby and other languages in
the number of packages. To paraphrase Garrison Keillor, "If it isn't
in CPAN, chances are you can build your application without it."

Uh, that refers to a small, obsolete general store that's close by, but cannot compete with the supermarket in the nearest town. Yes on home canning supplies, no on any jams without high-fructose corn syrup...

add one more: a really good front page for each project, with
description, quick usage notes and examples.

martin

···

On Mon, Apr 13, 2009 at 8:10 PM, Mark Thomas <mark@thomaszone.com> wrote:

There's no doubt that CPAN is a great resource. These are a few of its
highlights:

That's a good list of features, thanks for putting it together. Let's see:

1. Tricky one since there's more than one big source of gems. Well, there are two main ones - github and gems.rubyforge.org - plus a host of others. We could build such a site for RubyForge... would be interesting.

2. RubyForge has a "trove" that lets folks categorize their projects... we could work this into a new site somehow.

3. This would be nice indeed.

4. Same as # 3 :-). A lot of this information is there in the gem spec or inside the gem itself; would need to extract and render it.

5. Not sure if there's an effort like this going on anywhere in the Ruby world.

6. Could work this into RubyForge somehow if folks found it useful.

7. I think RubyGems is shipping with newer versions of Ruby (?)

8. This is something for Eric/Luis/other RubyGem guys to weigh in on... surely this has come up before...

9. We do need better mirror status visibility. I owe Ryan Davis an API for RubyForge so's he can fetch a mirror list. Would make sense to have a page on RubyForge for that as well.

All good stuff!

Yours,

tom

···

On Apr 13, 2009, at 10:40 AM, Mark Thomas wrote:

There's no doubt that CPAN is a great resource. These are a few of its
highlights:
1. A single, cohesive website that categorizes all modules (http://
search.cpan.org/) for easy browsing.
2. A module namespace convention that helps one know what the module
does, rather than 'cute' names (Test::MockClass vs. Mocha,
PDF::ReportWriter vs. prawn, etc)
3. A search engine that returns not only description, but also last
update, and reviews. (e.g. Search for "xml\" - metacpan.org)
4. Page for each distribution with links to the classes and files,
dependencies, test results, etc. (Example: http://search.cpan.org/dist/XML-Twig-3.32/\)
Much better interface than Rubyforge.
5. Automated tests run by a cadre of volunteers. New releases of
modules are tested upon release on a variety of Perl versions and
operating systems. See the test reports and Perl/Platform Version
Matrix links on the distribution page.
6. Ratings. When there are many options for a particular task, seeing
the star ratings can help you whittle down the options to the best.
The overall highest rated modules tend to be the best-practice ones
you should be using.
7. The 'cpan' command comes with Perl. :slight_smile:
8. The 'cpan' command has a test harness and runs the tests before
installation. If a module doesn't pass its tests on your platform, it
is not installed.
9. CPAN has a very rich set of mirrors (http://mirrors.cpan.org/\) and
you can configure your local cpan command to use a subset, say a
primary and a backup (good for environments requiring firewall rules
to be in place for external access).

Quality, actually. Quantity is just the cherry on top.

Start here: http://search.cpan.org/

What do you see?

From there, you can go here:

http://search.cpan.org/search?query=html+parser&mode=all

(I'm picking a not-so-random example, one that's good enough for
illustration purposes)

You see HTML::TreeBuilder there and check it out:

What do you see there?

I see a decent introduction, I see examples, I see a documented API,
written from the point of view of someone who wishes to use it yet
doesn't know enough about it, not from the point of view of someone
who already knows about it and wants to be reminded of a particular
detail, I see cross-references, I see links to other relevant
information, among which is this:

What do you see there?

I see history, I see reviews, I see a discussion forum, I see
information that's neatly organized...

I see *usability*.

And this is just scratching the surface of the website representation
of CPAN. CPAN is not only that website. As the name implies, CPAN is
a network of resources.

But David did hint at something else that I see as a problem: a
strange type of hostility towards criticism that not even the Perl
community displays. Oh, and that strange notion that rubygems somehow
works in the same problem domain as CPAN does. If something, rubygems
provides a small subset of the functionality that CPAN does. The main
difference I see is integration.

This is a good read: The Zen of Comprehensive Archive Networks

Marcelo

···

On Sun, Apr 12, 2009 at 18:22, M. Edward (Ed) Borasky <zznmeb@gmail.com> wrote:

*Quantity* ... CPAN far outnumbers Python, Ruby and other languages in
the number of packages. To paraphrase Garrison Keillor, "If it isn't
in CPAN, chances are you can build your application without it."

There is a reason Prawn has a cute name. It's not ready yet. As the
current maintainer of PDF::Writer (more like janitor), I did not want
to create confusion by putting Prawn into the PDF namespace until I
felt it was production ready. When Prawn reaches 1.0, it will at the
very least be aliased to PDF::Document.

So without arguing your main point, Prawn is an example in which this
was intentional, not coincidental.

-greg

···

On Mon, Apr 13, 2009 at 10:40 AM, Mark Thomas <mark@thomaszone.com> wrote:

There's no doubt that CPAN is a great resource. These are a few of its
highlights:

2. A module namespace convention that helps one know what the module
does, rather than 'cute' names (Test::MockClass vs. Mocha,
PDF::ReportWriter vs. prawn, etc)