Live data from Hacker News

Ruby on Rails: The Documentary [video]

youtube.com

241–248 of 248 posts

Re: Ruby on Rails: The Documentary [video]

#243

Earlier quoted context omitted.

I think you have encountered some projects built by undisciplined teams. That is not a reflection on the framework, rather a reflection on the people improperly using it.

while that's true and obviously you can avoid these problems with any framework with enough discipline, my point is that the community in general isn't disciplined. I've repeatedly seen the same things over a 15+ year timespan.

Maybe people only need to hire you when they have problems, and the ones where things went well don't need your help?

Re: Ruby on Rails: The Documentary [video]

#244
post #64

Earlier quoted context omitted.

Governance seems more invested in making ideological changes (dropping Webpacker, TypeScript, breaking changes between versions that add busywork but no value) than building the community and expanding reach. DHH continues to push poor technical decisions and alienate contributors by taking weird political stands. As someone who’s taken multiple projects to production in Rails and generally loves Ruby, these days I p…

Which of DHH's technical decisions would you consider poor?

Just a guess -- probably the ones mentioned such as dropping webpacker, typescript

Re: Ruby on Rails: The Documentary [video]

#245

Earlier quoted context omitted.

played the HN lottery

Yeah, a little frustrating. I think this is the second or third time that I get downvoted for pointing out a dupe of my submission.

I downvoted this one because your thread had literally zero value to me (or any of us) as a reader. It had zero comments and it contained the exact same link as our current thread.

Re: Ruby on Rails: The Documentary [video]

#246

Earlier quoted context omitted.

Honestly, if you only are familiar with Python, it’s gonna be pretty tough to learn anything else. I would recommend spending some time learning literally any other language (Ruby is fine). Otherwise, if you just know Python, I think it will hold you back. For example, ending an if statement with semicolon and then having the if block indented below is just not the normal way to do things. I’m not knocking Python, I…

FWIW, I have experience in TS/JS, Python, Java, and Scala. I would say TS/JS is my strongest stack. Its not the minor syntax differences that I have trouble with, its that ruby does not "fit my brain like a glove."

I can appreciate that. There's a few revelations I've had over the years of learning Ruby that highlighted "why things are as they are". Decisions that feel arbitrary and against the grain, but actually make a lot of sense when you understand the design as a whole. And I don't mean to imply "You just need to understand the roots, man!". It's probably the reason people who like Ruby are zealous about it, and many aren't. It's all about that Ruby brain glove.

Two great examples that everyone comes into right away are "Why are parenthesis optional? Why do you not have to `return`? Why do you allow such chaos to run abound willy nilly?!".

It isn't because "We just like being different!" or "We are allergic to parenthesis!". It turns out that one of the fundamental designs of the language makes it such that they don't really _mean_ anything.

I think being able to understand some of that context is really valuable to "ruby making sense" vs not. You often see people proclaim "In Ruby, everything is an object!" And it doesn't make much sense why that's a big deal. But the ramifications are actually amazing: Everything (basically) is an object -- even stuff that feels deep in the guts of the core of the language (defining a class for example). It turns out, this creates an amazing amount of _consistency_ where every single thing in Ruby from my app code, down to the low level parts of the language follow the same rules. This then makes it easy to anticipate how something works, or find out more about it.

I don't expect to single handedly fit your Ruby gloves to your brain, but here are some notes that define Ruby that I find enlightening:

- (Pretty much) Everything is an object. A `thing` is an object. A literal `1` is an object. A `class Mom; ... ; end` is an object. They all follow the same rules. If you want to learn what you can do with an object, you just need to learn what kind of object it is, and then you can find out what it knows. There aren't top-level functions to act on your objects. Ruby is all about "passing messages to objects". Your object knows how to handle itself.

- Things that look like operators are just methods on those objects. `thing > other` is calling the `.>(other)` method on `thing`. Accessing data from an object always happens via a method. There's no such thing as "accessing a property vs calling a method". It's all calling a method, always. This adds to the consistency.

- (Pretty much) Everything is an expression. A value is already created and stored in memory somewhere; might as well make it available to the next fellow. This enhances the ability to ... _express_ (sorry) things. You can expect to be able to chain things together, or leverage values as they are created.

- The whole motif surrounds having a conversation with your objects. It's less about making statements to your computer, and more about having a conversation with the context you are working in.

Honestly, these are all common bullet points that people bring up, but to me they didn't make much sense until I really held a strong grasp of the language as a whole. At some point, those bullet points became my "woah" moment of _why_ Ruby is how it is. This understanding in how Ruby was different from other languages I've used helped me understand why Ruby fits my brain like a glove. This style of creating makes a lot of sense to me.

Well anyway, thanks for staying for dinner.

Re: Ruby on Rails: The Documentary [video]

#247
post #78

Earlier quoted context omitted.

True, nodejs really doesn't have _the_ framework. Python had flask, php is WordPress and RoR. Why is that? Especially since most of the new frameworks copy the ideas of existing frameworks. P.S. Perhaps because a JS framework based off the ideas of rails would be called jails! /s

I've wondered about this for years. Express was the default with Node for some years but it was mostly used for APIs to feed front ends. These days lots of people have switched to Fastify but again mostly for APIs. There's really nothing fullstack in the JS world that can be compared to Rails, Laravel, or Django. Current fullstack solutions (Next, Nuxt, SvelteKit, etc) in JS are trying to kludge front end components…

>Current fullstack solutions (Next, Nuxt, SvelteKit, etc) in JS are trying to kludge front end components into the server which IMO is a mistake.

why?

Re: Ruby on Rails: The Documentary [video]

#248

I tried to like ruby and rails, but when I tried to grok the language, I found it more difficult to follow than python + js (my daily drivers). Did anyone else feel the same way? I kind of want to give it another chance bc I have some side projects that I want to try out, but I find django/python and next/react easier to grok. Maybe I should try harder? FWIW, I also want to pick up good practices when it comes to eng…

This was (is) me. Love Rails, but found it very difficult to learn Ruby. It's very hard for me to read, but that may be because I come from a C# background. If you're looking for something like Rails, I'd recommend trying out Laravel. It's on par with Rails as far as features, ease of use, etc. And PHP was a lot easier to learn for me versus Ruby.

[deleted]
Post reply on HN