← Back to context

Comment by lelandbatey

6 days ago

I've seen poorly-built code on rails circa 2014, and I've seen Rails done pretty well circa-2025. I'd say rails is pretty neutral. Saying it's PHP bad seems a bit much, but hey.

The worst code I've ever seen by a country mile though was a huge Python 2 code base written on an old version of Tornado circa 2012, a library that basically hacked the Python language to get code to run asynchronously, but you had to contort yourself into knots to get it. You couldn't just call other async functions/methods, you had to `yield func()` when calling them. To return from a function, you couldn't use `return` you had to throw an exception of type Tornado.Return. Absolutely insane way to write code.

Then all the business logic written on top of this bizarre framework was terrible. Half of the code broke the rules I just mentioned but still half-worked sometimes, but would perform terribly or have mysterious problems.

One of my greatest accomplishments was getting it all to Python3 then onto more sane async-style code.

I didn't say Rails was PHP bad, but if you'd asked I would say it is worse. Both have awful ergonomics that make mistakes easy, but at least with PHP it's hard to be foolish in a way that's very clever. Ruby meanwhile will happily hand you more than enough rope to David Carradine yourself before you really even notice, and the DHH/Katz crowd took full advantage.

  • And yet he double downs on the troll… Style points for the David Carradine reference though.