Here is a very easy test for figuring out if someone in the Rails community is a Real Rubyist who truly gets Ruby and its unique benefits 100% compared to other programming languages or a Fake Rubyist who is just riding the Ruby on Rails bandwagon because it is "cool" or because they heard about it from an acquaintance without thinking for themselves.
Tell that Rubyist that they can now use Ruby in the Frontend in place of React and other JavaScript technologies to enable all of Ruby's productivity, readability, and maintainability benefits in the Frontend, meaning doubling productivity (at minimum), cutting down development cost and time by half with acceptable-performance/small-download-size for most business apps, writing very highly readable and understandable code that is truly fun and makes developers happy, and enabling reuse of Backend Ruby in the Frontend, thus enabling maximum teamwork, which could result in more than 2x productivity improvement, potentially 10x for the entire team!
If that does not excite that Rubyist to the max, they are as Fake as they come!!! Such people do not really understand Ruby and use it more in a Monkey-See-Monkey-Do fashion. After all, if someone truly gets Ruby 100% and cares for their customers 100%, then by logical deduction, they would be insanely excited about using Ruby in the Frontend to multiply productivity by many folds for their customers while delivering the best value possible to them.
Fortunately, I have encountered many Real Rubyists who passed this test as they had a super high level of awesome excitement about using Ruby in the Frontend due to caring about their customers and wanting to deliver the best solutions imaginable to them.
But, also with this test, I have been able to reveal many Rubyists as Fake Rubyists who are cheating their customers by bleeding 200%-1000% in wasted work productivity/cost/time with inferior inside-the-box JavaScript technologies (e.g. React) just because "everybody does it, so we should do it too". I would say they make up about 50% of today's Ruby on Rails user community unfortunately. Such Fake Rubyists turned out to be mindless people who follow what the popular "fashion" of the industry is and what "Large Company XYZ" uses to determine their decisions instead of thinking for themselves or doing their own Software Engineering Pros/Cons/Trade-offs analyses to determine what provides the best value for their customers. Ironically, that goes 100% against how Rails came to being as it was a highly contrarian technology when it came out in the mid-2000's that thought outside the box of what was popular because it cared about delivering the most value to customers instead of wasting time using over-engineered bloated technologies. Fake Rubyists not only stand in the way of innovation and progress due to being attached to inferior technologies (e.g. React) just for personal biases and emotional attachments that are not grounded in any correct Software Engineering analyses, but they also work half as productively as Real Rubyists if not much slower. That is because they produce highly over-engineered bloated JavaScript code that is much more expensive to maintain (in addition to maintaining its build, like webpack), is difficult to reason about compared to Ruby code, does not follow good Software Engineering best practices, creates friction against the Ruby Way and Rails Way, has bad separation of concerns that do not map directly to business domain concepts (e.g. using weird low-level concepts, like React state hooks and effects), forces rewriting Backend Ruby code in Javascript to reuse directly in the Frontend, and has awful trade-offs that favor premature optimizations despite the business apps being built having only a few Frontend interactions or a few elements that do not need optimizations, but need more maintainable code. You can learn more about issues related to using React specifically in this blog post: "Over-Engineering, Bad Teamwork, and Unethical Behavior in React Developers".
For Real Rubyists who do want Ruby developer happiness and amazing fun in the Frontend while multiplying their productivity and savings in cost/time for their customers, check out this very recent 2024 talk about the topic: Frontend Ruby with Glimmer DSL for Web. It mentions how a sophisticated React.js page in a real business application got re-written via Ruby in the Frontend, cutting code down to about ~50% the old code, but with much more readable and understandable Ruby code, causing the main React component to shrink by 10x as Ruby enabled a much better Software Design and separation of concerns. If you are completely new to Ruby in the Frontend, check out the talk: Intro to Ruby in the Browser.
4 comments:
A bold post! I can only agree with your statement of the complexity of current JS frontend ---madness--- trend. I have suffered when new frontenders enter the projects, seeing doubling communication, time, and costs thus leaving a disgusting feeling of unproductiveness or overengineering.
The current trend of starting a new Rails project with a cloned base repository that will only acts as an API backend for a web React app is a desapointment defeat for Ruby/Rails core ideals.
Will check your stuff, for sure. Thanks!
Post a Comment