Why Ruby?

I've asked several friends and associates (application developers) what
programming language they recommend for new development. The most
prevalent answer was Ruby (with Ruby-On-Rails a close second). This was
surprising to me, since my understanding is that Java and C (et al) are
most prevalent.

So I asked why. I received at least a handful of reasons from each
respondent, no answer consistently offered, none all that obviously
compelling. My initial reaction was "It's just the buzz", that is - a
fad. Further research revealed a thriving and mature community around
Ruby, so that initial reaction was probably too dismissive. So let me
ask the question more specifically and of a broader audience with
greater specific knowledge.

Is Ruby a good programming language for general purpose usage? That is,
is it worth the time and effort to become proficient?

The problem is that ANY programming language will probably require tons
of study and years of practice before a developer achieves proficiency.
Is Ruby worth the investment for someone seeking a new programming
language?

I don't want to skew responses by specifying a particular application or
usage. However, please DO respond with qualified answers if you feel
that is appropriate. Again, I don't want to sway responses by
specifying a background for the learner. Might be a relatively new
student of programming, might be an old-timer with decades of
development experience. Let's just assume reasonable intelligence,
interest and inclination to learn a new programming language. Given
that,

Is Ruby a good choice as a general usage programming language? Why (or
why not)?

···

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

I'm far from an expert on this list, but in my two years of experience with Ruby I'd say unequivocally yes, Ruby is worth learning. It's improved my programming generally.

Rails is a framework for the web written in Ruby, so if you're coming to this as a web developer, then Rails is an excellent introduction to Ruby. That's where I started and it's branched out to where Ruby has become my sysadmin scripting language of choice as well.

Jose
.......................................................
Jose Hales-Garcia
UCLA Department of Statistics
jose.halesgarcia@stat.ucla.edu

···

On Feb 2, 2010, at 7:19 AM, Jim Maher wrote:

The problem is that ANY programming language will probably require tons
of study and years of practice before a developer achieves proficiency.
Is Ruby worth the investment for someone seeking a new programming
language?

This was surprising to me, since my understanding is that Java and C (et
al) are
most prevalent.

It all depends on the application. For desktop apps on Linux, for example,
you'll find that C and C++ are the most popular. For web apps, it's probably
still PHP. For "The Enterprise," it's Java or .NET.

Is Ruby a good programming language for general purpose usage? That is,
is it worth the time and effort to become proficient?

I personally feel that every language is worth the time and effort. But
languages are what I'm into, so my opinion is slightly skewed. However, Ruby
is tied for my favorite language, so I'd still think that it's worth
learning.

The problem is that ANY programming language will probably require tons
of study and years of practice before a developer achieves proficiency.
Is Ruby worth the investment for someone seeking a new programming
language?

Well, again, it depends on what you want to do. Writing GUI apps in Windows?
Yeah, Ruby will work, and would probably be more enjoyable for me than using
.NET, but it's probably easier to use C#. Writing web applications?
Absolutely use Ruby. Want to do some cross-platform scripting tasks?
Absolutely use Ruby. Want to put a little bit of joy and fun back in
programming? That's Ruby. There's other reasons, too, but those are my main
uses.

Is Ruby a good choice as a general usage programming language? Why (or
why not)?

Well, without context, Ruby is a great language because when most people
think of OOP, they think of the C++/Java version of OOP, not Smalltalk style
message-passing OOP.

Actually I made up the term "object-oriented", and I can tell you I did not

have C++ in mind.

- Alan Kay

So if you've never programmed in that style, Ruby will teach you a thing or
two. Also, (some) Ruby emphasizes meta-programming more than any language
this side of Lisp, which is a wonderful, mind-expanding experience.

While the Rails culture is not the Ruby culture, it's absolutely the most
forward thinking group of people I've ever been involved with in terms of
software engineering. You won't find another community that's more obsessed
with Doing Things the Right Way. No other community values testing like
Rails does, for example.

Anyway, by now, I'm kind of rambling. Final word: Yes, absolutely worth
learning.

What languages do you already know?

Every good programmer must know at least on scripting language.
Ruby is a good choice.

Ruby: (I'm still noob)
  + nice language. You can be productive without being proficient!
  However for very large projects you may prefer languages which have
  static typing features (which catch more errors at compile time).
  I've read one thread telling that Ruby is bad for large projects
  because many things can be done in different ways. If you have
  different programmers working on projects you have to think about them
  all.
  However it is at least as good as Python(?), Perl(?) and much better than
  PHP. So learning Ruby will never be a waste of time.

What alternatives could you learn?

PHP:
+ you can get many code
+ many (all?) hosting services provide PHP support
+ it will never die because it's used often
+ easy to get started with
- Basically they clone Java .. But fail because PHP is slower
   and it lacks behind.
- you never know when syntax or similar errors occur..
   So live with this risk.
- no lambda like functions
- projects such as Phalanger or roadsend are not widely used.
   So I think the language is kind of stalled. It's kept alive
   because many projects are using it. But if you start learning a new
   language don't choose PHP.

- bash,zsh,.. (shell scripting)
  You can get many tasks done with Ruby. Unless you want to use
  interactive functions in Shell I'd even recommend ruby.

- Python
  I don't know the language that well. But I think that Ruby can express
  some things nicer. However they have some cool libraries such as SQL
  alchemy. (Don't know about Ruby ORM mappers)

- Scala (based on JVM)
  If you already know Java I'd say you should at least know about it.
  I don't know it very well. Nice: you can reuse Java libraries.

- Haskell
  It's cool. However it's not that widely used. Many libraries are still
  missing. Community is small but growing.
  It's interesting how much the small community has done.
  However it takes some time until packages are updated to run with
  latest GHC.
  However you will never have decent completion. So writing using
  foreign libraries always mean you have to dive into the type and look
  functions up yourself.
  - : no stack traces (there is monad-error library)
  - : big binaries (?). So don't write simple scripts in it..
  +/-: it's lazy. This can be nice and it can be hard to find bugs.
       Eg if you use
         contents <- readFile f
         writeFile f $ map (\_ -> 'x') contents
    
       you should think this does what you expect:
       read a file, change each character to 'x' and
       write the file into the same location..
       Now Haskell is lazy. It opens the file but doesn't read it.
       The second line truncates it so nothing is left to be read..

  When ignoring this kind of issue it's a very powerful language.
  If your application compiles it almost always work.

HaXe:
  Small community. But they get done a lot. HaXe targets C/C++, Neko,
  PHP, JavaScript, ActionScript (Flash). They are working on IPhone
  support etc as well (AFAIK).
  It has a strong type system.
  However because it's not use by very much users you may have to write
  some libraries yourself. However you can reuse them on any platform
  then.

Java:
  + great IDE's
  + many libraries (for everything you can think of?)
  - Some things are hard to learn, much xml.
  compared to Ruby you can't just write list.map {|v| conevrt v }.
  You end up writing for loops over and over again.
  But that's why other languages on top of JVM have been invented.

F#,C# .. The way to go on Windows today (?)

C: If you want to learn about segmentation faults and what a pointer is
  or if you want to do Linux kernel development you have no choice. You
  have to learn this language.

Erlang: Many concurrency frameworks? Well suited to get 99% uptime
  (At least they claim it..) don't know much about it.

Lisp: I don't know it very well. There is some movement as well. They
have webframeworks and there are dialects running on JVM as well which
indicates that the community (or parts of it) are moving as well.
http://clojure.org/.list

Be aware that a new language is being invented at least once a month.
So it depends on what you're looking for.

I'd say you should know basics of
C (so that you know what a pointer is ..)
Java (because you'll learn about IDEs. )
Haskell (to see what can be done if you study the language for over 2 years.. hehe)
PHP (kidding. PHP is only good for web development. But then I'd rather choose Ruby)

In any case it may be faster to hire someone knowing the tool of choice
for a given task then learning the language yourself.

So in the end if you know many people knowing Ruby well. Go for it.
It will help you a lot if you can just ask your neighbor occasionally
when you're stuck. If you want to solve a particular problem do some
research. If a solution exists take that (no matter which language it
was written in).

I hope this helps you a little bit.
Marc Weber

Is Ruby a good choice as a general usage programming language? Why (or
why not)?

Ruby is an object-oriented language. If you like OOL languages, then
Ruby is perfect for you. It allows you the freedom to create without a
lot of constraints.

Ruby on Rails is not a language but a framework, much like PHP is a
language but it is also composed of different frameworks. Ruby on Rails
is a big reason why people learn Ruby, but it's not the only reason,
just one of them.

Here are the absolute PROs to using Ruby:

* You can setup multiple ruby installations anywhere -
C:\ruby
C:\ruby19
C:\rubyisgood
C:\myrubyisbetter
.. for multiple versions and work with all of them. It supports
Windows, Linux, and MAC.

* There are multiple types of ruby, each suited just for you!

Ruby EE (Enterprise Edition - non windows)
JRuby (Java compiled Ruby)
Ruby 1.8.7 (standard)
Ruby 1.9.x (latest)
etc..

* You have multiple graphical libraries you can use, dependent
on your style of GUI design:

FxRuby
WxRuby
Tk
Monkeybars
etc. etc. the list goes on and on

* You have one of the biggest if not the best frameworks to use with
Ruby on Rails and a community that is so thriving around it, that there
is an average of 200+ emails per day just from that community alone in
support of development and response. So, if you like web development,
this is the right place for that.

In only one year of ruby development and 10 months of ruby on rails
development, I've created 3 full production web-sites, including one
paid subscription site, and a handful of console applications. I'm
working on a full-featured GUI application and having a lot of fun with
wxruby.

In other-words, you can do a lot with Ruby in a short amount of time.
There is instant gratification.

And, lastly, there are multiple testing environments for your code from
TDD to BDD with Rspec, Cucumber, etc. and not many language communities
thrive on the idea of testing - ruby does.

The CONS:

For me the cons really revolve around documentation, but mainly with the
older RDOC styles that Ruby uses. The older RDOC styles are harder to
read, IMO, compared to something like Microsoft's MSDN library where
everything is search-able and organized in a way that I enjoy. Others
might disagree with me and feel that the older RDOC style is fine. But,
to each his own.

Versioning differences can be difficult to understand and follow unless
you are in the core mainstream hub and understand all of the nuances of
what is being changed, updated, or coerced. But, if you are new to the
language, you might not suffer from that as badly if you stick with 1.9+
as there is now a compiler for windows and you can easily install from
mac and linux.

···

===

Other than that, you have my take on it. I have programmed in many
different languages and Ruby is the one for me now.
--
Posted via http://www.ruby-forum.com/\.

Ruby is a delight to program in. After spending the (short) time it
takes to grok Ruby, every other language you use will feel tedious and
limiting by comparison. You will feel like other languages are wasting
you, the programmer's, time.

Ruby is also the rising star of the programming world. The main thing
that was holding it back--execution speed--is going to be addressed
quite well with the upcoming Ruby 2.0 release. The new version is as
fast than the closest competing language, Python.

I think everyone should know a high-level "scripting" language and a
lower-level compiled language. Ruby and Java are a good combo,
especially since you can easily use Ruby together with Java thanks to
JRuby.

···

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

Quick answer: Yes.

Ruby is a more sophisticated language than either Java or C# that you
mention.
Technically Java/C# have less features, so there should be less to learn, in
practice
that means a lot of your learning is postponed until you encounter the
various
parts of the ecosystem required to be productive.

However, you can be productive at a very early stage when learning Ruby.
Mastery
is not a requirement to get useful work done. Checkout the Ruby toolkit
Shoes or
HacketyHack to get an appreciation of what can be accomplished by complete
novices
in Ruby.

I have over a decade of experience with Java, and the largest ruby program I
have
written, barely tips the scales at 1000 LOC, but I still turn to Ruby when I
need to
get stuff done. In many cases I find I am more productive in Ruby than in
Java for
equivalent tasks.

···

On Tue, Feb 2, 2010 at 3:19 PM, Jim Maher <jdmaher@jdmaher.com> wrote:

Is Ruby a good choice as a general usage programming language? Why (or
why not)?

--

I'm more of application developer and hacker than professional programmer, but I've learned the rudiments and used to varying degree maybe 10 languages, and dabble in many, many more, and I seem to always checking out some new one, it's a fascinating evolution. Learning Ruby is fun and a good investment if this is what you like, the more languages you learn, indirectly you learn more about computer operating systems, theory, etc and the easier it is to learn new ones. Each one has a crowd of passionate advocates. Ruby was very innovative when it first came out, it was the first language specifically for rapid web site development,and has been very influential, but many of it's best ideas have been subsumed into Java (groovy, gails) and php (cake/php), for example. Ruby has a wonderful group of users, and because of them it will probably continue to be very influential, but only has a tiny market share. As an example, Twitter was founded on Ruby, however has found not to be sufficiently scalable.

Brian Wolf
gOgO development, ltd
sedona,az

Jim Maher wrote:

···

I've asked several friends and associates (application developers) what
programming language they recommend for new development. The most
prevalent answer was Ruby (with Ruby-On-Rails a close second). This was
surprising to me, since my understanding is that Java and C (et al) are
most prevalent.I

So I asked why. I received at least a handful of reasons from each
respondent, no answer consistently offered, none all that obviously
compelling. My initial reaction was "It's just the buzz", that is - a
fad. Further research revealed a thriving and mature community around
Ruby, so that initial reaction was probably too dismissive. So let me
ask the question more specifically and of a broader audience with
greater specific knowledge.

Is Ruby a good programming language for general purpose usage? That is,
is it worth the time and effort to become proficient?

The problem is that ANY programming language will probably require tons
of study and years of practice before a developer achieves proficiency.
Is Ruby worth the investment for someone seeking a new programming
language?

I don't want to skew responses by specifying a particular application or
usage. However, please DO respond with qualified answers if you feel
that is appropriate. Again, I don't want to sway responses by
specifying a background for the learner. Might be a relatively new
student of programming, might be an old-timer with decades of
development experience. Let's just assume reasonable intelligence,
interest and inclination to learn a new programming language. Given
that,

Is Ruby a good choice as a general usage programming language? Why (or
why not)?

Ruby is a fun language to learn and incredibly flexible to work with: pick your favourite coding paradigm and Ruby will support it easily. Indeed of the many languages I've mucked about with in three decades of hacking it's the one I find closest to natural language, and that makes it ideally suited to writing simple programs that solve real-world problems in a maintainable manner.

If you're working in a Unix or Windows environment Ruby also meshes quite nicely with existing libraries and the underlying operating system. There's some work involved but that'd be equally true in most other high-level languages.

Ellie

Eleanor McHugh
Games With Brains
http://slides.games-with-brains.net

···

On 2 Feb 2010, at 15:19, Jim Maher wrote:

Is Ruby a good choice as a general usage programming language? Why (or
why not)?

----
raise ArgumentError unless @reality.responds_to? :reason

I've asked several friends and associates (application developers) what
programming language they recommend for new development. The most
prevalent answer was Ruby (with Ruby-On-Rails a close second). This was
surprising to me, since my understanding is that Java and C (et al) are
most prevalent.

Seems plausible.

Is Ruby a good programming language for general purpose usage? That is,
is it worth the time and effort to become proficient?

I think so.

Background: I'm a pretty decent shell programmer (I wrote a book on
portable shell scripting), and a pretty decent C programmer (was on standards
committee for quite a while, also I actually write code).

I love working in C. It's a very comfortable language for me. However, it's
sort of a hassle to do some kinds of things, like string manipulation. You
can, and if you do it carefully you can have it be both bulletproof and
reasonably efficient... But it's a lot of work. So sometimes I like to use
scripting languages. Obviously, I learned perl, way back when perl5 wasn't
even out yet. I've also done C++ (only a little), Java (a bit more),
Objective-C (a fair bit), and a few others.

Ruby is a really pleasant language to work in. It's expressive, and
well-suited to putting things clearly without a lot of extra verbiage. The
language favors writing tiny little helper functions which make it easy
to express things clearly, and help you avoid repeating yourself.
The object model is clear and, well, pretty. It avoids the hassle Java
has with some things being Objects and other things being Not Really Objects,
partially through trickery.

A big part of the fun of Ruby is that it doesn't feel all half-baked and
rushed. It seems to attract programmers who think a lot about the developer
experience of using an interface, rather than treating it as a checklist of
necessary functions, haphazardly named. A strong sense of effective style
and good conventions (the ? and ! suffixes on method names), for instance,
makes Ruby code often much more readable.

-s

···

On 2010-02-02, Jim Maher <jdmaher@jdmaher.com> wrote:
--
Copyright 2010, all wrongs reversed. Peter Seebach / usenet-nospam@seebs.net
| Seebs.Net <-- lawsuits, religion, and funny pictures
Fair game (Scientology) - Wikipedia <-- get educated!

I realize I'm late to the party, but...

I've asked several friends and associates (application developers) what
programming language they recommend for new development. The most
prevalent answer was Ruby (with Ruby-On-Rails a close second). This was
surprising to me, since my understanding is that Java and C (et al) are
most prevalent.

Quite possible, but it depends entirely what you're doing.

Is Ruby a good programming language for general purpose usage?

That depends what you're trying to do.

I don't want to skew responses by specifying a particular application or
usage. However, please DO respond with qualified answers if you feel
that is appropriate.

A quick analysis of Ruby's weaknesses:
- Even once you hack in support for Lisp-like macros, it's likely not going
to feel as natural as Lisp.
- Slow. Not as slow as people suppose it is, but it's not C, or even Lisp.
- Can be difficult to bundle into one exe, so it _may_ be difficult for
Windows desktop applications.

Now, I never got enough into Lisp to get really good at macros, and Ruby's
syntax is still flexible enough to do interesting things with it -- in fact,
at least a few of the great examples I've seen of Lisp macros can be done in
Ruby, though they obviously aren't Macros in Ruby.

So my answers are mostly going to be qualified by the other two concerns. Ruby
is my favorite language in every other respect, so I'm going to say, choose
Ruby for everything except places where you actually need vertical performance
(performance on a single machine) -- but actually measure it, don't just
assume! -- and for places where your target output is a single .exe, unless
you can figure out a better way to bundle a Ruby app for Windows.

This does mean, by the way, that Ruby is ideal for web development. You
control the installation (so you just make sure to get a web host which
supports Ruby, or which gives you enough control to use it), and you can
always throw more hardware at it, which is cheaper than developer time. There
are exceptions to this rule, but when you actually get to the point where
you're so big that it's worth a few months of developer time to shave 10% off
in performance, that's a nice problem to have, and it's worth getting there
before your competitors do.

That is,
is it worth the time and effort to become proficient?

That's a different question.

I never use Lisp, and I still consider it worth the time and effort to at
least learn the language. Ruby is very easy to pick up, and you should be able
to see very quickly whether or not it's worth the time and effort to become
_more_ proficient.

If you already know Java, many concepts will translate right over, but the
beauty of Ruby's syntax will make it hard for you to look at a Java program
again.

The biggest reason you should learn Ruby is to understand what it means for
code to look pretty, and why you might want your code to look pretty. Look at
some Ruby on Rails examples, and try to keep in mind that Rails is written in
pure Ruby -- that is, Rails is a Ruby library that adds this kind of thing:

30.seconds.from_now

However...

Again, I don't want to sway responses by
specifying a background for the learner. Might be a relatively new
student of programming, might be an old-timer with decades of
development experience.

This is also not something you can remove from the question. Again, if you
already know Java, some of the object model will be easier to understand, like
the concept of object references. If you know C++, it may take a bit for you
to understand why it's weird to ask about "passing by value" in Ruby, versus
"passing by reference".

Similarly, if you're just starting out, it depends who you ask -- I would say
you should learn Ruby, so you get excited about programming, and so you
actually start programming faster, without having to learn about nasty low-
level things like pointers and memory allocation. Others would say just the
opposite -- you should start low-level, so that by the time you get to Ruby,
you understand exactly what the language is doing under the covers. Either
way, you should eventually learn both high-level and low-level languages, for
the same reason -- you want to understand just what you're asking the language
to do for you.

On the other hand, if you are already incredibly proficient in something like
assembly language or COBOL, you might find that you've already found your
niche, and your job will likely not become obsolete -- so you might want to
learn Ruby as a curiosity, but it's questionable how useful it will be to the
actual work you do. If you're already incredibly proficient in Lisp, Ruby
might be a hard sell, because there are specific, measurable ways that Ruby is
less powerful than Lisp -- the biggest reason I prefer Ruby is syntax, and
most Lisp people _like_ s-expressions.

···

On Tuesday 02 February 2010 09:19:32 am Jim Maher wrote:

Hi!

Ruby is nice when you want to have a straight-forward, easy to use language.
You can write stuff very quickly, there are few restrictions and it is very
constistent (OOP). There are also some nice specials like blocks and mixins.
Ruby has good support for additional libraries (e.g. Qt+KDE for GUI).
But also when you simply want to calculate some things you can easily write
100 lines of Ruby. You should also consider that Ruby is terribly slow. E.g.
if you want to try it a few billion cases in an algorithm, that is often
possible in realistic time in C++ or even Java but not in Ruby. It is even
slower than scripting-languages like Python or Falcon. Currently C++ and Ruby
are my favourtire language, C++ does not know a lot of limits, is very fast
and provides very cool things with templates etc. (compile time meta-
programming), but it is also a bit complicated and inconstistent, Ruby is a
really nice toy I use wheneverit is easily possible.
A lot of people say that C++ is horrible, very inconsistent and complicate.
But that is not true. Most stuff is very consistent but it takes more time to
learn it, it is easier to think like Ruby than to think like C++.
And please do not learn Java, it is simply a stupid language, inconsistent
like C++, not as dynamic as Ruby and not as fast and not as many compile-time
capabilities as C++.

Jonathan

···

------------------------
Automatisch eingefügte Signatur:
Es lebe die Freiheit!
Stoppt den Gebrauch proprietärer Software!
Operating System: GNU/Linux
Kernel: Linux 2.6.31.8-0.1-default
Distribution: openSuSE 11.2
Qt: 4.6.2
KDE: 4.4.62 (KDE 4.4.62 (KDE 4.5 >= 20100203)) "release 2"
KMail: 1.13.0
http://gnu.org/
http://kde.org/
http://windows7sins.org/

I'm not a language aficionado, but I think Ruby is amazing. I started
with C/C++, later learned Perl and did some big projects with it, then
Python, Lua, and then Ruby. I loved Python. Years later I sat down to
learn Ruby and I never looked back. I never imagined that I would be
so pleased with a language. I'm not going to bother with a checklist
of whys -- you've just got to try it for yourself -- but It's really
is true what they say: Ruby makes programming fun. Even for jobs that
are otherwise loathsome, Ruby actually adds an element of fun. And it
is very powerful.

The other thing worth noting is its C API. I have done a number of C
extensions for various languages over the years -- in Python, Lua, and
also used SWIG. I think Ruby's C API is by far the friendliest and
easiest to use. It is considerably easier than Python's IMHO. Once you
get the hang of it, it is very easy to interface Ruby with C libraries
or wrap C++ classes or call into Ruby from C/C++.

All around I think Ruby is just a wonderful language. I'm just a
lurker on this list (I don't think I've ever posted anything before).
But as for whether Ruby is worth the time to learn -- I would say
absolutely. It will more than pay you back. It's just a pleasure to
use -- powerful, versatile and fun.

-- Mike

···

On Tue, Feb 2, 2010 at 9:19 AM, Jim Maher <jdmaher@jdmaher.com> wrote:

I've asked several friends and associates (application developers) what
programming language they recommend for new development. The most
prevalent answer was Ruby (with Ruby-On-Rails a close second). This was
surprising to me, since my understanding is that Java and C (et al) are
most prevalent.

So I asked why. I received at least a handful of reasons from each
respondent, no answer consistently offered, none all that obviously
compelling. My initial reaction was "It's just the buzz", that is - a
fad. Further research revealed a thriving and mature community around
Ruby, so that initial reaction was probably too dismissive. So let me
ask the question more specifically and of a broader audience with
greater specific knowledge.

Is Ruby a good programming language for general purpose usage? That is,
is it worth the time and effort to become proficient?

The problem is that ANY programming language will probably require tons
of study and years of practice before a developer achieves proficiency.
Is Ruby worth the investment for someone seeking a new programming
language?

I don't want to skew responses by specifying a particular application or
usage. However, please DO respond with qualified answers if you feel
that is appropriate. Again, I don't want to sway responses by
specifying a background for the learner. Might be a relatively new
student of programming, might be an old-timer with decades of
development experience. Let's just assume reasonable intelligence,
interest and inclination to learn a new programming language. Given
that,

Is Ruby a good choice as a general usage programming language? Why (or
why not)?
--
Posted via http://www.ruby-forum.com/\.

Jim Maher wrote:

Is Ruby a good choice as a general usage programming language? Why (or
why not)?

Hi Jim,

Technical reply :

       Ruby also has open source testing tools like

Watir
Selenium (On Ruby)
Celerity
and lot .....

      Lot of open source PROJECT management tools still using ruby.

Non-Technical Reply:

NOTE: I didn't mention any technical terms because already lot of
peoples explained about it. I am just sharing my experience with Ruby.
SO if it is not relevant to this topic then PLEASE IGNORE IT. But I hope
it will gives confidence for few peoples who are learning ruby.

    After read all the replies, I also want to say something about my
experience on ruby. I didn't studied any languages (even OOPS concept)
in college life(Last Bench Student :)..). But I got a offer from a
company as a TESTING ENGINEER. In my company they all did Only RAILS
Projects. So I started with Watir. Without learning Ruby, its very tough
to learn watir. So I started to learn Ruby. Within 20 days I can able to
write multiple ruby files and also I can able to combine and manage all
the ruby codes. Because comparing with other languages, RUBY is very
easy to cover the following topics,

1. FixNum, String,Array,Hash
2. If,For,While,Case
3. Methods,Classes
4. Single Inheritance, Multiple Inheritance(Mixin)
5. Include, Require, Load
6. File Concept
7. Error handling.
8. DB connectivity (mysql)

So within 20 days I had learned Ruby but I couldn't able to learn other
languages for 4 years(In My College life).

    In these 20 days only, I got programming knowledge and also oops
concept.

Now I have 3 years experienced in Ruby. Except my company works, I have
earned $5000(I am in India).Because I can automate anything with
RUBY(Watir,Selenium,Mechanize,Hpricot....).

So shortly --> learning Ruby is worth. (learn RUBY earn RUPEE)

Thanks

···

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

Yes, it is a good general programming language. Three main features I have
in mind:

- the syntax helps you expressing what you want easily and intuitively

- high-level abstractions (from iterators/blocks to complex meta-programming
features) help you breaking big problems in smaller problems without being
required to introduce explicit interfaces, templates, etc.

- test/unit and rspec help you writing a lot of tests without being annoyed
by the task.

In my opinion you cannot answer the question without reasonably "specifying
a background for the learner". A good language should make you a better
developer everyday, helps you reading other's code, helps you learning about
test-driven devel, and so on. Ruby expects some background, but also helps
you getting that background quickly.

B

···

On Tue, Feb 2, 2010 at 4:32 PM, Jose Hales-Garcia < jose.halesgarcia@stat.ucla.edu> wrote:

On Feb 2, 2010, at 7:19 AM, Jim Maher wrote:

> The problem is that ANY programming language will probably require tons
> of study and years of practice before a developer achieves proficiency.
> Is Ruby worth the investment for someone seeking a new programming
> language?

I'm far from an expert on this list, but in my two years of experience with
Ruby I'd say unequivocally yes, Ruby is worth learning. It's improved my
programming generally.

Rails is a framework for the web written in Ruby, so if you're coming to
this as a web developer, then Rails is an excellent introduction to Ruby.
That's where I started and it's branched out to where Ruby has become my
sysadmin scripting language of choice as well.

Jose
.......................................................
Jose Hales-Garcia
UCLA Department of Statistics
jose.halesgarcia@stat.ucla.edu

Sequel, ActiveRecords, DataMapper... :slight_smile:

···

El Martes, 2 de Febrero de 2010, Marc Weber escribió:

- Python
  I don't know the language that well. But I think that Ruby can express
  some things nicer. However they have some cool libraries such as SQL
  alchemy. (Don't know about Ruby ORM mappers)

--
Iñaki Baz Castillo <ibc@aliax.net>

I am not encouraging to learn PHP instead of Ruby, but:

<…>

PHP:

<…>

- you never know when syntax or similar errors occur..
So live with this risk.

What?

- no lambda like functions

Available since PHP 5.3

<…>

Regards,
Rimantas

···

--
http://rimantas.com/

Brian Wolf wrote:
[...]

As an example, Twitter was founded on
Ruby, however has found not to be sufficiently scalable.

That wasn't the fault of Ruby. It was the fault of poor DB design, and
possibly of Rails.

Brian Wolf
gOgO development, ltd
sedona,az

Best,

···

--
Marnen Laibow-Koser
http://www.marnen.org
marnen@marnen.org
--
Posted via http://www.ruby-forum.com/\.

  As an example, Twitter was founded on Ruby, however has found not to be
sufficiently scalable.

I think the problems that lead Twitter to move their backend to Scala are
more architectural than they are issues with Ruby as a language.

···

On Tue, Feb 2, 2010 at 11:29 AM, Brian Wolf <brw314@gmail.com> wrote:

As an example, Twitter was founded on Ruby, however has found not to be
sufficiently scalable.

--
Tony Arcieri
Medioh! A Kudelski Brand