- Feature Articles
- CodeSOD
- Error'd
-
Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
These rubies were somehow mined by child slave labor, and turned out to be fake, all at once.
Admin
"Promoting international business" sounds like a pretext of manglement to get code done by people they could maybe pay less and very probably get rid of easily.
Admin
That was one of the biggest issues with Rails; all its BS hype made it out like any rando could pick it up and be a pro. I remember really liking it UNTIL I used it on a real-world project; the moment that project deviated from forms-over-data CRUD, the whole thing broke down and it became a huge pain in the ass to do anything because I was fighting Rails constantly; in retrospect I should have used ASP.NET MVC at the time as A) I was much more familiar with C# than Ruby, B) It didn't do all this "magic" behind the scenes, and C) It would have been much easier to code my own stuff for the parts that weren't basic forms.
Admin
I've been using Rails for about 13 years now and a few notes:
for...in
loop in Ruby. It's way more idiomatic to usetoken_requests.each do |token_request|
Rails has a learning curve, but once it clicks, I've found it a fast and enjoyable way of coding. You have to be careful to avoid the footguns, natch - having someone who has a lot of experience with Rails guiding you as to what you should and shouldn't do is a huge help. If you don't have that, it's really easy to write really awful applications.
Admin
Ruby is awesome. Everything awful here must be blamed on the outsourced devs.
Admin
Since the idea of a block clicked, I really enjoy writing code in Ruby. I do not enjoy this.
Admin
To be fair to Ruby on Rails, it is right in the name. If you stay on the rails, it works great. If you go off the rails, you end up going off the rails.
Admin
Oddly, Ruby is the one language I really was hoping to learn and master, as it seemed to be the hybrid of two of my favorite languages, Smalltalk and Perl. However, just like the proverbial flying car... it was neither good at flying, nor good at being a car.
Admin
In the line "if token_requests &;&; token_requests.length > 0", is the part "&;&;" some "code to HTML defect" of "and amp semicolon"?
Admin
You hit that with almost any strongly-opinionated framework like that. They're great for the simple everyday cases — but as soon as you try to do something more complex, the idea of "magic happens, pay no attention to the man behind the curtain" breaks down hard, and you need to learn how to do magic yourself. And there are very few frameworks which make that easy, because it's something they've gone to a lot of effort to hide from the developer...
Admin
Back when Ruby on Rails was all the hype, I remember using it to write a small CRUD prototype at work. I demoed it and everyone liked it.
Then... I rewrote the whole thing in Django. It turns out that nobody in the team knew nor wanted to do code reviews in Ruby.
One problem with Ruby is that it becomes quickly write-only. It's too smart and crafty. 6 months later I couldn't remember why I had written the code in that "weird way" -- exactly like that comment above about one wouldn't typically use a for loop because it's not idiomatic. Similarly Rails is full of opinionated and very specific syntaxes and shortcuts. I quickly found that as soon as I stepped out of the prototype, I quickly forgot all these tiny details.
Admin
Addendum 2025-02-07 04:48: Dumb tdwtf layout strikes again.
Admin
Yes but no, not really! At a lower level of technical details there is information being saved into and retrieved from some form of repository but its the reason why the applications exist in the first place is what's most important. Let's not be reductive at the cost of accidental complexity, design and domain clarity.