While anybody can learn to code, it’s not always clear which language is best for beginners. Answering this question requires understanding the learner’s motives and experience. Even so, there are a handful of choices, like Ruby and Python, which experts consistently recommend as good starting languages.
A natural follow-up question would be “is learning Ruby or Python difficult?” It’s understandable to want to figure out how difficult these languages are to learn, and we’re going to help you do that with Ruby and Python.
Get Clear On Your Goals
Obviously, if you have experience coding, the easiest language to learn will be the one most similar to the ones you already know. I’m going to start by assuming you have no coding experience.
Start by establishing your goals. As with diet, exercise, and learning Swahili, the best approaches tend to be the ones you find most enjoyable. These languages are better suited to different domains, which will determine which problems you’ll be able to work on.
Python is by far the more widespread language. It’s general-purpose and has a dizzying variety of 3rd-party libraries for everything from astronomy to natural language processing. If you don’t know what you want to do, or you have a specific field you’d like to apply coding to, you’ll probably find Python easier to learn.
Ruby is designed and built for web development. It comes out of the box with functionality aimed at this exact purpose. So, if you know you’d like to build websites or web applications, then Ruby is probably going to be easier to learn.
What Resources Are Available to Learn Python and Ruby?
The short answer: tons. When I started learning to program, there were so many resources available, I hardly knew where to begin. You won’t find any shortage of excellent books and courses to guide you in the journey to become a master coder.
Here a some suggestions:
- Learn Python the Hard Way, by Zed Shaw. This is an excellent project-focused resource.
- Python for Beginners is a tutorial from the Python Software Foundation.
- Python Crash Course, by Eric Matthes. A great start if you want to get up to speed quickly.
- Why’s (poignant) Guide to Ruby, by Why the Lucky Stiff. A famously colorful introduction to programming in Ruby.
- The Ruby Programming Language, by David Flanagan, Yukihiro Matsumoto. A comprehensive reference of the language from well-known authors.
- The Well-Grounded Rubyist, David Black, Joseph Leo. This book covers a range of topics from the absolute basics up to threading, recursion, and more advanced techniques. Great for beginners or people who have experience in another language.
Coding Bootcamps Are a Great Place to Get Exposure to Computer Languages
Of course, learning to code is much easier when you have help. The only options for getting help in the learning process used to be expensive and time-consuming formal education or just sort of hanging around coding groups. Now, there’s a better way: coding bootcamps.
Coding Bootcamps like Galvanize, HackReactor, and Lambda School offer a structured approach to learning to code, which combines mentorship, group programming assignments, individual projects, and feedback from industry professionals as to which skills are most relevant. This is a hard combination to beat, and it sure makes learning Python, Ruby, or anything else a good deal easier.
See “Coding Bootcamp 101” for lots of information on choosing and preparing for a bootcamp.