Live data from Hacker News

Choosing Ruby on Rails for web development project in 2019

ideamotive.co

61–70 of 216 posts

Re: Choosing Ruby on Rails for web development project in 2019

#61

Earlier quoted context omitted.

I think it's only in comparision to php, python etc.

Python3+ and PHP7+ are faster than Ruby though. Maybe they were comparing modern ruby to 10 year old PHP/Python?

Faster based on what benchmark?

Re: Choosing Ruby on Rails for web development project in 2019

#62

Rails is ideal for the "Get Shit Done" approach to development. However, Ruby's type system does not provide many assurances, making mature codebases harder to maintain, refactor, and extend (as compared to codebases in, say, well-written Java). I am surprised this was not listed as one of the criticisms. Sorbet, a type checker for Ruby, stands to make this criticism less valid: https://sorbet.org/

I have to be honest, I don't understand why people care so much about typed languages. I almost never face type related issues, and when they occur they are the easiest to catch.

Ease of refactoring is the big one, especially with an IDE since you'll catch a lot of problems as you write.

However, any decent IDE will work with type hinting (putting types in the comments, basically), and as long as you're fastidious about using them, you can realize those same benefits.

Re: Choosing Ruby on Rails for web development project in 2019

#63

Rails is ideal for the "Get Shit Done" approach to development. However, Ruby's type system does not provide many assurances, making mature codebases harder to maintain, refactor, and extend (as compared to codebases in, say, well-written Java). I am surprised this was not listed as one of the criticisms. Sorbet, a type checker for Ruby, stands to make this criticism less valid: https://sorbet.org/

Ruby is strongly typed, just not statically typed (by default). There's a lot less ambiguity in Ruby's types compared to, say, JS or PHP. But yes, optional type checking would be a nice thing indeed.

Re: Choosing Ruby on Rails for web development project in 2019

#64
post #26

Earlier quoted context omitted.

100% agree. Developer happiness, conceptual compression is another important concept that DHH likes to talk about. If there's a hard topic that devs need to understand sometimes, Rails makes it a point to guarantee that devs don't need to understand all those things all the time. Conceptual compression means that you can unpack those ideas and work with them when you need them, or pack them back up and don't pay atte…

Just a disclaimer, I work with Rails every day, but I don't really like it all that much and I really don't like ActiveRecord. We have Rails legacy apps and I maintain one of them. I'd still use Rails for some things, but it I'm pretty picky about what I think it's good for. Having said that, it makes me a bit sad that there are quite a few developers who actively avoid SQL. Granted the syntax is absolutely awful, bu…

As a counterpoint, I love ActiveRecord. It's a Swiss Army knife that's got pretty much everything you need, you just need to find the right tool and use it.

What ActiveRecord isn't is discoverable. Which is to an extent understandable. Its domain is literally anything you could express in SQL. But you really can do anything you want with it, you just have to find the right abstraction. A tool I use a lot is to .to_sql which will show you the compiled SQL fragment in a debugging session. You can compose with bare SQL fragments and ActiveRecord even includes an intermediate library so that you can work at the relational algebra level if you want.

It's not that ActiveRecord forces you to work a certain way. It just doesn't advertise all its features.

Re: Choosing Ruby on Rails for web development project in 2019

#65

Earlier quoted context omitted.

Yeah, rails does look out of style. But node backend development is unpleasant (at least compared to rails).

Agreed - its just interesting to see the next generation of talent completely ignoring a major platform in current tech industry.

I suppose they will be in for a bit of a shock when they try to make their way into the workforce to find out that the majority of enterprise-land is using Java or .Net and a bit of python mixed in.

Re: Choosing Ruby on Rails for web development project in 2019

#66

Earlier quoted context omitted.

I believe github onprem gets around the speed by using jruby? I’m sure that could be done with GitLab as well.

I just realized I've never actually seen on-prem Github. GitLab on the other side is everywhere, especially thanks to the Community Edition. I've never seen really big deployments, but for instances with 100-200 people on board there was never any problem (and DevOps guys sit right next to me, so I would probably hear something). As for the hosted solutions, IMO both GitLab.com and Github.com are pretty slow. I've ju…

Guys, JIRA cloud is terribly slooow...

Re: Choosing Ruby on Rails for web development project in 2019

#67

Ruby/Rails backend with a React FE seems to be pretty popular these days, and is where I spend most of my time, but honestly I'd rather go back to Rails views with Stimulus for some of the components that need it. 3 years ago we were breaking monoliths into microservices, now it seems that we overshot that, and I'm much more likely to see people sticking with one main monolith, and maybe one or two other services. Si…

Vue.js seems to be particularly popular with the Ruby/Rails and PHP/Laravel crowd. I'm guessing it has to do with the SSR integration with the framework's views.

Re: Choosing Ruby on Rails for web development project in 2019

#68

I think I'd only ever choose RoR for a throwaway project, in 2019. I do love RoR and the development experience but Elixir and Phoenix give me almost exactly the same feeling but with WAY better performance and an Immutable/Functional language that results in much cleaner and better code. It's an investment to learn Elixir but it's 100% worth it and honestly I'd choose Phoenix over Rails almost every time.

I suppose I could see myself picking Rails if 1) I need particular functionality that is well-served through a gem that doesn't have an equivalent Elixir package, or 2) I need others to work with me and there's a pool of Rails devs available.

Other than that I'd also go for Phoenix/Elixir, especially with LiveView being a thing now.

Re: Choosing Ruby on Rails for web development project in 2019

#69
post #66

Earlier quoted context omitted.

I just realized I've never actually seen on-prem Github. GitLab on the other side is everywhere, especially thanks to the Community Edition. I've never seen really big deployments, but for instances with 100-200 people on board there was never any problem (and DevOps guys sit right next to me, so I would probably hear something). As for the hosted solutions, IMO both GitLab.com and Github.com are pretty slow. I've ju…

Guys, JIRA cloud is terribly slooow...

Sure, but that's an indictment of Atlassian products, not of Java for web.

For context: Ebay, Amazon and Google (Plus, Talk) are using Java for web. None of those are what I would consider slow.

If people were condemning Java for web as being slow, and Atlassian used Java and was slow, then you could reasonably assume that the reasons are correlated.

That is the case I'm making about Gitlab and RoR.

EDIT: you're mentioning Jira Cloud being slow, but we have the on-prem version and it's also very slow.

Re: Choosing Ruby on Rails for web development project in 2019

#70
post #63

Rails is ideal for the "Get Shit Done" approach to development. However, Ruby's type system does not provide many assurances, making mature codebases harder to maintain, refactor, and extend (as compared to codebases in, say, well-written Java). I am surprised this was not listed as one of the criticisms. Sorbet, a type checker for Ruby, stands to make this criticism less valid: https://sorbet.org/

Ruby is strongly typed, just not statically typed (by default). There's a lot less ambiguity in Ruby's types compared to, say, JS or PHP. But yes, optional type checking would be a nice thing indeed.

Stripe has written https://sorbet.org/
Post reply on HN