Hacker News new | ask | show | jobs
by nicebyte 2052 days ago
this is legitimately the worst programming book i've ever read. i wanted to get started with ruby back in 2009, and everyone was praising this book. i got it, read the first few chapters, and got bored out of my mind. it meanders and takes forever to get to the point. in the end, i never really learned ruby, and the main cause was this book.
10 comments

"... the main cause was this book."

Sorry, but blaming a single book for not learning something when there are an enormous number of other resources (and have been all along -- _why's was a long time ago, but so were, say Agile Web Development with Ruby on Rails and the others mentioned here, and there has long been tons free on the web) probably means _you_ were actually the main cause.

sorry but no. there's a lot of programming languages out there and it's the job that the programming language and its community to convince me to use it when there are many alternatives to choose from.

i don't have time to commit to learning any random programming language that pops into my field of vision at all costs.

a language is a tool. a tool was being marketed to me as something of high quality. i tried it, but because of poor instructions (this book), didn't get the results i was expecting.

so i cut my losses and moved on to other tools that actually worked for me.

> it's the job that the programming language and its community to convince me to use it

I feel like you might be a bit confused about the relationship between the world and one random person.

This is a bit like saying you don’t like television because one day you tried one episode from one particularly unusual show from one specific genre and decided after that you would just listen to the radio since television failed to win you over, as if none of the other shows you never tried could ever possibly work for you.
I love Ruby and have been working with it full-time since 2014.

Additionally, I would say that my taste in humor and art tends towards the wacky and whimsical, and even twee sometimes I suppose.

But, like you.... maaaaaaaaaan, to say that book/guide didn't connect with me would be an understatement.

Among other issues I had, is that it begins (I'm paraphrasing) by describing Ruby as a seamless and intuitive extension of one's brain.

Now, I love Ruby, and think it's admirably friendly, but you still need a solid handle on basic computer science concepts to be good at it, and maaaaan there's a lot of unintuitive Ruby stuff out there and you hit it extremely quickly as soon as you venture outside of the standard library... and sometimes even before.

Even conventions like affixing ? and ! to methods is just a convention and ! is barely even a convention: it can mean "mutate in place" or "this method is going to try and do a thing, but might throw an exception instead so be ready to catch it" (ala ActiveRecord's #save!)

But... I am glad others like _why's work and get value from it.

I saw it as more of an art piece than a practical learning experience; the latter being more exemplified by books such as K&R and the like.
"Well Grounded Rubyist" and "Why's (Poignant) Guide" make an excellent combination for learning Ruby.
"Eloquent Ruby" is one of the best technical books I've ever read. Such a delight.
I understand how you feel (personally, I really liked the book). I think it depends on your goal. If your goal is to just "get on with things" and essential read something more akin to a reference manual or a focused tutorial without any fluff, then yes, Why's guide is not appropriate.

While I enjoyed Why's guide, I found the Little Schemer book to be somewhat impenetrable in contrast. That book has a similar kind of style in the sense that it's in a non-traditional format and is widely praised, but I think it occupies the more intellectual / academic space than where Why's guide is targeted (that is, moreso at the regular Joe Blow programmer rather than someone who who lives and breathes everything CS). K&R seems to reach a good middle ground between practicality and whimsy.

This book is an art piece. That works for some people! Not others! The O'Reilly "The Ruby Programming Language" is the better choice; it has small contributions from _why but they're measured and appropriate.
I have to agree, but I wouldn’t be a dick about it. Lots of people enjoyed this book. For me, I can’t get through the first 30 seconds. My brain just rebels against this style. Partly because there’s something wrong with me, I can’t understand comics. Doesn’t mean it’s the worst book ever, it just doesn’t work for me. But it did have the effect of turning me off Ruby permanently.
Seems a little suspect to blame this book, when there were plenty of other excellent resources for learning Ruby at the time, and this one was obviously a little offbeat. For what it's worth I had the same experience with this book, but instead of blaming an artist whose book inspired thousands of Ruby programmers because it didn't inspire me, I moved on and got the Pragmatic Programmer's Ruby book instead, and I've had nearly 15 years of joyous Ruby programming in my career since. I'd say the main cause of you not learning Ruby was not this book, but your own behavior.
it has its place. If you already know how to code but are learning Ruby, it's not a good book (lot of fluff). But if you are learning to code for the first time it's good. This was my case in 2012.

I admit the comedy style is showing its age–a little cringe now.

yeah if you're actually 100% new to code, this book is pretty terrible, at least for the way I learn. if you're already familiar with the common programming concepts, then this book is probably more applicable, but still hugely inefficient.
i like it as a thing that exists, but I got started programming via self-taught ruby, and the _why guide had almost nothing to do with that, despite wanting to like it.
A book which stops you learning Ruby is in fact an excellent book.
I've been trying to figure out at which point ruby turned from hero into villain, but I feel like it's more a generation gap rather than some series of acute moments.
When a proof of concept app hits a multi-million+ requests a day. Suddenly your large monolith app that has been fine for years falls apart.

So you rush out and higher 10 react developers, 10 go developers, and 10 support engineers to try and write a micro service replacement while keeping the ruby app alive long enough to finish the rewrite. Oh and an elixir developer somehow managed to sneak in.

Meanwhile your original 2 Ruby developers moved on, and their replacements are treated like dirt since Ruby Is on the way out... for a few years.

Ruby is good :)
touche.