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!

···

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

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

···

Álvaro Bernart <alvaro_bernart@hotmail.com> 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.

--

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

Ruby Quiz seems a good idea for this

HTH
R.

···

On Tue, Sep 28, 2010 at 2:53 PM, Álvaro Bernart <alvaro_bernart@hotmail.com> wrote:

*Examples of programs coded on Ruby, aside from Rails

*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* (Please Sir May I Have a Linker? – Joel on Software),
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.

···

On Tue, Sep 28, 2010 at 7:53 AM, Álvaro Bernart <alvaro_bernart@hotmail.com>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

- Puppet: http://projects.puppetlabs.com
- metasploit3: http://www.metasploit.com/
- IIRC: Some of FreeBSD's port collection tools are written in ruby.

All the best, Sandor Szücs

···

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

Klaus Stein wrote:

···

Álvaro Bernart <alvaro_bernart@hotmail.com> 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.
--
Posted via http://www.ruby-forum.com/\.

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 08:43, Klaus Stein <usenet@istik.de> 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.

I am pretty sure Shoes does this,

You are correct, it does.

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.

···

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

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&gt;
some days before.

So sorry about that.

Klaus

···

Iain Davis <feaelin@kemenel.org> wrote:

On Tue, Sep 28, 2010 at 08:43, Klaus Stein <usenet@istik.de> 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.

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.

--

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

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

Klaus

···

Álvaro Bernart <alvaro_bernart@hotmail.com> wrote:

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

--

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

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).

···

On Wed, Sep 29, 2010 at 1:55 AM, Klaus Stein <usenet@istik.de> wrote:

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&lt;http://www.catb.org/~esr/faqs/smart-questions.html&gt;
>
some days before.