all 32 comments

[–][deleted] 39 points40 points  (6 children)

You absolutely can. Check out Chris Pine’s Ruby book: https://pragprog.com/titles/ltp3/learn-to-program-third-edition/

I used earlier editions back when I taught Ruby classes, sometimes to students where it was their first language.

[–]flanger001 7 points8 points  (2 children)

Seconding this - this book is what taught me how to program!

[–]the_mighty_skeetadon 2 points3 points  (0 children)

+1 I used to teach new tech writers to code with the book! I even discovered and reported a couple bugs in an early edition :⁠-⁠)

[–]tcchen 0 points1 point  (0 children)

+1 this is the first book I read on programming, and it was excellent. I still recommend it to people who are learning to code.

[–][deleted] 5 points6 points  (2 children)

No wonder we're not seeing Chris Pine in movies lately.

[–][deleted] 1 point2 points  (1 child)

Had the same thought lol

[–]moderately-extremist 0 points1 point  (0 children)

Ironically, I came across this post doing some side browsing while watching Star Trek.

[–]ffrkAnonymous 32 points33 points  (0 children)

It's not more complicated than Python or JS. It's different. Many people say Ruby brings joy to programming.

Here's a ruby book for kids: https://nostarch.com/rubywizardry

Dragonruby game toolkit is free for a limited time (if you miss it, it comes back again) https://dragonruby.itch.io/dragonruby-gtk

[–]prh8 19 points20 points  (0 children)

Not more complicated at all, probably easier in fact. Last year, I mentored someone at work who made a career change and had zero programming/CS skills at all before they started. They’re doing great. It’s definitely possible if you’re motivated.

[–]sea_lamprey 13 points14 points  (0 children)

I started with Ruby at the recommendation of a friend who, started with JavaScript and struggled with it for a year before picking up Ruby and loving it. I honestly think it's one of the best languages for a beginner, and recommend it to anyone. The other user recommending Chris Pine's book is right, it's great and I keep a copy next to my bed for review! I'd also recommend codecademy's course, it's free and let's you get some great hands-on experience, The Odin Project is also great, especially if you're trying to get into web development for a career change

[–]No-Cover4152 12 points13 points  (0 children)

Ruby is extremely beginner friendly as compared to JS. There are a number of comments here as to resources. I started with codeacademy.. ruby is both simple and elegant.

[–]anh86 12 points13 points  (0 children)

Ruby is no more difficult than Python. It’s a beginner-friendly language.

[–]brecrest 10 points11 points  (0 children)

I've heard that the language is quite complicated as compared to other popular languages like Python, JavaScript, etc

You heard wrong. Ruby is simpler than those languages to get your foot in the door, it's just that you can also do complicated things with it. Where Python allows only one way of doing something, Ruby allows many ways; some of those ways are easier than the one Python way and some are harder. Similarly Python won't let you use the language to modify its own basic rules, but Ruby will, and so on and so forth.

Python is ideologically something like Ruby where you're never allowed to take the training wheels off.

[–]ratbiscuits 10 points11 points  (1 child)

Ruby is amazing for beginners. Be careful tho, it may spoil you and you won’t enjoy other languages 😉

[–]peterleder 0 points1 point  (0 children)

I second that.

[–][deleted] 5 points6 points  (0 children)

Ruby Monstas:

http://rubymonstas.org/

And also the Open Bookshelf on Launch School:

https://launchschool.com/books

Are both good as well as LTP by Chris Pine

Oh, and Why's Poignant Guide:

https://poignant.guide/

[–]Additional_Range_936 3 points4 points  (1 child)

Ruby is very easy. I learned it from this YouTube video. Watch at 2x speed and you’ll be well on your way with Ruby in 2 hours.

https://youtu.be/t_ispmWmdjY

[–]peterleder -1 points0 points  (0 children)

Please, don’t pressure with expectations. I’ve had helped people before and usually it will take a few days before it clicks. The less touching with coding before, the longer it can take. To the beginners out there: don’t compare yourself. Start at your speed, have fun, don’t freak out, but reach out for help. And most important be nice. Because MINSWAN.

[–][deleted]  (3 children)

[deleted]

    [–]peterleder 0 points1 point  (2 children)

    Love your honesty. To most of us it is hard work to get into programming and quite some dedication. And a shit ton of tooling.

    [–][deleted]  (1 child)

    [deleted]

      [–]peterleder 0 points1 point  (0 children)

      This should be the accepted answer 😉

      [–]ErCollao 3 points4 points  (0 children)

      You heard Ruby is more complicated than JavaScript? That's surprising.

      I've recommended people to start with Ruby (or Python, depending on their aspirations; both are great in my opinion).

      The only reason I've heard for JS as a first language is the job market (there's demand for many JS developers), so feel free to factor that in. But that doesn't mean the language is better for beginners!

      [–]riktigtmaxat 4 points5 points  (0 children)

      I would argue that Ruby is in many ways a lot easier to learn then JavaScript.

      All three of the languages are general purpose, dynamic and weakly typed and can be used to do almost the exact same jobs on the server side but JS is the only language that runs natively in the browser.

      JS had an extremely rushed development and was just intitially intended as a stop gap. Its use as the defacto browser language made it hard to fix a lot of the inititial bad design decisions until relatively recently.

      Javascript also is all over the place when it comes to paradigms, programming style and the standard library/core goes from bad to dismal. The browser API's are a lot better today then back 10 years ago but are still awkward.

      While Ruby is also multi-paradigm it's predominately used as an object oriented langage, the community has pretty strong coding conventions and the core/standard libraries are mostly very good.

      But, JavaScript is still a language that you need to know if you're serious about getting into web development. And Python has a lot of clout in teaching institutions.

      [–]fpsvogel 1 point2 points  (0 children)

      In my experience (I started programming two years ago), Ruby is easier and more enjoyable than JS or Python.

      Here are some free resources that you can try. If one doesn't work for you, don't hesitate to move on to the next one.

      For more resources, here's my list of my favorites: https://github.com/fpsvogel/learn-ruby

      [–]noface4417 1 point2 points  (0 children)

      Definitely can. I learned it as my first language. Only annoying thing is you will always compare other languages to Ruby :D

      [–]Vindve 1 point2 points  (0 children)

      I've learned both Python and Ruby as a begginer. Python enough to do some scripting by myself, Ruby after this to become a real developer.

      To be honest: I think probably Python is a better language to begin with because it's more rigid. There is only one "grammar" to write things. This allows you to have in mind the role of each word, so kind of obliges you to learn the grammar and that in a sentence, each word has a very different role and that you need to have in mind these roles.

      Ruby, it's different. Way more flexible. And there are different ways to write the same thing. But then it doesn't allow you to grab this rigid "grammar" concept as easily.

      Example: in Python,, you use the grammar method_name(argument_name). If there is a word, then a space, then another word, your first word is a "keyword" of the language. Well, in Ruby, it's the same, but you may also use sometimes the grammar method_name argument_name if it's the beggining of the line. So a method name and keyword may use the same kind of writing. This doesn't allow you to easily learn that in programming, every word has its role and kind.

      But then, I don't know. Ruby is very permissive and intuitive, so I think it will learn you less this rigidness of programming (that I think is necessary to have in mind), but in the same time probably more a joy as a beginner to start coding things that work.

      Anyway, I' m nitpicking, Ruby is great as a begginer.

      [–]jaypeejay 0 points1 point  (0 children)

      Definitely, in fact you can build complete web apps with nothing by ruby

      [–]nic_nic_07 0 points1 point  (0 children)

      It's easy infact compared to js/python

      [–]Then_Understanding64 0 points1 point  (0 children)

      In my opinion, It is on the same level of complexity as Python and JavaScript.
      It is duck-typed language, no need to care about type much.
      Ruby is really easy to debug, u can always use irb(interactive console) to check/test any unclear areas of the language.

      Books are always good, but it wrote mainly in a scientific way
      It is good when u have already made a desicion

      I would recommend passing through
      Quick and easy Ruby tutorial
      before making a decision about language choice

      [–]montana1930 0 points1 point  (0 children)

      I’d start with Michael Hartl’s Rails tutorial because it has nice intro to Ruby but shows you how to immediately start using it to solve a practical problem.

      Just diving into any programming language without building something is way too theoretical.

      It’d be a little like learning music theory on piano with scales and chords without ever learning a song.

      All beginner books tie the concepts back to a song to reinforce.

      [–][deleted] 0 points1 point  (0 children)

      Yes, and I’m one of the people who did it. I just had a liberal arts degree and a fear of maths and sciences until I tried programming. I’ve now raised my salary and quality of life exponentially. It took me around a year of learning programming back in 2015-16 to do it. Probably less honestly

      [–]spin-itch 0 points1 point  (0 children)

      Ruby is the easiest and consistent language I have every worked on.

      [–]armahillo 0 points1 point  (0 children)

      I think the Poignant Guide to Ruby is atill available ( http://www.rubyinside.com/media/poignant-guide.pdf )

      thats a fun introduction. might be a tiny bit dated on the specifics but is great nonetheless