Ruby on Rails: The Documentary [video]
241–248 of 248 posts
Re: Ruby on Rails: The Documentary [video]
#242Re: Ruby on Rails: The Documentary [video]
#243Earlier 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.
Re: Ruby on Rails: The Documentary [video]
#244Earlier 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?
Re: Ruby on Rails: The Documentary [video]
#245Earlier 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.
Re: Ruby on Rails: The Documentary [video]
#246Earlier 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."
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]
#247Earlier 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…
why?
Re: Ruby on Rails: The Documentary [video]
#248I 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.