New to programming

I am a real newbie, and @58 an old one. Its been 3 weeks, I’ve read
chris pines Learn to Program, have just finished my first two harder
problems which were the bottles of beer and the leap year program. I
didn’t understand python or javascript when I had looked at them
previously, but when I looked at ruby, and several videos on youtube, I
was surprised, now its been three weeks and I am starting to get my feet
wet and I think I like a lot. my sources for self learning are:

the oden project
Chris P.s book Learn to Program and blog
Hunter Ducharmes book Ruby P.ming
the RubyMonk tutorial
Code Academy
and a host of videos on youtube

outside of these sources, what else can I do to accelerate my learning
curve and also how do I then get a job as an entry level ruby
programmer.

Josh

One good way of improving your skills, and getting something you can put
on your CV, is to get involved with the open source community.
There are some great open-source projects on Github that you can learn
from and even contribute to.

I’d also recommend thinking of a few programs you’d like to be able to
write once you’re a “master programmer”, and then break those down into
the individual components and learn each of those skills.

For example if your goal was to build a website that could write its own
content, you’d go through the Ruby on Rails tutorials, learn how to
build a database, and learn how to write code that generates dynamic
content. You’d break each of those skills down further into their
building blocks and learn each of those.

Having something big to aim for means you don’t run out of things to
learn until you’ve reached your destination. By that time, your vision
will have expanded as you’ve discovered more possibilities.

Or, if you’re an immediate-gratification sort of person, you can aim to
build something that’s just a little bit out of your reach. As someone
who worked in IT, I kept thinking “wouldn’t it be nice if…” and going
from there.

The best thing you can do is to jump right in and tackle a problem. I’m
58 also, but I’ve been programming most of my life. I sincerely hope you
are also doing your learning on Linux or Mac OS X rather than Windows,
as any of the native=-code libraries are difficult to get working on
Windows.

If you have enough disk space and a reasonably new machine, Get Java 7
and VirtualBox 4.3 (free for educational use) from Oracle and install
them, then download a Ubuntu 14.10 Desktop version OS. There’s lots of
help on-line for any of these things and Google is your best friend. I
recommend you install the SciTE text editor to edit your code, and
there’s lots of help on line for Ubuntu and installing Ruby in various
ways.

While you’re getting all of that sorted out, keep trying problems. For
example, think in terms of simulating the real world. In the 99 bottles
problem, create a Bottle class, create a Shelf class, and create a
Drinker (!) class. :slight_smile: You will start your program by instantiating a
Shelf, loading 99 Bottle instances onto the Shelf, and at least one
Drinker to empty the bottles without getting arrested…

As you can see, any given problem can provide insight. Once you think in
terms of modelling the way the world works, you’re well on your way to
object-oriented programming.

Ruby is very much different than Python or JS. Both of those languages
were designed as kitchen-sink tools. Ruby, OTOH, was designed to be
elegant and very minimalist in its syntax. I totally agree that Ruby
should be your first language. The rest you can figure out with a manual
next to your keyboard.

I’m pretty much in the same boat as you.

From what I’ve looked at in job posts, most ruby jobs are with rails.

I like learning from books

Here is a list of pdfs I have. I am reading and studying from these as
much as possible:

Metaprogramming_Ruby.pdf // very good but it is pretty advanced I would
wait for a month of intensive learning.

poodr.pdf // Practical Object Oriented Design in Ruby. This is basically
an introduction to oop, which it describes in very simple practical
terms. I think it could be used as a introduction to programming if you
put some effort into it.

oreilly.the.ruby.programming.language.jan.2008.pdf //the cool thing of
this is that it is written by matz. I <3 matz

poignant-guide.pdf// I don’t like this book but it could be worth the
read to hammer home a few points, why’s poignant guide

Design Patterns in Ruby.pdf //looks good but I haven’t done much of it,
design patterns are important

The online guide for ruby is the best introduction to rails I’ve found:

http://guides.rubyonrails.org/

The-Well-Grounded-Rubyist.pdf// looks good so far

The pickaxe edition 4// its great, I did most of it in a few days. I
will go back to it to fill in the topics I just quick went over.

The Rails 4 Way.pdf by Obie F… I haven’t started this but it
looks good I will do it after the rails guide

rails_tutorial.pdf// this is hartl’s famous guide, it is very verbose
and and doesn’t have a fast pace. I tried it but it was annoying because
it used a bunch of external tools which is fun but meant it was very
slow. I will try it later if I have time to fill in the gaps and get
more in depth learning.

Ruby S., Thomas D., Heinemeier H. D. - Agile Web D. with
Rails, 4th Edition, Rails 3.2 (The Pragmatic Programmers) - 2011.pdf// a
few years old I haven’t looked at it but there might be some good stuff
in here

I see you have a good source of Ruby tutorials, like Learn to Program
book and Code Academy courses. The best way to master a programming
language, in
my opinion, is doing programming exercises.

Here are some resources:

Book: Learn Ruby P.ming by Example (
https://leanpub.com/learn-ruby-programming-by-examples-en)

http://rubyquiz.com/: more challenging problems.

Congratu lations on finding Ruby!

http://www.tryruby.nl/

http://learnrubythehardway.org/book/

Don’t be too afraid of Ruby on Windows if you are using Windows. There
are Windows installers for both Ruby and Rails. If Ruby 2.x causes
problems with native gems install a 1.9.x version of Ruby and try that.

If you’re going to go to the trouble of trying to run a virtual Ubuntu
environment you might want to check out Vagrant.