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 Ruby language. 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. Many of the concepts in this book are applicable across imperative languages. We'll take a breadth-first approach to help the reader get started quickly, while focusing on best practices 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 one particular aspect of programming. For complete beginners, I recommended reading the book in order. Each chapter acts as a building block of knowledge, allowing new developers to learn by building upon familiar concepts. 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. If there are gaps in your knowledge of a particular topic, use the table of contents to choose the material that you with to learn more about.
"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.
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 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 in programming, 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. The same remote control can change the channel on the television, adjust the air temperature, or even dim the lights. Garage doors can be programmed to open automatically when the home owner pulls into the driveway. Smart phones can 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.
I bought my first computer in 1995. It cost well over $1,000 and weighed about 15 pounds. Today, an even 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.