Ruby Work

Hi. I’m doing a research on coding languages, and I was assigned with
Ruby, and I was hoping you could get me some information. Anything
helps.
What I need is as follows:

*Ruby’s main uses as a code language.
*Tools used for coding Ruby
*Ruby’s pros and cons
*Examples of programs coded on Ruby, aside from Rails

With you could provide me with any of the itens on the list, I would be
very grateful!

Álvaro Bernart [email protected] wrote:

Hi. I’m doing a research on coding languages, and I was assigned with
Ruby, and I was hoping you could get me some information. Anything
helps.

I am not interesting in doing your homework.
Nevertheless using some nice search engine you will be able to find all
kinds of resources (from ruby-lang to wikipedia) which will you provide
with
enough information to ask the more interesting questions here…
And I am sure many helpful peope will be happy to help then.

But collecting and compiling the base information is part of your
homework
and should be done by you, not by us. There is a bunch of information
out in
the web answering each of your questions.

Klaus

The Answer is 42. And I am the Answer. Now I am looking for the
Question.

On Tue, Sep 28, 2010 at 2:53 PM, Álvaro Bernart
[email protected] wrote:

*Examples of programs coded on Ruby, aside from Rails
Ruby Q. seems a good idea for this

HTH
R.

Klaus S. wrote:

Álvaro Bernart [email protected] wrote:

Hi. I’m doing a research on coding languages, and I was assigned with
Ruby, and I was hoping you could get me some information. Anything
helps.

I am not interesting in doing your homework.
Nevertheless using some nice search engine you will be able to find all
kinds of resources (from ruby-lang to wikipedia) which will you provide
with
enough information to ask the more interesting questions here…
And I am sure many helpful peope will be happy to help then.

But collecting and compiling the base information is part of your
homework
and should be done by you, not by us. There is a bunch of information
out in
the web answering each of your questions.

Klaus

I never asked that you do my homework, I’m asking people who actually
uses Ruby and therefore can give me more personal answers than the ones
I can find on the web. If you didn’t want to help, you could have just
said so.

On Tue, Sep 28, 2010 at 08:43, Klaus S. [email protected] wrote:

I am not interesting in doing your homework.
Nevertheless using some nice search engine you will be able to find all
kinds of resources (from ruby-lang to wikipedia) which will you provide with
enough information to ask the more interesting questions here…
And I am sure many helpful peope will be happy to help then.

Klaus,

Are you certain that’s for the best? It is true that there are many
websites out there that talk about Ruby and its features. There are
also many websites that talk about how “Ruby Sucks!” and more than a
few of those give plausible sounding reasons. Álvaro appears to have
no knowledge of Ruby.

Do you really wish his knowledge of Ruby to be composed of whatever
information he happens to find on the web? Or would you rather provide
him some excellent starting points? Sources you and others on this
list trust to be credible, that speak fairly of Ruby’s wonders and
Ruby’s shortcomings?

Iain

On Tue, Sep 28, 2010 at 7:53 AM, Álvaro Bernart
[email protected]wrote:

*Ruby’s main uses as a code language.

Rails, because you can install Ruby on your server, your clients don’t
need
to have it. Also, with caching, speed of the app is less important.
Also,
people cannot see your source code when it is running on a server. So
this
addresses the biggest reservations to Ruby.

*Tools used for coding Ruby

A text editor is sufficient, though there are some IDEs. If you search
the
archives, you can find a google doc with an enormous list comparing
different IDEs and editors. I also keep a browser open, and reference
the
docs often.

*Ruby’s pros and cons

Pros:

  • Expressive yet terse syntax. There are some exceptions (File methods,
    for
    example) but Ruby code has a tendency towards beauty, the Ruby community
    is
    also largely dedicated to this.
  • Its dynamic nature allows it to support very powerful abstractions.
    You
    probably couldn’t have a framework like Rails in a static language.
    DataMapper, for example, will look at the state of your code at runtime,
    and
    write SQL to update your database’s schema to match. In ActiveRecord, if
    you
    have a database table called “users” and users have an attribute called
    “name” then ActiveRecord would give you a method
    User.find_by_name(“Josh”)
    and it would look in the users table for the record with the name of
    “Josh”.
    You get that for free, because that is how your database is structured,
    you
    didn’t have to write any code for it. Whats more, in older versions (I
    don’t
    think they still do it this way), that method would not even exist until
    the
    first time you called it, then ActiveRecord would go create the method
    for
    you.
  • Smalltalk like pure object oriented implementation (everything is an
    object), you can say things like 5.times { puts “hello world” }, you can
    pass around methods and classes as parameters, operators are objects,
    numbers are objects, classes are objects.
  • Operator overloading, namespaces, memory management, single
    inheritance
    with mixins, useful built-in classes like regex and hash
  • Built-in support for functional programming (Ruby’s code blocks, the
    source of so much power)
  • Structured enough for large apps where purely scripting languages (ie
    bash) are not
  • It is fun to program in :slight_smile: you will really get excited
  • Though it has some problems, rubygems provides a standard interface to
    third party gems, making it much easier to find and install libraries
    that
    can provide huge functionality gains (Rails, for example, is acquired
    through rubygems)

Cons:

  • As a dynamic language, it is slower than static compiled languages,
    though
    JRuby and MRI1.9 have speed on par with other dynamic languages.
  • As a dynamic language, your source code is interpreted, which means it
    must be present on the computer running it, so if you have proprietary
    information in there, then to run your program, people need your code,
    and
    therefore access to your information (it is possible that Rubinius
    addresses
    this with its byte-code system, I’m not sure)
  • As a dynamic language, people need the Ruby runtime installed, most
    systems do not come with it (Mac does, but its an older version), and
    most
    people are not going to install it. As Joel Spolsky says in regards to
    installing the .NET runtime “If we asked our trial users, usually small
    organizations and home users, to go through a movie-length installation
    hell
    just to try our app, I think we’d probably lose 95% of them. These are
    not
    customers yet
    (http://www.joelonsoftware.com/articles/PleaseLinker.html),
    they’re prospects, and I can’t afford to give up 95% of my prospects
    just to
    use a nicer development environment.” Perhaps some tools can package it
    with
    your app such that this is not the case, I am pretty sure Shoes does
    this,
    but I’m not sure about that. Static languages don’t have to worry about
    this, because they get compiled directly to machine code. They also give
    up
    a lot of power through this, though I’m not sure how much is due to
    being
    static, and how much is due to culture. For example, the D programming
    language looks like it has addressed a lot of the shortcomings of other
    static languages, though at this point it is still unfortunately
    immature.
    Mirah, a language with Ruby syntax that compiles to Java, has got my
    hopes
    up too, though I suppose you could argue about whether JVM languages
    deserve
    to be classified with static languages, and its unfortunately even less
    mature than D.
  • Green threads (JRuby uses Java’s native threads, IDK about the other
    implementations)

*Examples of programs coded on Ruby, aside from Rails

Rails isn’t really a program (though, I suppose it technically has an
executable – emasculated though it has been for most of its existence).
It
is a framework that you can use, a bunch of libraries and conventions.
In
that regard, Puppet for and Metasploit are two well known frameworks
written in Ruby. If you are really wanting programs, then Rails’ site (
http://rubyonrails.org/) gives examples of Twitter, Github, and Yellow
Pages
(among others), though that is Rails. My text editor TextMate has
significant portions of it coded in Ruby.

Iain D. [email protected] wrote:

few of those give plausible sounding reasons. Álvaro appears to have
no knowledge of Ruby.

I confess I may have overreacted. What triggered me was not the content
of
the question but the way it was done.
The
: What I need is as follows:
: * …
sounds like a shopping list.

If I tell my students to do a term paper or talk on Ruby I want them to
learn how to collect information from various sources and compile it.
This is the purpose of such a task.

It is totally ok to ask in newsgroups etc for additional information.
So what I would expect questions which show that the student has done
some
research and now asks about opinions or details.

Maybe I was biased because I read Eric Raymonds nice text about
“How To Ask Questions The Smart Way”
http://www.catb.org/~esr/faqs/smart-questions.html
some days before.

So sorry about that.

Klaus

The Answer is 42. And I am the Answer. Now I am looking for the
Question.

On Wed, Sep 29, 2010 at 1:55 AM, Klaus S. [email protected] wrote:

Maybe I was biased because I read Eric Raymonds nice text about
“How To Ask Questions The Smart Way”
<How To Ask Questions The Smart Wayhttp://www.catb.org/~esr/faqs/smart-questions.html

some days before.

Its hard enough being new as is, there is just so much information, and
so
much of it you either need experience or have someone experienced in
order
to learn it. Perhaps I am biased in that I don’t have anyone experienced
to
help me (ruby talk is my users’ group), which makes learning that much
more difficult. I read a lot of books, watch a lot of screencasts, try a
lot
of ideas, fail a lot, try again, fail again, try again, until I
eventually
hit the “oh” point where I understand the concept well enough that it
actually makes sense.

There probably are lots of losers (a word the smart-questions article
enjoys
synonymizing with newbies), but there are also a lot of people like me,
who
are just overwhelmed by their ignorance, and maybe don’t even know what
the
right question is, or why their question is bad or doesn’t make sense.

Anyway, I figure if an instructor wanted me to gather information about
a
language, I would think that addressing the language’s community
newsgroup
would be a good resource – who would know better? So I would be
surprised
to have them tell me I was trying to slack off.

Anyway, I hate the smart-questions article, it reminds me of all the
assholes who hang out in the bash irc channel, they won’t help you
figure
out the simple obvious problem that they could solve in one line, until
you’ve been humiliated for a half hour or so. Getting an answer there is
an
exercise in tenacity and humility. Aside from the “it wasn’t me, it was
the
Asperger’s”, the article just reeks of bully on a playground. The
advice to
observe lists for days before posting just shows its all about who is
king
of the hill, better respecting their turf, and even though the premise
of
the advice is that your question is perfect, you shouldn’t just ask, or
you’ll get clobbered by the breadth of their egos.

So, I try to help people newer than me out as often as possible. And may
the
gods bless Stack Overflow (though, questions like this aren’t
particularly
well received there, either).

I am pretty sure Shoes does this,

You are correct, it does.

On Sep 28, 2010, at 2:53 PM, Álvaro Bernart wrote:

*Ruby’s main uses as a code language.

  • webapps with frameworks like rails, sinatra, …
  • scripts for system maintenance
  • daemons
  • exploits

*Tools used for coding Ruby

A texteditor, irb, minitest, …

*Examples of programs coded on Ruby, aside from Rails

All the best, Sandor
Szücs

Álvaro Bernart [email protected] wrote:

Again, thanks to you all who helped me so kindly.

Sorry about my former rough response, I wish you all the best for your
presentation.

Klaus

The Answer is 42. And I am the Answer. Now I am looking for the
Question.

Thanks to all of you guys. You can’t imagine hou much you helped me by
answering these questions.

I know I might have sounded a bit wrong. but with everything you’ve
given me, I was able to deepen my research and it came out very well.

The presentation is tomorrow, and I’m sure that you have played a big
part on it.

Again, thanks to you all who helped me so kindly.