Learn Ruby First
Author: Frederick John
Edited by the Ruby Community via Change Requests
Published: July 2017. First Edition
Copyright: CC-BY-NC-SA 4.0 International
This book takes a comprehensive look at the basics of programming through the eyes of a Ruby developer. It leaves the reader endowed with the ability to write Ruby programs while preparing them to explore other languages. Learn Ruby First focuses on core programming concepts and essential domain fundamentals. It takes a breadth-first approach to help the reader get started quickly, while teaching the best practices of Object Oriented Design to ensure long term success. After reading LRF, you will be ready to master any language quickly and efficiently.
How to read this book
The purpose of each chapter is to provide the reader with a complete understanding of that particular aspect of programming. For complete beginners, I recommended reading the book in order. If you have programming experience, you may benefit from using the Table of Contents on the left hand side of this page to navigate to specific topics. Intermediate level developers often have insufficiencies in certain areas deriving from a lack of domain mastery. As the author, it's my goal to provide a foundation of knowledge whose depth will span several languages, frameworks, libraries, etc.
"Learn Ruby First was the the book that helped me put it all together."
There are brilliant developers that have written excellent texts on Ruby. The problem is that most programming books are made for programmers. What about people interested in programming that come from another discipline? This book assumes no prior knowledge in computer science. Its sequence will take you through the stages of beginner and intermediate level programmers. At the conclusion of this book, you'll be a mindful, confident Ruby programmer, prepared to master any language.
The following symbol means, "think it over". It appears around certain concepts where further exploration may benefit the reader.
The following symbol means, "key information". It appears around vital information that would serve the reader well to learn.
What is the cost of this book?
This book is free. There is an awesome community supporting the Ruby language. They continue to produce countless blog posts, phenomenal frameworks, and amazing gems. In the spirit of open-source, I want the barrier to entry to be as low as possible. I hope that while you read this text you consider checking out some of our current projects and additional educational resources at learn2code.pro.
What should I do if I find an error?
Please submit a change request if you find any errors in this text. This includes grammar, syntax, code, etc.
A note from the author
The title of this book is Learn Ruby First because I truly believe that Ruby is the best first language.
- If you're interested in programming you should Learn Ruby First
- If you want to be a full-stack developer Learn Ruby First
- If you want to stretch yourself intellectually Learn Ruby First
- If you're considering a Computer Science major Learn Ruby First
- If you want to find an exciting and fulfilling career Learn Ruby First
Over the next 15 years there will be an abundant demand for individuals with programming experience. Technological advancements have opened the doors to a myriad of opportunity. Consider for a moment, the Internet of Things. A remote control is a device to change the channel on the television, right? But, did you know that it can also adjust the air temperature, lights, and even lock and unlock the doors? Garage doors now open automatically when the home owner pulls into the driveway. Smart phones use geo-location to silence themselves during business meetings and act as timecards recording when an employee arrives at work, leaves for lunch, and leaves for the day. Twenty years ago, a personal computer cost well over $1,000 and weighed about 15 pounds. Today, a more powerful computer called the Raspberry Pi cost $30 and is only slightly larger than a credit card. It weighs just 42 grams.
These type of advancements provide opportunities in every industry. They allow people can work faster, smarter, and more efficiently. The next wave of developers aren't learning how to program for the sake of programming but rather learning how they can use technology in their own fields of interest. The domain of programming will spill over to many fields while new developers integrate technologies in different ways. This book is for those who want to take that step forward. It's for forward thinkers and bold innovators. Courageous men and women who realize that web literacy is a requirement of the 21st century. I hope you enjoy reading this book and I hope my perspective is helpful in making sense of the material.