ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

Resources for Learning to Program in Ruby or Python

Updated on September 14, 2023
melbel profile image

Melanie has a BS in physical science and is currently completing her master's degree in analytics and modeling.

The "hello world" program is the first code that most programmers write.
The "hello world" program is the first code that most programmers write.

Learning to program can be very difficult, but there are a large number of resources out there that can make learning a programming language much easier.

There are many books and guides on the market that show how to write code in a new language. Many of these books are not suitable for newbies because they assume that the reader already knows how to program. These books use methodologies and lingo that programmers already understand, but is stuff that can be hard to grasp if you've not programmed before.

As a beginner, it can be difficult finding the perfect book or tutorial for learning a programming language. I compiled this list of resources and guides written for programming newbies.

Choosing a Language

Choosing a language isn't particularly important for beginners as once you learn a language, it's much easier to learn other languages. A lot of the real learning is in the principles of programming and that's why it's more important to find the perfect guide to learning a programming language versus finding the perfect language.

There are a large number of books and online guides written for beginners that teach the basics of computer programming in both the Ruby programming language and in Python. Because of this, I highly recommend selecting one of those languages to learn first. You can read some of the debates between Python and Ruby or you can do the cool thing and throw caution into the wind. Once you've made your decision, you can download either Ruby or Python for free.

There is a ton of information on the Internet for those learning to program. I mean, the Internet is made up of the work programmers have done (well that and a series of tubes.)

If you're like me, you think free stuff is awesome. There are several free guides on this list, but some are only available in print, and those will likely come at a price (unless your library is bigger than my local library and actually has programming books.)

Python or Ruby?

See results

Learn Programming with Ruby

Learn to Program by Chris Pine
This book is the first programming book I read and it really helped me grasp a lot of concepts when I later read some of the beginner's resources for Python. This book is also available for free in PDF form. If you're like me and prefer books in hard copy, this can be purchased. The book has been expanded so it contains more information than the free guide, but the free guide contains enough information to properly learn the concepts. Because I prefer a hard copy, what I did was download the PDF and print off a few chapters at a time.

The Ruby Programming Wikibook
The thing that makes this great is that it teaches EVERYTHING about Ruby. Readers can start off at the beginner's level and then go on ahead to learn even more. Those who eventually become professional Ruby programmers (or just really know their stuff) can even contribute to the Wikibook. It's all free, too... you can't argue with that!

Ruby Forum
Yup! You guessed it! It's a forum. You can join these forums, for free, and ask any Ruby question you like. It's a good way to not only get help with questions you may have, but to get to know some of the folks in the Ruby community.

The Little Book of Ruby
You can download this free PDF and learn the fundamentals of Ruby programming. This is great for those times when you don't have an Internet connection, because nothing gets me motivated to learn programming like not being able to waste time on the Internet. SapphireSteel Software, the company that created this handy eBook, also has a forum on their website where users can discuss learning Ruby.

Learn Programming with Python

How to Think Like a Computer Scientist
This book has been made available on the Internet for free, but those who wish to own a physical copy of it, can purchase it. From this book, you can learn the basics of computer programming with the aid of Python. The book starts readers off at a basic level, which was good for me, but it gets quite challenging in the later chapters.

This is a turtle themed game, or rather a "learning resource" that can be downloaded. The idea is that users input Python functions in order to move the turtle around the screen. It's meant for children, but adults can use it too. It's a free download, a quick installation process, and it's virus-free so it's a win-win situation.

Hello World! Computer Programming for Kids and Other Beginners
This book has rave reviews and I've been staring at it at the bookstore for months. I've thumbed through the pages on this one and it definitely starts out at a low level, but trust me, it gets challenging. It's written for kids, but I definitely would recommend it for anyone my age with an interest in learning to program.

Learn to Program Using Python
This book assumes readers have some basic computer knowledge, so this isn't a book I would recommend to my mother. That being said, it starts out at a beginner's level. This book also received high reviews so I recommend giving it a look-see.

Invent Your Own Computer Games with Python
In a low blow against the Ruby community, the Python community offer this free and unfairly awesome book that teaches programming by having readers make computer games. I have not yet seen the Ruby community answer to this, but then again Ruby has "Why's (Poignant) Guide to Ruby." "Invent Your Own Computer Games with Python" includes the source codes for different games in each chapter and then uses these source codes to teach concepts.

Non-Programmer's Tutorial for Python 3 Wikibook
This is another Wikibook that is worth checking out. This is a free beginner's guide to Python that can be edited. While it teaches beginner level concepts, it does show resources that users can check out to further their Python education.

Additional Resources

Here are some resources that are aimed for those who wish to learn programming languages other than Python or Ruby or those who would just like to learn more!

Eclipse & Java for Total Beginners
This is a free, downloadable video tutorial that teaches how to new programmers Java using Eclipse. It also comes with a companion guide in the form of a PDF. With over 3 hours of video teaching the many aspects of programming, including test-driven development, this is a great way to learn.

Open Courseware
A large number of free courses are available here. It is important to be on the lookout for courses that are for those who have never programmed before as many of these courses are for more seasoned programmers. This is, however, a great resource for those who are ready to move on after learning the basics. There are also some beginner courses in here.


While this is technically part of the whole Open Courseware category, I wanted to give iTunes its own section. If you have an iPhone or an iPod (or even just iTunes), you can download free courses from major universities in the form of podcasts.

One podcast I highly recommend (and am using now) is through MIT and is called "Introduction to Computer Science and Programming" with Eric Grimson and John Guttag. While this doesn't teach a programming language, it does teach the major fundamentals of computer programming and computer science in general which is a huge help in learning any programming language. This course is aimed at beginners, which makes it perfect. You can get this on iTunes, by clicking "iTunes U," and then clicking MIT engineering.


This website uses cookies

As a user in the EEA, your approval is needed on a few things. To provide a better website experience, uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at:

Show Details
HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
LoginThis is necessary to sign in to the HubPages Service.
Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
AkismetThis is used to detect comment spam. (Privacy Policy)
HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the or domains, for performance and efficiency reasons. (Privacy Policy)
Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
MavenThis supports the Maven widget and search functionality. (Privacy Policy)
Google AdSenseThis is an ad network. (Privacy Policy)
Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
Index ExchangeThis is an ad network. (Privacy Policy)
SovrnThis is an ad network. (Privacy Policy)
Facebook AdsThis is an ad network. (Privacy Policy)
Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
AppNexusThis is an ad network. (Privacy Policy)
OpenxThis is an ad network. (Privacy Policy)
Rubicon ProjectThis is an ad network. (Privacy Policy)
TripleLiftThis is an ad network. (Privacy Policy)
Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)
ClickscoThis is a data management platform studying reader behavior (Privacy Policy)