# Ruby Nube

**URL:** <https://www.ruby-forum.com/t/ruby-nube/106933>\
**Category:** Ruby\
**Created:** [June 15, 2007, 2:04pm UTC](https://www.ruby-forum.com/t/ruby-nube/106933 "2007-06-15T14:04:36Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![musty](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/77aa72/32.png) [@musty](https://www.ruby-forum.com/u/musty)\
**Post date:** [June 15, 2007, 2:04pm UTC](https://www.ruby-forum.com/t/ruby-nube/106933/1 "2007-06-15T14:04:36Z")

</div>

Hello,

The concept of Dynamically Typed Languages has peaked my interest.  
However, I have spent sometime trying to find what problem they exactly  
solve. Can anyone tell me:

- What problems do dynamically typed languages such as Ruby solve?
- What is the business proposition for using a dynamic language such as  
Ruby over Java / C#?
- What kinds of things can be better with dynamic languages such as  
Ruby?

Thank you so much for your help. I have been searching the web for a  
while and I haven’t been able to find anything.

---

<div class="post-metadata">

**Author:** ![musty](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/77aa72/32.png) [@musty](https://www.ruby-forum.com/u/musty)\
**Post date:** [June 15, 2007, 2:20pm UTC](https://www.ruby-forum.com/t/ruby-nube/106933/2 "2007-06-15T14:20:47Z")

</div>

On 15.06.2007 14:04, Bill M. wrote:

> The concept of Dynamically Typed Languages has peaked my interest.  
> However, I have spent sometime trying to find what problem they exactly  
> solve. Can anyone tell me:
> 
> - What problems do dynamically typed languages such as Ruby solve?

Often scripting languages are dynamically typed, but there are others as  
well. I guess Ruby is most widely used for everyday scripting tasks and  
web development (Rails). I do believe there is a minority that uses it  
successfully for bioinformatics.

> - What is the business proposition for using a dynamic language such as  
> Ruby over Java / C#?

Um, I guess there is a ton of them. Strengths of Ruby are ease and  
speed of development. So every use case where that is important might  
be a candidate.

> - What kinds of things can be better with dynamic languages such as  
> Ruby?

Development with Ruby tends to be faster. I am not sure though whether  
that is related to the clean syntax and powerful functionality or to the  
dynamic nature. It probably all plays a role…

> Thank you so much for your help. I have been searching the web for a  
> while and I haven’t been able to find anything.

How about just trying it out? With many Linux distributions it’s just  
one more package you have to install, on Windows there is cygwin and the  
Windows installer version.

Kind regards

robert

---

<div class="post-metadata">

**Author:** ![musty](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/77aa72/32.png) [@musty](https://www.ruby-forum.com/u/musty)\
**Post date:** [June 15, 2007, 6:31pm UTC](https://www.ruby-forum.com/t/ruby-nube/106933/3 "2007-06-15T18:31:30Z")

</div>

On Jun 15, 2007, at 7:04 AM, Bill M. wrote:

> Ruby over Java / C#?
> 
> - What kinds of things can be better with dynamic languages such as  
> Ruby?
> 
> Thank you so much for your help. I have been searching the web for a  
> while and I haven’t been able to find anything.
> 
> –  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

Dynamic typing itself is not such a big deal, but it does mean less  
keyboarding, more concise code that is generally more readable.  
Dynamic typing allows more duck typing and introspection.  
You can try to send a message to an object. If it can do it, it will  
try.  
But you can actually ask the object if it can do something before  
doing it.  
Objective-C can also do this because it’s got a bit of a runtime  
But also, you get (sometimes arbitrary) language rules that can be  
useful.  
In practice, it just makes some things more convenient with automagic  
type conversions.  
puts 5  
will actually convert the Fixnum 5 to a string for you.

---

<div class="post-metadata">

**Author:** ![musty](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/77aa72/32.png) [@musty](https://www.ruby-forum.com/u/musty)\
**Post date:** [June 15, 2007, 7:05pm UTC](https://www.ruby-forum.com/t/ruby-nube/106933/4 "2007-06-15T19:05:42Z")

</div>

On 15.06.2007 18:30, John J. wrote:

> > - What is the business proposition for using a dynamic language such as  
> > Dynamic typing itself is not such a big deal, but it does mean less  
> > keyboarding, more concise code that is generally more readable.  
> > Dynamic typing allows more duck typing and introspection.  
> > You can try to send a message to an object. If it can do it, it will try.  
> > But you can actually ask the object if it can do something before doing it.  
> > Objective-C can also do this because it’s got a bit of a runtime  
> > But also, you get (sometimes arbitrary) language rules that can be useful.  
> > In practice, it just makes some things more convenient with automagic  
> > type conversions.  
> > puts 5  
> > will actually convert the Fixnum 5 to a string for you.

While I agree to the rest I would not attribute this example to dynamic  
typing. The same is possible (and is actually used) in Java because  
there (similarly to Ruby) toString() is a method of Object (the root  
class of the class hierarchy).

Kind regards

robert

---

<div class="post-metadata">

**Author:** ![musty](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/77aa72/32.png) [@musty](https://www.ruby-forum.com/u/musty)\
**Post date:** [June 15, 2007, 7:17pm UTC](https://www.ruby-forum.com/t/ruby-nube/106933/5 "2007-06-15T19:17:44Z")

</div>

On 6/15/07, Bill M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> - What kinds of things can be better with dynamic languages such as  
> Ruby?

Dynamic typing is based on the intuition that the language system itself  
can  
discover the types you intended to use. If you’re a dyed-in-the-wool  
static-language programmer like me, this notion sounds nothing short of  
insane at first. As it turns out, however, not only is it essentially  
correct, but the errors you make under dynamic programming are not  
usually  
difficult to find.

Dynamic typing is one of those few things that seem like they must be  
wrong,  
but then surprise you by how right they are.

For the first two years after I learned Ruby, I wrote Ruby programs that  
looked like uglier versions of C programs. Then the penny dropped. Now  
my  
only real problem with Ruby is its abysmal scalability to large data  
sets.

---

<div class="post-metadata">

**Author:** ![musty](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/77aa72/32.png) [@musty](https://www.ruby-forum.com/u/musty)\
**Post date:** [June 15, 2007, 7:17pm UTC](https://www.ruby-forum.com/t/ruby-nube/106933/6 "2007-06-15T19:17:43Z")

</div>

> On 15.06.2007 14:04, Bill M. wrote:
> 
> > The concept of Dynamically Typed Languages has peaked my interest.  
> > However, I have spent sometime trying to find what problem they exactly  
> > solve. Can anyone tell me:
> 
> > - What problems do dynamically typed languages such as Ruby solve?

> > - What is the business proposition for using a dynamic language such as  
> > Ruby over Java / C#?
> 
> > - What kinds of things can be better with dynamic languages such as  
> > Ruby?

Robert K. wrote:

> Development with Ruby tends to be faster. I am not sure though whether  
> that is related to the clean syntax and powerful functionality or to  
> the  
> dynamic nature. It probably all plays a role…

Definitely faster. As Robert K. says, it all plays a role.

Even the fact that Ruby is an interpreted language vs. Java and C#  
being compiled languages plays a role. In compiled languages your  
development cycle goes:

Edit/Compile/Run/Repeat

while in interpreted languages it goes like this:

Edit/Run/Repeat

which tends to be faster, particularly in the early / exploratory  
stages of development - it lets you try out more alternatives in the  
same amount of time - so you have a better chance of coming up with a  
better design or you can use this benefit to refactor your code more  
to make it better (sooner).

To be fair, though, compiled (and therefore statically type-checked  
languages) do have some advantages - certain kinds of errors tend to  
be caught earlier, at compile time, particularly those due to using  
incompatible types, method calls that don’t match the signature of the  
method definition, etc. But its a bit of a moot point as to whether  
either kind of language is better in absolute terms in this regard -  
you’ll find plenty of opinions in both camps. (If you Google enough  
you’ll get to read plenty of discussions on this …). Also the topic  
is too big to be fully covered in a few posts …

Best thing to do is to try Ruby out and see if it works well for you.

Vasudev Ram

> **[dancingbison.com](http://ww38.dancingbison.com/)**
>
> Learn Python Programming
