Reasons to consider learning Ruby?

P

Preston Crawford

I'm completely new to Ruby and Python. I'd like to learn another language
I currently know most of the Microsoft mainstays like VB, C#, ASP,
VBScript as well as JavaScript, Java, PHP, etc. I'm interested in learning
another scripting language, mostly for fast proto-typing and also because
I have a gut feeling, that at least in Open Source circles, languages like
Python and Ruby are starting to pick up steam for glueing together
applications. Now with the news on Slashdot about Rails (as a web
developer by profession) Ruby has gained my attention.

So I'm wondering, for what reasons should I consider learning Ruby? I'm a
"Big Book" type of guy. I love buying one of those tree-killers and diving
into a new language. I'm trying to decide whether my next language to
learn will be Ruby or Python. I already know a bit about what makes Python
good. So my question to you guys is, why Ruby?

Also, do any of you have a feeling as to the future of Ruby? I know these
things can change on a dime, but my main interest in this regard is that I
know many shops are considering non-web-based Open Source solutions to
replacing existing Visual C++ and VB applications. Acting as an oracle
(i.e. taking a guess :) ) what kind of future do you think Ruby has in
this regard?

Thanks!

Preston
 
T

Tim Hunter

Preston said:
I'm completely new to Ruby and Python. I'd like to learn another language
I currently know most of the Microsoft mainstays like VB, C#, ASP,
VBScript as well as JavaScript, Java, PHP, etc. I'm interested in learning
another scripting language, mostly for fast proto-typing and also because
I have a gut feeling, that at least in Open Source circles, languages like
Python and Ruby are starting to pick up steam for glueing together
applications. Now with the news on Slashdot about Rails (as a web
developer by profession) Ruby has gained my attention.

So I'm wondering, for what reasons should I consider learning Ruby? I'm a
"Big Book" type of guy. I love buying one of those tree-killers and diving
into a new language. I'm trying to decide whether my next language to
learn will be Ruby or Python. I already know a bit about what makes Python
good. So my question to you guys is, why Ruby?

This is something of a perma-thread on this n.g. so probably the best thing
for you to do is to go do some searching on google groups for previous
discussions.

Also here's a couple of web pages:
http://c2.com/cgi/wiki?PythonVsRuby
http://www.ruby-doc.org/RubyEyeForThePythonGuy.html
 
G

Gennady Bystritksy

Preston said:
I'm completely new to Ruby and Python. I'd like to learn another language
I currently know most of the Microsoft mainstays like VB, C#, ASP,
VBScript as well as JavaScript, Java, PHP, etc. I'm interested in learning
another scripting language, mostly for fast proto-typing and also because
I have a gut feeling, that at least in Open Source circles, languages like
Python and Ruby are starting to pick up steam for glueing together
applications. Now with the news on Slashdot about Rails (as a web
developer by profession) Ruby has gained my attention.

So I'm wondering, for what reasons should I consider learning Ruby? I'm a
"Big Book" type of guy. I love buying one of those tree-killers and diving
into a new language. I'm trying to decide whether my next language to
learn will be Ruby or Python. I already know a bit about what makes Python
good. So my question to you guys is, why Ruby?

Also, do any of you have a feeling as to the future of Ruby? I know these
things can change on a dime, but my main interest in this regard is that I
know many shops are considering non-web-based Open Source solutions to
replacing existing Visual C++ and VB applications. Acting as an oracle
(i.e. taking a guess :) ) what kind of future do you think Ruby has in
this regard?

Thanks!

Preston

Buy yourself a "Big Book" called "Programming Ruby, The Pragmatic
Programmers' Guide" by Dave Thomas and get enlightened ;-). You can get
the book at http://www.pragmaticprogrammer.com/catalog/index.html

Alternatively, you can search the ruby-talk archives at
http://www.ruby-talk.org/ruby/ruby-talk/index.shtml

for something like "Ruby vs. Python". You will find a lot of "why Ruby"
reasons there.

Read, compare, decide for yourself. Do not expect anybody to set you on
"the right road".

Gennady.

P.S. Your post is very generic and smells like a troll (I beg your
pardon if it is not), so do not expect a lot of responces here, people
are just tired.
 
J

Joao Pedrosa

Hi,
So my question to you guys is, why Ruby?

Also, do any of you have a feeling as to the future of Ruby? I know these
things can change on a dime, but my main interest in this regard is that I
know many shops are considering non-web-based Open Source solutions to
replacing existing Visual C++ and VB applications. Acting as an oracle
(i.e. taking a guess :) ) what kind of future do you think Ruby has in
this regard?

As some people might say, this has been discussed before so
comp.lang.ruby can be searched on google. :)

But I believe in Ruby and the people that make Ruby what it is. If you
consider that people have different abilities and motivations, then
you might imagine that the people that make Python are different than
the people that make Ruby.

That said, i think that the code on the core and the libs of Ruby are
very high level and very open for use. Couple that with the nice mix
of features that are unique of Ruby, then you have a killer base for
new software.

One inspired programmer created the base of the Rails framework. So it
may take one inspired programmer for every library that we may ever
need. If you don't find your killer library, build it with Ruby,
enjoying what's available already. Join forces with the community if
you ever need.

In the end, it's about getting inspired. :)

Cheers,
Joao
 
P

Preston Crawford

Buy yourself a "Big Book" called "Programming Ruby, The Pragmatic
Programmers' Guide" by Dave Thomas and get enlightened ;-). You can get
the book at http://www.pragmaticprogrammer.com/catalog/index.html
Thanks!

Alternatively, you can search the ruby-talk archives at
http://www.ruby-talk.org/ruby/ruby-talk/index.shtml

Thanks again!
Read, compare, decide for yourself. Do not expect anybody to set you on
"the right road".

Of course. I wasn't expecting all the answers. And believe me, I Googled
this topic to death. The problem is, that it always seems to end up in...

"Python is more mature"
"Ruby is more fun"
"Python has more libraries"

...etc etc

I'm coming at this as someone who really likes the look of Ruby and I
guess I'm trying to find out if investing time in learning it (aside from
just what you gain from learning the language) is worth it in terms of
things you can actually do with it and how easily they can be done. I know
that's a little vague, but I meant it to be vague, mostly, minus the last
part.
P.S. Your post is very generic and smells like a troll (I beg your
pardon if it is not), so do not expect a lot of responces here, people
are just tired.

Understood. It's definitely not a troll, though. No offense take. I
understand how these things go (especially after Googling). If you reread
my last part of my post, that should tell you that I'm 100% serious about
hearing about how Ruby is being used out in the real world and what Ruby
developers think of its chances. By that I mean that any time one learns a
language there's obviously an investment in time if you want to get
something out of it. Since I don't know Python, nor Ruby, but have
leanings towards Ruby, my question was born out of sincere interest to
know what some of you thought its future held, in particular as a language
to develop desktop applications that need to be developed quickly. It
looks to me like both Python and Ruby have a bright future, not just as
web languages, but also in the afforementioned capacity, as languages to
do RAD work where you don't want to use VB or you want to move away from
VB or VC++. That's my primary interest and thus the reason I asked what
you all thought of its future in that regard.

Preston
 
P

Preston Crawford

Hi,


As some people might say, this has been discussed before so
comp.lang.ruby can be searched on google. :)

Of course. I've Googled this topic thoroughly. And (as mentioned in my
other response) the conclusions reached are generally the same. So the
tie-breaker from me, aside from how enjoyable a language is to use, is
what the future of the language holds. Thus my last paragraph. I'm
interested in learning a langauge where there's at least some potential
that down the road I might be able to use this do the same kind of work
that is done on the Microsoft side of the world with VB. i.e. Quick RAD
using a good quality language with hooks into a decent GUI toolkit. This
is the part I don't know as much about Ruby or Python. Other than I'm
aware that Python has pyQT, etc. But I have leanings towards Ruby, just in
terms of syntax and the way the language is constructed. That's why I
asked here.
But I believe in Ruby and the people that make Ruby what it is. If you
consider that people have different abilities and motivations, then
you might imagine that the people that make Python are different than
the people that make Ruby.

That said, i think that the code on the core and the libs of Ruby are
very high level and very open for use. Couple that with the nice mix
of features that are unique of Ruby, then you have a killer base for
new software.

That's what I gather. I've done Java for years. But sometimes you just
want to get things done. Thus my interest.
One inspired programmer created the base of the Rails framework. So it
may take one inspired programmer for every library that we may ever
need. If you don't find your killer library, build it with Ruby,
enjoying what's available already. Join forces with the community if
you ever need.

In the end, it's about getting inspired. :)

Thank you! That helps.

Preston
 
S

Stephan Kämper

Preston said:
So I'm wondering, for what reasons should I consider learning Ruby? I'm a
"Big Book" type of guy. I love buying one of those tree-killers and diving
into a new language. I'm trying to decide whether my next language to

It seems that the 'pickaxe' is for you. You can get it at:
http://www.pragmaticprogrammer.com/titles/ruby/index.html

It's up to date (covers Ruby 1.8.x) and really really well written.
It has a 'tutorial style' part as well as a reference to the Ruby
standard library.
learn will be Ruby or Python. I already know a bit about what makes Python
good. So my question to you guys is, why Ruby?

These are my reasons:
- The community is friendly, helpful and open minded
- It's easy to learn
- For me it works well on both 'unixoide' OSes and Windows
- It's readable code with out much 'noise' (semicolons,
parentheses...)
- It doesn't enforce one single program layout (indentation,
parentheses...)
- There's 'test/unit', YAML, RedCloth, Rails (you mentioned it),
RDoc, ri and oh-so-many useful (and easy to use too) libs etc.
- A lot of Design Patterns are 'built in' or easy to realize
(Visitor, Observer, Delegator...)
- It's a very dynamic language
- It's fun to work with
- I get things done right in a short time (among other things
thanks to 'test/unit')
- It fits my way of thinking

Also, do any of you have a feeling as to the future of Ruby? I know these
things can change on a dime, but my main interest in this regard is that I
know many shops are considering non-web-based Open Source solutions to
replacing existing Visual C++ and VB applications. Acting as an oracle
(i.e. taking a guess :) ) what kind of future do you think Ruby has in
this regard?

Good question. I don't think Ruby will replace any of the
extremely-wide-spread languages any time soon. And I don't mind. In
fact, I think an extremely larger Ruby community would (at least) tend
to be less kind, less helpful and less responsive.

Happy rubying

Stephan
 
A

Alexander Kellett

Of course. I've Googled this topic thoroughly. And (as mentioned in my
other response) the conclusions reached are generally the same. So the
tie-breaker from me, aside from how enjoyable a language is to use, is
what the future of the language holds. Thus my last paragraph. I'm
interested in learning a langauge where there's at least some potential
that down the road I might be able to use this do the same kind of work
that is done on the Microsoft side of the world with VB. i.e. Quick RAD
using a good quality language with hooks into a decent GUI toolkit.
This
is the part I don't know as much about Ruby or Python. Other than I'm
aware that Python has pyQT, etc. But I have leanings towards Ruby,
just in
terms of syntax and the way the language is constructed. That's why I
asked here.

ruby has qtruby. if you have time. compare the sources.
you'll understand afterwards why you should choose ruby :)
clever people gather around ruby for some reason, i'm yet
to understand why this is. i guess its something about ruby :)

Alex
 
F

Florian Gross

Preston said:
Also, do any of you have a feeling as to the future of Ruby? I know these
things can change on a dime, but my main interest in this regard is that I
know many shops are considering non-web-based Open Source solutions to
replacing existing Visual C++ and VB applications. Acting as an oracle
(i.e. taking a guess :) ) what kind of future do you think Ruby has in
this regard?

See http://www.rubygarden.org/ruby?RealWorldRuby for how Ruby is getting
used. Lately we have received lots of coverage because of the wonderful
Rails framework, there's lots of interesting applications getting
implemented in it like for example 43things.com.

I think we'll continue to grow rapidly in that direction, though I'm
pretty sure we can also do well in other areas.

Regarding rapid development of desktop GUIs you might be interested in
http://developer.kde.org/language-bindings/ruby/,
http://visualwx.altervista.org/ and Glade in combination with Ruby-GTK2.
(wxWidgets looks native on pretty much all platforms and GTK2 can at
least look native on Windows as well.)

Personally, I've used Ruby in lots of areas successful already and am
pretty sure that the language will continue to grow.

Other than that just enjoy yourself and don't worry too much about the
future. After all making the future happen is one of the things that's
fun to do with Ruby.
 
N

Nicholas Van Weerdenburg

Hi Preston,

I just started learning Ruby and a bit of Python last year, and I'll
share my experience.

Personally, I found comparing Ruby to Python a bit awkward. I read the
great Ruby Python comparisons on various wikis, but some how kept
ending up on Lisp pages (more later).

As for the direct comparison, there was the "more OO", "more fun",
"less libraries" aspect, but I really got a sense of why I liked Ruby
when I started looking at Smalltalk and Lisp.

1. most of the same language dynamic language benefits of python (a
rough and brutal summary- Perl in a readable, maintainable and OO
form)
2. more OO
3. more expression-oriented (python seperates expressions and statements).

Nothing that was earth shattering to me, but I was an OO enthusiast,
and quite liked Perl and it's conciseness, so Ruby looked nice, not
yet considering libraries, existing apps, and industry acceptence.

What really made it click for me was looking at Smalltalk and Lisp
comparisons. Ruby has been called both Smalltalk-inspired and an
infix-notation dialect of Lisp. That enables:

4. creating DSLs (domain specific languages)
A paraphrasing a comment on slashdot on the rails article today- if
Python didn't have list comprehensions already, it would nearly
impossible to add them. If ruby didn't, it would be fairly easy.

and
5. bottom-up programming to coincide with top-down. This somewhat
implies implementing a custom DSL as your program your application.

Paul Graham was useful in considering these:
Bottom-up programming:
http://www.paulgraham.com/progbot.html

What Made Lisp Different:
http://www.paulgraham.com/diff.html

Succinctness is Power
http://www.paulgraham.com/power.html

Ultimately, DSL+succintness (and indirectly expresion-orientation)
made me choose Ruby. I don't know if this is the incredible benefit as
postulated by Graham. There are links to strong Lisp people defending
Python at the bottom of articles. But ultimately, I find it fits my
mind and how I like to think about programming.

Don't know much Python yet, but plan to learn some in a few months
time permitting to compare. I'm also learning some Scheme and
Smalltalk to inform my Ruby programming.

And as for the Ruby libraries, I love them and haven't found too many
things that I'm missing for my needs.

Regards,
Nick
 
R

RCS

If an advice from a newly converted Python to Ruby programmer (I have
used Python for more than 6 years) is of any worth:

go with Ruby!


Ruby is simply a better designed language, better syntax, a more truly
object-oriented language, and as far as libraries goes, Ruby catches on
fast.

RCS
 
J

James Britt

Nicholas said:
Hi Preston,

I just started learning Ruby and a bit of Python last year, and I'll
share my experience.

Personally, I found comparing Ruby to Python a bit awkward. I read the
great Ruby Python comparisons on various wikis, but some how kept
ending up on Lisp pages (more later).
...

Ultimately, DSL+succintness (and indirectly expresion-orientation)
made me choose Ruby. I don't know if this is the incredible benefit as
postulated by Graham. There are links to strong Lisp people defending
Python at the bottom of articles.

I realize that what follows is a near-match for what might ordinarily
pass for either trolling or flame-baiting, but when I read a recent blog
entry about Python I nearly shot coffee out my nose:

http://www.genehack.org/2005/01/13#lisp-with-shitty-syntax

Two too-funny quotes:

"It's like they stole Lisp, and give it shitty syntax!"

and

"[P]erhaps Python was the subset of Lisp that was understandable by C++
programmers."



James
 
P

Preston Crawford

It seems that the 'pickaxe' is for you. You can get it at:
http://www.pragmaticprogrammer.com/titles/ruby/index.html

It's up to date (covers Ruby 1.8.x) and really really well written.
It has a 'tutorial style' part as well as a reference to the Ruby
standard library.

Picked this up tonight. Thanks for all the heads up, everyone!
These are my reasons:
- The community is friendly, helpful and open minded
- It's easy to learn
- For me it works well on both 'unixoide' OSes and Windows
- It's readable code with out much 'noise' (semicolons,
parentheses...)
- It doesn't enforce one single program layout (indentation,
parentheses...)
- There's 'test/unit', YAML, RedCloth, Rails (you mentioned it),
RDoc, ri and oh-so-many useful (and easy to use too) libs etc.
- A lot of Design Patterns are 'built in' or easy to realize
(Visitor, Observer, Delegator...)
- It's a very dynamic language
- It's fun to work with
- I get things done right in a short time (among other things
thanks to 'test/unit')
- It fits my way of thinking

That all sounds good. Actually, what sold me was when I read that it
helped some people understand OO better. Which I think is great. I've been
doing Java for 3 years now. So I'm still Jr. level in Java. So it would be
a nice side benefit if the language I learned for fun, also helped me to
understand OOP better. Sometimes you can get bogged down in Java
implementation and (especially if you don't have the time to stop and
really spend learning the language inside and out) not have as good a
handle on design patterns, etc.
Good question. I don't think Ruby will replace any of the
extremely-wide-spread languages any time soon. And I don't mind. In
fact, I think an extremely larger Ruby community would (at least) tend
to be less kind, less helpful and less responsive.

Maybe no. Anyway, thanks.

Preston
 
P

Preston Crawford

If an advice from a newly converted Python to Ruby programmer (I have
used Python for more than 6 years) is of any worth:

go with Ruby!


Ruby is simply a better designed language, better syntax, a more truly
object-oriented language, and as far as libraries goes, Ruby catches on
fast.

This helps too. Since essentially the competition for my time and "big
book" money was Python. In the ended I ended up getting the 2nd edition
PickAxe. I'm excited.

Preston
 
P

Preston Crawford

Hi Preston,

I just started learning Ruby and a bit of Python last year, and I'll
share my experience.

Personally, I found comparing Ruby to Python a bit awkward. I read the
great Ruby Python comparisons on various wikis, but some how kept
ending up on Lisp pages (more later).

I did the same thing and noticed the same trend. I also noticed Perl
mentioned over and over again as lineage for Ruby.
As for the direct comparison, there was the "more OO", "more fun",
"less libraries" aspect, but I really got a sense of why I liked Ruby
when I started looking at Smalltalk and Lisp.

That was part of why I went ahead and bought the Ruby book. I'd rather
spend my time on something pure OO.
Regards,
Nick

Thanks,

Preston
 
P

Phil Tomson

Of course. I wasn't expecting all the answers. And believe me, I Googled
this topic to death. The problem is, that it always seems to end up in...

"Python is more mature"
"Ruby is more fun"
"Python has more libraries"

..etc etc

I'm coming at this as someone who really likes the look of Ruby and I
guess I'm trying to find out if investing time in learning it (aside from
just what you gain from learning the language) is worth it in terms of
things you can actually do with it and how easily they can be done. I know
that's a little vague, but I meant it to be vague, mostly, minus the last
part.

Deciding between the two seems to come down to preferences. If you don't
prefer whitespace as syntax then you'll probably prefer Ruby. If you
think that whitespace as syntax is the coolest thing since sliced bread
then you'll probably prefer Python. But the whitespace issue is only the
first one you'll encounter.

I suggest you actually write some code in each language and then decide.
A project that would take a day or two.
Perhaps you could take a stab at one of the Ruby Quizes?

Understood. It's definitely not a troll, though. No offense take. I
understand how these things go (especially after Googling). If you reread
my last part of my post, that should tell you that I'm 100% serious about
hearing about how Ruby is being used out in the real world and what Ruby
developers think of its chances. By that I mean that any time one learns a
language there's obviously an investment in time if you want to get
something out of it. Since I don't know Python, nor Ruby, but have
leanings towards Ruby, my question was born out of sincere interest to
know what some of you thought its future held, in particular as a language
to develop desktop applications that need to be developed quickly. It
looks to me like both Python and Ruby have a bright future, not just as
web languages, but also in the afforementioned capacity, as languages to
do RAD work where you don't want to use VB or you want to move away from
VB or VC++. That's my primary interest and thus the reason I asked what
you all thought of its future in that regard.

One can only speculate about the future. Ruby's future does seem bright
at this point, but I'd still hesitate to make predicitons. The future
depends a lot on what new things Ruby-newbies will do with the language
as they master it.

Phil
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,968
Messages
2,570,152
Members
46,697
Latest member
AugustNabo

Latest Threads

Top