Live data from Hacker News

Is Rails still relevant in 2018?

blog.eq8.eu

31–40 of 346 posts

Re: Is Rails still relevant in 2018?

#32

> I would keep learning plain Ruby, Elixir, Phoenix and JavaScript as my side tools > I wouldn’t spend too much time learning programming languages outside that list as you need more tools in your toolbox but too many tools may get your toolbox cluttered You suggest not cluttering your toolbox, but your recommendation is a list of completely interchangeable dynamic languages?

Javascript, Ruby, and Elixir are emphatically not interchangeable.

Elixir is compiled, the other two are interpreted.

JS is supported natively by all browsers and is at its core an event-driven functional language, the other two are not.

Ruby is probably the comfiest OOP language out there, and certainly the one with the best standard library.

These are not the same languages.

Re: Is Rails still relevant in 2018?

#33
post #26

For whatever it's worth: at Matasano we saw more Rails apps from startups than any other framework. At Latacora that has changed dramatically; we see Django a lot, rarely Rails, but most commonly we see Go, Python, Node, and Java API servers with React frontends and minimal frameworks. From my vantage point: Rails is still relevant and still a viable option for building new stuff, but it is less relevant than it used…

How does Laravel rank in there?

Re: Is Rails still relevant in 2018?

#34

I struggle with how to say "both Ruby and Rails are poor technology choices" without sounding ranty. I have seen nothing good come from the flexibility and non-portable conventions of these tools. I have seen so much nicer web stack designs than Rails, with none of the problems. Maybe if you're building a Basecamp type site - slow / speed doesn't matter, limited views / minimal front end functionality, small surface…

This viewpoint is so far off from reality that I don’t even know how to respond. GitHub, Airbnb, Shopify, Indiegogo, Kickstarter, Urban Dictionary... the list goes on and on and on. Having the hardline opinion that Ruby or rails is slow is plain ol’ ignorance. You can build highly performant apps in Ruby and Rails, you just need to know what to optimize. The same applies to any other language or platform. Facebook is…

Pretty much no Rails app at these large companies can even do something as basic as concurrent network requests. This is an area Ruby the language is weak in, and it's extremely difficult to graft on something like concurrent-ruby to a large existing codebase that assumes all requests are sequential... Also, in the past the multithreading/concurrency story around ActiveRecord has been "it probably works, might leak connections", and you will probably deadlock your dev mode server as a side effect.

Ruby is slow for humans too. Code intelligence/IDEs are hamstrung, thanks to the constant possibility of run-time monkeypatching. You basically are stuck with grep. It's fine if you have 30 engineers all familiar with Ruby and the codebase, not so great with 100s of engineers trying to figure where things are. Things get worse if your engineers embrace writing DSLs in Ruby and you now have to debug a mini language-within-a-language.

The dirty secret at large companies is that the majority of the codebase sucks and is maintained by a legion of new grads who are doing their best to ship code before deadlines. Ruby is not the answer.

Re: Is Rails still relevant in 2018?

#35

I mean... Let's pause for a minute and remove the year, and remove the language / framework. What are we trying to accomplish? If we know something really well and there are enough developers to support an ecosystem and the talent pool in your is big enough just use whatever you want. PHP in 2018? SURE. C++ in 2018? SURE (You masochist) Rails in 2018? Youre damn right I would. GO in 2018? OK. Fine. Whatever. This is…

"C++ in 2018? SURE (You masochist)"

I know this is tongue in cheek, but if one is doing anything related to real time graphics programming I'm not aware of any good alternatives.

Re: Is Rails still relevant in 2018?

#36
How is Ruby utilized outside of web development?

For example:

Python - Server - Cloud infrastructure SDK' - AI/Data - General scripting - Configuration management - Blockchain - ...

JavaScript: - Browser - Server - Cloud infrastructure SDK' - AI/Data (however, not the most efficient choice) - General scripting - IoT - Blockchain - Mobile development - ...

Basically, while Javascript may not be the most efficient choice for data science, you can get an understanding of the concept and make the switch to Python or Rust...

Does the Ruby ecosystem have gateways into other areas of engineering?

Re: Is Rails still relevant in 2018?

#37
The example of why Elixir is less productive makes 0 sense:

Doh Phoenix and Elixir are trying to do all the best to help developers be productive, when you are a technology that promises such a huge scale you need to introduce practices that need to be decoupled => bit slower for developers.

Good example of this how a “model” writes to database. Module (with schema) need to call a changeset, changeset call repository, repository writes to database (example). That’s 3 manual steps where in Rails you have in in one.

Phoenix & Ecto work that way because 1) Elixir is functional, and 2) ActiveRecord mixes a lot of concerns that suck in the longterm.

IMO the real thing holding back Phoenix/Elixir is deployment & operational issues. It's being worked on a lot with Distillery, but from what I understand there's still a lot of kinks to be worked out.

Re: Is Rails still relevant in 2018?

#38

Almost every, and probably every, language that has been used for serious production is relevant in 2018. COBOL is still one of the most important languages in the belly of a lot of financial and public software. You wouldn’t build something new on cobol if you could avoid it of course, but rails is not cobol. Ruby and rails are still good at getting things out the door. I wouldn’t personally touch it, but that’s bec…

> We’ve been doing more and more JS/Node where I work because it’s really good at getting things done quickly, sort of similar to why you’d chose ruby and rails

I assume people make them comparisons because both ecosystems have a lot of third party libraries, which means if you want to add some functionality there’s probably a library out there for it. I don’t really feel that comparisons like this are really that accurate though (and are often made by people who don’t have experience with Rails).

If you are using something like Node or Go you need to have knowledge about which libraries you need to use (bearing in mind that often changes every year or so, compared to the Ruby ecosystem which is a lot more stable) and write all the glue logic to make them work together yourself. With Rails you can literally build a blog by running a handful of commands and editing a couple of views, and have something up and running in less than 15 minutes.

The beauty of Rails is that it’s opininated enough, that you can build a pretty decent application just by using what it gives you out of the box. Yes you may want to add Sidekiq for better performance of background jobs, or Devise to avoid all the repetitive code you need to handle user accounts, or add RSpec because TestUnit is the devil, but those aren’t required to get something done.

Re: Is Rails still relevant in 2018?

#39
The article mentions: Root of all evil is state. No its not, but again we love to make generalised sweeping statements (i.e small statement that can be quoted and people think of them some kind of wisdom) The problem is that "mutable shared state" is hard to manage and can lead to various kinds of problems. There are many tested patterns/libraries around that you can use to manage it rather than trying to implement your own solution.

Re: Is Rails still relevant in 2018?

#40
It will be relevant until somebody does a monolithic Web application framework that is better in a way that it so compelling that it's obvious. A microservices architecture is not always the right choice.

Django, Laravel and other established frameworks can be a bit better or a bit worse, depending on your criteria.

Buffalo (Go) and Phoenix (Elixir) are the only competitors that I know of that could match Rails at it's own game, and also have compelling advantages over it. Both have smaller ecosystems right now.

(Source: I've been working at a Rails shop for 6 years).

Post reply on HN