Should I Learn Ruby as a First Language?

Todd,

Thank you for your reply.

That type of thing pops up pretty often on this group.

In engineering, you need to know the fundamentals. With Ruby, it is
somewhat of a gray area. With Rails, you risk giving something to
somebody that is powerful with the side effect of gun-in-baby’s-hands
syndrome.

I know what you mean (and what others mean who have voiced analogous
conclusions) I used to translate legal documents professionally, and
was often horrified by translations created using translation software
by people who - even though they were bilingual - had no knowledge of
the underlying principles and subject. It is one of the reasons I left
that market: since those folks would do it for peanuts, companies
began to send me that stuff expecting me to “just clean it up” for 1/3
the going rate since “well, it is more than halfway done” (when in
actuality it takes 200% more work to clean up a mess than to start
from scratch and do it right the first time) . . .

So, where do you start? I’d say skim through the K&R C book,
read/scan through a couple of design oriented books, and then tackle
Ruby/Python/Perl/whatever with an open mind (meaning, awareness of
different programming paradigms – hanging out in the book store is
not only pragmatic, but also allows you to ogle your
competition/pretty girls or guys/whatever :slight_smile:

I will keep this approach in mind, it strikes me as very pragmatic and
balanced, I had considered something similar but figured I was wrong
by not knowing enough to reach an accurate conclusion in the first
place. Oh, and btw, it’s girls I ogle :wink:

Programming is not entirely Knuth anymore. Although, you could learn
a lot from the guy. On a similar note, a person should avoid trying
to turn Ruby into C or Python like 7stud and some others like to.

Will keep in mind . . .

Cheers,

Maurice

Dave B. wrote:

Mark W. wrote:

With top-down, you start with your ultimate objective, and
stop when you’ve gone down far enough.

But you never really understand what you’re doing; you end up learning a
set of rules and prescriptions instead of basic principles. Do this and
it works; do that and it doesn’t.

Of course this could get very philosophical. What do I mean by “really”,
“understand” and “basic principles”? :wink:

You can certainly drive a car without knowing what goes on inside the
engine. Millions do. But some of us (especially those from an
engineering background) like to know how it works, at least in outline.

So true! In the end, the one that understands more of what is going on
will solve the really tough problems where the one that plunks around
until he muddles there cannot. Still, there is a great deal of effort
required in the learning process.

“Thinking is the hardest work there is, which is why so few people do
it.” - Henry Ford

You could learn enough to do what you want to do and save delving for
when delving is required. If there is another notion to consider it is
that it should be fun. If it is not fun for you then you will never get
far. Programming takes far too much brain power to do it without joy.
Certain projects and parts will be joyless but that is true for
everything. If you cannot find joy in it, then do something else. Go
to the strata where things are fun and stay there until necessity drives
you out but return ASAP! :slight_smile:

Hello everyone,

Very well, this discussion has played out so to speak, thus I have
decided to submit this last post, so as to thank everyone who
participated - I appreciate it quite a bit, and find the generous and
helpful attitude of every single poster to be very encouraging as it
bodes well for future interaction with Rubyists.

I also want to let everyone know that I have decided to become
acquainted with some of the lower level fundamentals first, not
necessarily learn Assembler and/or C, but work my way through the
concepts . . . I have picked up a copy of Programming From The Ground
Up . . . after that, I will - indeed - teach myself the Ruby
Programming Language as a first language!

Regards and Happy Hacking to All,

Maurice

Lloyd,

that it should be fun. If it is not fun for you then you will never get
far. Programming takes far too much brain power to do it without joy.
Certain projects and parts will be joyless but that is true for
everything. If you cannot find joy in it, then do something else. Go
to the strata where things are fun and stay there until necessity drives
you out but return ASAP! :slight_smile:

Thank you for this post. I will also keep it in mind.

Cheers,

Maurice