Live data from Hacker News

Where is Ruby Headed in 2021?

bignerdranch.com

261–270 of 360 posts

Re: Where is Ruby Headed in 2021?

#261
post #202

Earlier quoted context omitted.

Pepsico, Toyota ...come on now that's weak. They're not even IT companies let alone Tech. Whatsapp is running on a fork of Erlang afaik , not Elixir. Look I'm not saying no one is using Elixir, I'm just saying there's little jobs that's all. Cherry picking some famous names isn't gonna change that.

Plus these companies tend to have tens of techs stacks and hundreds of projects, you never know if what they're highlighting isn't some small internal project used by just one team and developed by more or less a lone wolf developer, with the project on life support after said developer left the company.

Pepsico and Toyota are sponsors for elixir events on the regular.

Re: Where is Ruby Headed in 2021?

#262
post #38

Earlier quoted context omitted.

I just left a rails gig to go back to django. I like ruby ok but not a big fan of rails. I totally see the value and understand why someone would like it but I just never could get to that point with it. I much prefer the explicit imports, loops, etc I suppose

That's interesting, what you think Django excels that Rails doesn't? Which ones were the pain points in your opinion?

I think it’s just preference really. I don’t think Django is better I just prefer some of it’s choices.

For example, I really don’t like that rails implicitly imports stuff into the namespace.

I like being able to follow the imports explicitly at the top of the file. I feel like there is way less of “where does this come from or what IS this?” when working with Django.

Re: Where is Ruby Headed in 2021?

#263

Earlier quoted context omitted.

Yeah, this is how I see it, too. Sort of a gradual convergence. On the static side, Java and especially C# are simply _better_ than they used to be. Type inference is great - I can just write var x = new List () rather than having to stupidly repeat the type e.g. List x = new List (). Add in generics, and lambdas, and about a dozen other things that have now become widespread, and it's really a different game than 10…

But C# has had everything you've listed for over 10 years. Along with a great IDE that has provided very useful intellisense since pretty much the beginning.

You couldn't (easily) use C# to write the frontend for a web application that you wanted to use as either a developer or a user, though (which is to say sit down, ASP.NET Web Pages, nobody ever liked you).

That's the lock that TypeScript turns, IMO.

Re: Where is Ruby Headed in 2021?

#264
post #149

Earlier quoted context omitted.

I feel very similarly with Ruby and especially Rails. After working in Rails for multiple years, I'm now doing a freelance gig where the tech stack is React, NodeJS with TypeScript on Firebase Cloud Functions, and it almost sucks out all of the joy of programming. Making software in Rails feels creative, and the act of writing code in itself is very satisfactory. A good opportunity to re-read the Rails Doctrine: http…

I had this exact realization getting ramped up in a large rails codebase: ruby is optimized for experience of the code author, while most of the things people miss from it (explicit imports, static types) help with code maintenance and codebase scalability. The small/large project distinction makes sense to me. I think there’s a clear point in project size where the joy of writing code has to be deprioritized behind…

It's not a pleasant experience to come on board and deal with a typeless, styleless, inconsistent mess. And that's what Ruby on Rails will create, unless you spend an inordinate amount of effort on adding back all the tooling you need to make functional software in large groups.

Even then - there's no real path to a mature and maintainable language/framework. In my area (Atlanta) we're seeing a glut of RoR devs available because a lot of the large employers have given up and shut down the RoRs projects in favor of anything more suitable to teams in the 15 to 500 engineer range. Usually this has been typescript/java/.net.

Even within the RoR guys I know - a LOT of them are trying to get out and work with something else (several folks I know are moving to elixir)

Re: Where is Ruby Headed in 2021?

#265

Earlier quoted context omitted.

> I’ve tried python, but I end up having to deal with the mess of importing modules Without those imports, how will people reading the code find the definitions? How will they track down the source code for all the methods being called? If the answer is "with an IDE / tools", then can't those same tools be used to solve the "mess of importing modules"? If you're using a good IDE, imports and go-to-definition are both…

Explicit programming is more readable, but can result in a lot of boilerplate. "Magical" programming is much more intuitive once you know where the magic comes from but can be maddening to debug. Any framework large enough to be useful starts abstracting away implementation details. I've found that people that gravitate towards Ruby enjoy meta-programming. The running joke is that you're not a Ruby programmer until y…

Magic requires memorization.

Memorization is not consistent between teams/team-members.

Memorization is also the fastest skillset folks lose if they step away from the language/toolset for a while (it degrades rapidly)

Worst of all - The RoR ecosystem (6 versions in) requires memorization about which set of things you need to have memorized for this specific version of the framework.

I'll take some boilerplate code EVERY FUCKING TIME. The magic becomes a curse.

Re: Where is Ruby Headed in 2021?

#266
post #165

Earlier quoted context omitted.

That's like someone asking for directions and you giving them a shovel and a introduction to archaeology manual. If someone asks for directions you give them directions or a current map.

Well, no, not really. It is more of the equivalent of showing how to read (or where to find) maps instead of pointing out something on one. If the searcher is in a hurry the latter is more helpful, otherwise the former is preferable.

Yeah, but you shouldn't need git grep to find out what something is.

I understand using to find out why it's there, but not what it is.

Re: Where is Ruby Headed in 2021?

#267
post #116

Earlier quoted context omitted.

Have you wrangled with JSON using Go? Absolutely dreadful. Have you written multiple microservices in Go? The lack of an opinionated framework often means that each microservice contains code that is organized in its own unique ad-hoc way with lots of repeated boiler-plate code. The learning-curve to understand how each service's code is organized gets old fast. With Ruby and with RoR I never have to waste time with…

> Have you wrangled with JSON using Go? Absolutely dreadful. That was my first semi-serious project. It was around 2012. Yes it was dreadful. The problem is I was still programming with mentality of someone who wants to use dynamic typing. I would read JSON from an http endpoint, and then just make assumptions as to what keys are availabe, and just read them off like this: data['key1']['key2'] Just like with dynamic…

> I don't do that anymore. When programin in Go, JSON is just a serialization format for a struct. You have a concrete struct type and you just use json to fill it with data. It's so easy and trivial.

This does mean that you should know and define your schema in advance, which is not always doable. An alternative is to use a sum type and pattern to safely deconstruct `interface{}` but Go has a notably poor support for sum types. Static typing is not really a culprit here, but Go would make a bad example for anonymous JSON parsing.

Re: Where is Ruby Headed in 2021?

#268
post #184

I think this article missed a key element of where ruby is going: developer productivity tools. It is kind of hinted at with static typing, but the real story behind a lot of what happened since ruby 3 was released has been the tools and IDE plugins around it. Static Typing via RBS is also the existing LSP integration + VSCode plugin, the Typeprof plugin which allows scaffolding .rbs files for untyped modules, and th…

> but above all, a debugger one can integrate with docker and IDE. Can you expand? We have a kubernetes setup at work and I can't do binding.pry locally to get a breakpoint! (the containers aren't running on the developer's machine just clarifying). I was wondering what it would take for us to have breakpoints at work.

With byebug you can launch a server and connect to it remotely to intercept break points.

Re: Where is Ruby Headed in 2021?

#269
post #168

The first time, a while ago, when I tried Ruby, coming from Java, it was pure joy of freedom :) I really liked the duck typing approach and the dynamic feel of the language. It's rather sad to see static "Java" creeping into it.

It’s optional but is a sign that it’s being used for more serious use cases.

Re: Where is Ruby Headed in 2021?

#270
post #198

Earlier quoted context omitted.

This is just not true. There are several multi-Billion dollar public companies with millions of users and thousands of employees built on Rails. In fact, the philosophy of convention over configuration et all makes Rails MORE scalable and easier to onboard new people than anything else out there that I’ve seen.

Well, you'd better not check what happened to all those Rails apps when those companies grew. There are soooo many blogs about migrating away from Ruby, adopting Go, Scala, whatever statically typed thing. There's a reason even Ruby is getting a proper static type system.

RoR is the most popular choice with Y-Combinator companies.

Its productivity is simply hard to beat.

Most of these companies are unicorns or public. https://spreecommerce.org/ruby-on-rails-most-popular-among-t...

Post reply on HN