Ruby is exploding onto the scene as Java did at the end of 1990s

Slightly off topic

D is a great language,
at least theoretically, while not having Ruby Syntax Sugar and full dynamics
it has an enourmous amount of features from template mixins to generics etc.
I was upset I tried it the first time because I had troubles with the GNU
Compiler :frowning: [pitty me to confuse concepts and compiler, but you know if you
cannot try it out]
The Digital Mars Compiler works quite fine up to know.
Of course I just looked into it for one day, but I judged much too quickly.

My appologies to all D fans!

Robert

···

On 8/21/06, Robert Dober <robert.dober@gmail.com> wrote:

On 8/17/06, Chad Perrin <perrin@apotheon.com> wrote:

> On Fri, Aug 18, 2006 at 06:15:12AM +0900, Leslie Viljoen wrote:

As interesting as your whole argument sounds, it's light on specific
business drivers. Enterprise IT is in the middle of a secular
transformation that will fundamentally change the playing field for
traditional vendors. You've correctly perceived that an explosion in
development productivity is under way. At the moment it's being spent
in an orgy of wheel-reinventing that Java (through the miracle of
well-focused corporate sponsorship) managed to largely avoid. But
along with the miracle of corporate sponsorship came the horror of...
Java itself, and there is an argument to be made that it couldn't have
turned out any other way.

The right model for Ruby advocacy may not be Java but rather Python
(or Linux). If so, then success will come from organic growth and
slow, steady success, largely in projects far from the enterprise
mainstream (which these days is all bogged down thinking about
governance models for SOA- talk about expending cycles that don't
deliver business value!)

The payoff from the productivity explosion will come to enterprise
environments in time. One thing I'm confident about, however, is that
it won't necessarily accrue to the benefit of traditional technology
vendors. If I'm right, then trying to find a big corporate backer for
Ruby among today's big players may be counterproductive as well as
hard to do.

···

On 8/17/06, Charles O Nutter <headius@headius.com> wrote:
> I think there's a short answer that would please almost everyone: Ruby makes

development cheaper, more fun, and more compelling than it has been since
the late 90s.

Folks seem to so quickly forget that before Java came on the scene, most web
development was based on CGI, usually using Perl. The reason Java managed to
almost completely take over that space in a very short time is simple: it
was far, far more consumable than your average large-scale mid-90s
Perl-based web application. I had to maintain a few of those applications,
and man was it a boon to web development and Java (and others like PHP) came
along. Suddenly building web applications wasn't an exercise in pain (or at
least, not as much pain) and the explosion of applications going into 1999
and 2000 demonstrates that others felt the same way.

I disagree pretty strongly with that characterization. Java didn't
really provide much of anything in terms of benefits for web development
over Perl/CGI. Perl/CGI is far more accessible to beginners, both as a
programming toolset and in terms of what's available at common shared
hosting providers; Java applets suck; Perl/CGI is more portable (despite
the Java portability marketing); early server-side Java was a bit like a
spork in the eye in terms of performance and ease of deployment.

The real driver of Java success as a Web programming language was simply
Sun marketing. Paul Graham has suggested that the first step to
choosing the right tool for the job is usually to stand as far back from
the industry practices as possible, far enough back so that the only
thing you see is the big flashing neon sign for whatever toolset gets
the most hype, and discard that: in the case of web development, that
was Java for a long time. The fact Java had that big flashing neon
sign, however, suckered a heck of a lot of people into thinking it's the
only language worth using for web development. *That* is the real
reason Java gained as much traction in the web development sphere as it
did.

I, for one, have never found Perl/CGI development to be painful at all.
Looking at Java web programming code that has about a 30:1 weight ratio
as compared with Perl/CGI code, however, does tend to make the brain
smart a bit.

I think the business motivation for these big players to buy into Ruby is
simple: backing Ruby, funding Ruby projects, and building Ruby domain
expertise will help further the language that is (in my opinion) most likely
to increase demand for the software, hardware, and services that come along
with a really smashing development boom. If any one of those companies could
claim expertise in Ruby, support for running Ruby in concert with their
software and hardware solutions, and services for helping advance Ruby,
build Ruby applications, and support Ruby development work...they'd be
betting on a pretty solid horse.

I don't know that Ruby is the "most likely", but it certainly seems to
be in the top five, and any language in that short list is pretty nearly
equivalent to the others for these purposes at this point in time. Luck
will play a large part in determining what languages end up getting
adopted as the "next big thing", but so too does stuff like a critical
mass of interested developers, books on the shelves of bookstores, and
good business models behind the languages (or, at least, divorcement of
the language's potential success from any bad business models).

Beyond that, assuming this whole Ruby thing pans out, there's the spoils of
early adoption to be reaped. In 3 years, if Ruby is truly the big ticket
that Java has become, and if (for example) Sun can claim they've been a Ruby
backer all that time, people are going to be much more likely to trust that
Sun software, Sun services, and Sun hardware are the most Ruby-friendly on
the market. Google has captured mindshare these days because of that exact
situation: they figured shit out first, and now everyone else is playing
catch-up. All the other companies you listed are suffering from a serious
"boring" complex, afraid to bank on anything but their tried-and-true
stand-bys. If one of them were to break ranks and bet on Ruby...things would
get seriously interesting.

They might get that way, anyway. I see a lot of very successful (so
far) startups leveraging Ruby to good effect, both technically and in
terms of business concerns. We may well see a Java-equivalent marketing
bonanza arising semi-organically from a seething mass of small, "hip",
dynamic business efforts rather than a single, monolithic, 900 pound
gorilla corporate entity. If I had my druthers, that's how it would
happen. I'd like to see a few 900 pound gorillas forced onto some
pretty strict diets.

···

On Fri, Aug 18, 2006 at 06:21:54AM +0900, Charles O Nutter wrote:

--
CCD CopyWrite Chad Perrin [ http://ccd.apotheon.org ]
"There comes a time in the history of any project when it becomes necessary
to shoot the engineers and begin production." - MacUser, November 1990

> I think there's a short answer that would please almost everyone: Ruby
makes
>development cheaper, more fun, and more compelling than it has been since
>the late 90s.

As interesting as your whole argument sounds, it's light on specific
business drivers. Enterprise IT is in the middle of a secular
transformation that will fundamentally change the playing field for
traditional vendors. You've correctly perceived that an explosion in
development productivity is under way. At the moment it's being spent
in an orgy of wheel-reinventing that Java (through the miracle of
well-focused corporate sponsorship) managed to largely avoid. But
along with the miracle of corporate sponsorship came the horror of...
Java itself, and there is an argument to be made that it couldn't have
turned out any other way.

I'm inclined to agree, re: Java.

The right model for Ruby advocacy may not be Java but rather Python
(or Linux). If so, then success will come from organic growth and
slow, steady success, largely in projects far from the enterprise
mainstream (which these days is all bogged down thinking about
governance models for SOA- talk about expending cycles that don't
deliver business value!)

I'm inclined to agree here, as well -- most thoroughly. I'd rather see
that sort of organic growth, in part because it would likely ensure that
the potential for disillusionment when the realities of the language are
separated from the marketing is minimized. I think that Perl could be
added to the list of examples of the "right" model (it has had strong
successes, after all, and is still used widely and more so every year),
and that Logo should likely be listed amongst the examples of "wrong"
ways to do it (it's a victim of its own success as an "educational"
language: everyone thinks of it as a toy for children, while at least
one implementation of it is an easier-to-learn, truly powerful Lisp
dialect, and hype is what killed it).

···

On Fri, Aug 18, 2006 at 06:43:49AM +0900, Francis Cianfrocca wrote:

On 8/17/06, Charles O Nutter <headius@headius.com> wrote:

--
CCD CopyWrite Chad Perrin [ http://ccd.apotheon.org ]
This sig for rent: a Signify v1.14 production from http://www.debian.org/

Perl/CGI is far more accessible to beginners, both as a

programming toolset and in terms of what's available at common shared
hosting providers; Java applets suck; Perl/CGI is more portable (despite
the Java portability marketing); early server-side Java was a bit like a
spork in the eye in terms of performance and ease of deployment.

I have to agree with that entirely. At the time that Java was cranking
up, I was a Linux noob and was using some early version of RedHat.

I worked for endless nights trying to get the Java suite past RH's RPM
dependency hell and just about decided that I would have to stick with C
(which I hate using for just plain user apps). Then for some reason I
tried Perl (probably because it was the only language that I could make
work besides C) and after a few weeks realised the power of the language
and never looked back.

The code runs on any system, including windows (unless you are trying
really far out stuff), no problems with sub/sub/sub libraries missing.
The beginner can start with page one of the learning book right off,
rather than get frustrated with install dependencies that he/she can't
possible fix till lots of time goes by.

Ruby is almost the same as Perl from a beginner standpoint. It isn't
installed with the OS (yet), but getting it is only a matter of
apt-getting, or emerging or whatever. Then start programming that first
"Hello World" the same night.

krf

> > I think there's a short answer that would please almost everyone: Ruby
> makes
> >development cheaper, more fun, and more compelling than it has been
since
> >the late 90s.
>
> As interesting as your whole argument sounds, it's light on specific
> business drivers. Enterprise IT is in the middle of a secular
> transformation that will fundamentally change the playing field for
> traditional vendors. You've correctly perceived that an explosion in
> development productivity is under way. At the moment it's being spent
> in an orgy of wheel-reinventing that Java (through the miracle of
> well-focused corporate sponsorship) managed to largely avoid. But
> along with the miracle of corporate sponsorship came the horror of...
> Java itself, and there is an argument to be made that it couldn't have
> turned out any other way.

I'm inclined to agree, re: Java.

My point wasn't about Java, it was about what heavy backing like Java
received can do for a language. Java was arguably not the best language for
many jobs it got applied to; and yet look at it today. Wouldn't it be an
amazing thing if the same corporate push, the same level of resource
commitment was made for a truly excellent language like Ruby? Or would a
flashing neon Ruby sign sound the death knell for the language we know and
love? I obviously think it's the former.

> The right model for Ruby advocacy may not be Java but rather Python
> (or Linux). If so, then success will come from organic growth and
> slow, steady success, largely in projects far from the enterprise
> mainstream (which these days is all bogged down thinking about
> governance models for SOA- talk about expending cycles that don't
> deliver business value!)

I'm inclined to agree here, as well -- most thoroughly. I'd rather see
that sort of organic growth, in part because it would likely ensure that
the potential for disillusionment when the realities of the language are
separated from the marketing is minimized. I think that Perl could be
added to the list of examples of the "right" model (it has had strong
successes, after all, and is still used widely and more so every year),
and that Logo should likely be listed amongst the examples of "wrong"
ways to do it (it's a victim of its own success as an "educational"
language: everyone thinks of it as a toy for children, while at least
one implementation of it is an easier-to-learn, truly powerful Lisp
dialect, and hype is what killed it).

Again, the only analogue to Java is in what hard-core corporate backing can
do for a language. C# is another example...only marginally better than Java,
but already becoming very popular. Why do we keep making the same mistakes
time and time again? Why can't it be Ruby this time? There's another simple
answer:

Java was invented at Sun during a largely closed-source era. C# was invented
at Microsoft, a notoriously closed-source company. In both cases, they still
subscribed to the idea that in order to profit from something you had to own
it...anything "not invented here" was absolutely out of the question.

But times are changing. Both companies have started to embrace alternative
languages, and both have professed a belief in and support for Open Source
(though to a far greater extent at Sun). These companies and many like them
are realizing that ownership is only a small part of the big picture, and an
ultimately very expensive part. Thus, both Sun and Microsoft have declared
their respective platforms to be "multilingual" now and into the future,
though they're still hedging their bets on which languages will rise to the
top. Obviously, I think it will be Ruby. Others may disagree.

And please remember that Ruby by definition can't fall into the Java or C#
trap because it already IS "not invented here". By hooking up the corporate
wagon to the already fast-moving Ruby train, both the Ruby world and the
corporate world would benefit: the Ruby community and language would
continue their evolutionary, organic growth--already proven to be a very
succesful and compelling model--and the corporate world could provide
funding, resources, support, and peripheral enhancements to help take Ruby
that "last mile" into the heart of the largest organizations--arguably their
strongest reason for existence. IBM has been reaping great success from a
similar situation with the open source Java world, using a language and
platform they do not own. The same could happen for a community-driven
language like Ruby, once we convince the PHBs that we really do know what
we're doing.

···

On 8/17/06, Chad Perrin <perrin@apotheon.com> wrote:

On Fri, Aug 18, 2006 at 06:43:49AM +0900, Francis Cianfrocca wrote:
> On 8/17/06, Charles O Nutter <headius@headius.com> wrote:

--
Contribute to RubySpec! @ Welcome to headius.com
Charles Oliver Nutter @ headius.blogspot.com
Ruby User @ ruby.mn
JRuby Developer @ www.jruby.org
Application Architect @ www.ventera.com

Interestingly, I found Ruby installed by default on my bother's
Macbook Pro after struggling for quite some time trying to find out
how to install it. Now that's the sort of OS I can support, if only I
had the money!

Les

···

On 8/18/06, krf <krf@vega.com> wrote:

  Perl/CGI is far more accessible to beginners, both as a
> programming toolset and in terms of what's available at common shared
> hosting providers; Java applets suck; Perl/CGI is more portable (despite
> the Java portability marketing); early server-side Java was a bit like a
> spork in the eye in terms of performance and ease of deployment.

I have to agree with that entirely. At the time that Java was cranking
up, I was a Linux noob and was using some early version of RedHat.

I worked for endless nights trying to get the Java suite past RH's RPM
dependency hell and just about decided that I would have to stick with C
(which I hate using for just plain user apps). Then for some reason I
tried Perl (probably because it was the only language that I could make
work besides C) and after a few weeks realised the power of the language
and never looked back.

The code runs on any system, including windows (unless you are trying
really far out stuff), no problems with sub/sub/sub libraries missing.
The beginner can start with page one of the learning book right off,
rather than get frustrated with install dependencies that he/she can't
possible fix till lots of time goes by.

Ruby is almost the same as Perl from a beginner standpoint. It isn't
installed with the OS (yet), but getting it is only a matter of
apt-getting, or emerging or whatever. Then start programming that first
"Hello World" the same night.

Charles, once again I feel you are light on business drivers. Development
productivity itself is only a business driver for a company that sells
technology, not for a company that sells widgets or services. You give the
example of IBM. They have a deep and permanent commitment to Java, because
they sell Websphere, and anything that cuts into Java's hegemony will
threaten the market for Websphere. If I were IBM I would work very hard
against Ruby for that reason, and for another reason besides: anything that
increases development productivity decreases the value of IBM Global
Services. (IBM, not being dummies, recognize that this business is under
pressure, which is why they're trying to reinvent it as a management
consultancy.)

You also mention PHBs. But PHBs themselves report to still-higher PHBs (a
CIO ultimately reports to a CFO or a VP of operations), and no one in that
chain is interested enough in development productivity to push it as an end
in itself. They are interested in solutions to the larger business problems
that they face, which technology has not done a terribly good job of
addressing ("why don't we know what our customers are thinking?" "how can we
reduce our capital costs for inventory?" "why are you computer people so bad
at forecasting quarterly demand?" "why the hell doesn't my email work?")

Another problem with development productivity per se, which hasn't yet been
addressed, is how to create value *cumulatively* from it. In short (and at
the risk of being accused of Java-philia), Ruby applications don't work well
together, or with other enterprise systems (that represent capital assets
and may not be disregarded). I think Rails has a latent (and possibly fatal)
flaw in this regard, which Ruby itself does not share. But it's a problem
that must be solved.

For what it's worth, I think Google and (ironically) Microsoft, are
companies that might someday get into some serious Ruby advocacy.

Charles, once again I feel you are light on business drivers. Development
productivity itself is only a business driver for a company that sells
technology, not for a company that sells widgets or services. You give the
example of IBM. They have a deep and permanent commitment to Java, because
they sell Websphere, and anything that cuts into Java's hegemony will
threaten the market for Websphere. If I were IBM I would work very hard
against Ruby for that reason, and for another reason besides: anything
that
increases development productivity decreases the value of IBM Global
Services. (IBM, not being dummies, recognize that this business is under
pressure, which is why they're trying to reinvent it as a management
consultancy.)

Yes, IBM sells WebSphere, but not for very much. In some cases, if bundled
with IBM services, it's practically free. I will grant that any company with
a major vested interest in language X is less likely to invest in or support
language Y, but they need to be damned careful about that policy. They could
very quickly be blind-sided by Y when a major competitor realizes Y's
potential before they do. I think Ruby could be Y for a number of the big
corporations we're talking about.

And what, pray tell, is a good business reason to support any new language?
Why did Google choose to support Python so heavily? Why has Microsoft done
the same with IronPython and why are they providing funding for Ruby.NET? If
you're looking for reasons like "Ruby will increase profits nine jillion
percent" or Ruby will banish your competitors to the land of wind and
ghosts" then I'm not the person to talk to. But if you're looking for
technical, grass-roots reasons why a company should start focusing on Ruby
intelligence and support right now, that's what I've given you.

Why do we choose one language over another? Why do we want Ruby to be our
for-pay daily-development language of choice? Because we know...we know we
could get more work done...we know we and others would be happier...we know
the software world would be a brighter place. Maybe it's bright-eyed
optimism on our parts, maybe we're wearing Ruby-tinted glasses. But maybe
we've tried so many other languages and so many other development models and
so many other communities and finally found one that feels right.

We may not be able to show the business boys (yes, all the way up to the
top) MBA-endorsed reasons why Ruby is the way. What we can show them is an
enthusiastic, creative, vibrant, and growing community of some of the
smartest folks around. And we can give them the laundry list of current
successful ventures that started the same way. That's what we do...we take
empirical evidence and extract theories from it. I think it's safe to say
that the evidence points toward great success for Ruby and those who have
the good sense to use it.

Another problem with development productivity per se, which hasn't yet been

addressed, is how to create value *cumulatively* from it. In short (and at
the risk of being accused of Java-philia), Ruby applications don't work
well
together, or with other enterprise systems (that represent capital assets
and may not be disregarded). I think Rails has a latent (and possibly
fatal)
flaw in this regard, which Ruby itself does not share. But it's a problem
that must be solved.

And this is a perfect area where backing from experts in systems integration
could help. Of course we don't want CORBA. Of course we don't want EJB. Of
course we don't want gigantic SOA behemoths. Their failures are documented
better than their successes. But there's a lot of smart folks that have
learned from those mistakes that work for the big guys. Given freedom to
work within the community, to work with the community, to "innovate outside
the box"...everyone could win.

What IBM, Sun, and Microsoft could also bring to the table is in tools.
Eclipse and Netbeans are, while memory-intensive, really nice IDEs to work
with. And the beauty of Visual Studio is well documented. As another poster
mentioned, what acceptance would Java or C# have had without a vast array of
beginner-friendly tools to help make them accessible to the masses?

For what it's worth, I think Google and (ironically) Microsoft, are

companies that might someday get into some serious Ruby advocacy.

I have heard Google is intrigued by Ruby, but they have at least one staffer
who probably isn't a fan. And Microsoft is already supporting Ruby, by
providing some amount of funding for the Ruby.NET project. It's a small
start, but big things come in small packages.

···

On 8/17/06, Francis Cianfrocca <garbagecat10@gmail.com> wrote:

--
Contribute to RubySpec! @ Welcome to headius.com
Charles Oliver Nutter @ headius.blogspot.com
Ruby User @ ruby.mn
JRuby Developer @ www.jruby.org
Application Architect @ www.ventera.com

Charles, I'm going to let you have the last word but before I do, I'd
just like to ask if you've ever stopped to think what is the common
thread with technologies that have major-vendor support? In general,
they are heavy, difficult, full of committee-driven standards, and very
costly. In other words, no one could love them but a vendor.

Now think about the common thread with technologies that started off
developed by open communities, like Linux (and Ruby). Well, not all of
them are full of sweetness, light, and intelligent defacto standards.
But they all do seem to generate this big question, "what's the business
model?" The few companies that have come up with a coherent answer to
this question (RedHat, JBoss) are, I think, exceptions that prove the
rule.

And your point (expressed repeatedly and forcefully) that Ruby is a more
productive development technology, is precisely why no major technology
vendor is interested. Ruby doesn't create an opportunity to lock
customers into heavyweight commitments in order to force-feed them
terrifically expensive support and services.

So all your protestations notwithstanding, I'm not holding my breath
waiting for a major technology vendor to endorse Ruby. Its heavyweight
backing will have to come some other way.

I think Google can be helpful for the same reason they back Python: it's
one of the things they use internally and they want the community to
stay healthy. But if Python is the model, then Google's support will be
tepid at best. How they build their technology is not where their
business edge comes from, as much as we technologists want to believe it
is.

Microsoft's support will be a double-edged sword. Microsoft's goal is to
enforce their platform lock-in, so they want to make sure they get a
chance to co-opt any hot technology before someone else does.

···

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

Jumping in *way* late on this thread:

Regarding Google: I spent some time talking to Alex Martelli of Google
at OSCON and asked him about Ruby at Google. His bottom line was that
Python does the job, it does it rather well and they have no interest
in adding a fourth language to their three--language codebase (Java,
C++, Python). However, I've heard rumors that the Google satellite
office in Seattle has some Ruby stuff happening, largely due to the
efforts of Steve Yegge.

Regarding Microsoft: It's true that MSFT wants to make their developer
platform better than the competition (Java/Sun). It's also true that
there are some balancing forces in the .NET world with Mono - if all
of your code is C#, Mono makes it less painful to switch *away* from
Windows. Remember that Java's WORA also made it easier for folks to
switch away from Sun hardware / OS.

The bottom line is that *dynamic languages* are a key strategic area
for Microsoft's developer platform. They placed their initial bet on
Python and that's working out rather well as IronPython is rapidly
approaching 1.0 (they're in RC1 right now). They're also placing
another bet by returning Visual Basic to its more dynamic roots. I
think it would be a great idea if they made a strong bet on Ruby.

So if Microsoft or Sun made a strong bet on Ruby, the other would
invariably be forced to counter it. And the total amount of money is
relatively small - IronPython was created for probably less than $5MM.
I doubt it would cost that much for Ruby on top of the CLR, especially
since a lot of the groundwork was already done by the IronPython
project.

-John
http://www.iunknown.com

John Lam wrote:
> Regarding Google: I spent some time talking to Alex Martelli of
Google

at OSCON and asked him about Ruby at Google. His bottom line was that
Python does the job, it does it rather well and they have no interest
in adding a fourth language to their three--language codebase (Java,
C++, Python). However, I've heard rumors that the Google satellite
office in Seattle has some Ruby stuff happening, largely due to the
efforts of Steve Yegge.
The bottom line is that *dynamic languages* are a key strategic area
for Microsoft's developer platform. They placed their initial bet on
Python and that's working out rather well as IronPython is rapidly

No big surprise about GOOG and MSFT. If I had to guess where Ruby will
make a mark (apart from Rails' stable niche in low-end CRUD websites),
it would be in enterprise integration projects. I think a lot of people
who are trying to do that stuff in Java now will be pleasantly surprised
by Ruby.

That makes Oracle the dark-horse candidate for Ruby's champion. And
*maybe* IBM's Tivoli business unit.

···

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

Francis Cianfrocca wrote:

John Lam wrote:
> Regarding Google: I spent some time talking to Alex Martelli of
Google

at OSCON and asked him about Ruby at Google. His bottom line was that
Python does the job, it does it rather well and they have no interest
in adding a fourth language to their three--language codebase (Java,
C++, Python). However, I've heard rumors that the Google satellite
office in Seattle has some Ruby stuff happening, largely due to the
efforts of Steve Yegge.
The bottom line is that *dynamic languages* are a key strategic area
for Microsoft's developer platform. They placed their initial bet on
Python and that's working out rather well as IronPython is rapidly

No big surprise about GOOG and MSFT. If I had to guess where Ruby will
make a mark (apart from Rails' stable niche in low-end CRUD websites),
it would be in enterprise integration projects. I think a lot of people
who are trying to do that stuff in Java now will be pleasantly surprised
by Ruby.

That makes Oracle the dark-horse candidate for Ruby's champion. And
*maybe* IBM's Tivoli business unit.

Hmmm ... I can see the headlines now ... an Oracle hostile takeover of
an open-source community. Sheesh ...