Live data from Hacker News

Where is Ruby Headed in 2021?

bignerdranch.com

231–240 of 360 posts

Re: Where is Ruby Headed in 2021?

#231

This is really cool. I’ve used a number of languages and dabbled in a few frameworks but nothing I’ve used brings me joy like ruby does. I approach programming creatively. I think in large systems and architecture. Ruby allows me to skip worrying about the details. Code blocks abstract away thinking about loops and just focus on data. Just about every array operation I could want is there, waiting for a code block. I…

Bet one entire language's future on a single framework isn't working very well I guess. It is 2021, web frameworks are ... one of the solved problems. Polyglot is the future, and people are already adapting

That's easy to say, but for small teams and startups it's difficult to achieve.

Re: Where is Ruby Headed in 2021?

#232
post #12

Earlier quoted context omitted.

This is a set of statements that strike me as pretty unreflective of the state of things these days. I have slung a lot of Ruby in my life and I literally-not-figuratively stopped the second I laid my hands on TypeScript because we've hit the point where gradual static typing is both easily available and super easy to work with . (And there's also Rust, which can scratch a whole different set of itches that I don't h…

> But that's a pretty out-of-date take Gradual/optional static typing are not new ideias. It’s just that they are fashionable now. It used to be that not having to deal with types at all was the cool place to be in. Our computers were getting so much faster every year, why would performance be a concern? Programmers are more productive in dynamic languages and computer time is cheap, etc, etc. The “correctness” pitch…

> Gradual/optional static typing are not new ideias. It’s just that they are fashionable now.

I'd add that Common Lisp has had optional type hints (as both documentation and performance improvement) for getting close to 40 years now.

Re: Where is Ruby Headed in 2021?

#233

Earlier quoted context omitted.

You may have heard of some of these companies: - https://appunite.com/blog/top-10-elixir-companies-to-follow - https://elixir-companies.com/en

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.

It's a difficult metric, that one. In part because I get the impression that high-specificity tech like Elixir and to a certain degree Clojure attract people who, once they're in the job, _never leave_, and their productivity is high enough (if you believe the marketing) that you just don't need to grow a team as hard and as fast as you would on a more "popular" stack to get equivalent outcomes.

If all that's true, it's a natural consequence that better tools will have fewer job postings: you need fewer people to get the job done, and the ones you've got have really good retention. However, so will tools on the other side of the bell curve: nobody in their right mind wants to go there, either on the supply or demand side. So all popularity really tells you is where the enterprise hype machine was, five, ten, fifteen years ago such that "nobody got fired for choosing X" and "learn X! It's got a lot of job postings!" still align.

But the enterprise hype machine is optimised for tools that have a very specific set of surface criteria: enormous libraries so you're not inventing anything, rock-solid vendor support so there are people being paid to evangelise it into orgs (or, like JS, are ubiquitous anyway, but I think that particular lightning only strikes once), and "easy to learn" ergonomics such that developers asymptote towards replaceable cogs in both quality and quantity.

"Well respected but obscure" describes a certain sort of success, by that reasoning. It just needs enough of a community to stay alive, and that's a bit more of a toss-up. Ruby haemorrhaged people in the Rails 4-5-6 cycle as people jumped ship to node, but Rails 7 and Ruby 3 are looking extremely tasty despite that, and I wouldn't be surprised if we saw a bit of a resurgence in popularity over the next couple of years outside big enterprises.

Most of the people I interview have got into tech after Rails 3 was released, and generally aren't aware of why the Rails/Phoenix/Django concept was such a breath of fresh air. I think what you'll see is that the reason Phoenix and Elixir have a "next big thing" isn't technical factors at all. It'll be a rediscovery by the new generation when someone unexpected goes unicorn and the story is "it was all down to Phoenix", even when the real factors were elsewhere.

Re: Where is Ruby Headed in 2021?

#234

Personally, I still haven't really found a better tool for little one-off throwaway scripts than Ruby. Python's always been verbose for me and lacks the awk heritage that makes text processing tasks so easy. Node forces me to deal with async I/O. Shell has annoying quoting rules. I don't feel strongly about any of this and if another language is your favorite for small one-offs, that's great. Ruby works well for me t…

I agree, but the worse of Node IMO it's installing thousands of packages and MB just for doing a small thing, it's madness, every time I have to install NPM in a new computer I feel like I'm poisoning it.

Re: Where is Ruby Headed in 2021?

#235

Earlier quoted context omitted.

Ruby's dispatch is Smalltalk-like, not Java-like; it is (very) late-bound. The consequences for interface design are dramatic, the natural style being one in which objects notify each other, rather than telling each other what to do, and the result is loose coupling and ease of composition. People trying to write Java-like OO in Ruby end up confused and frustrated.

I've worked with Java, Ruby and Python but I don't get your point. Can you recommend any resource to help understand what you mean? Or maybe some short examples in Python and Ruby that would highlight how implicit imports allow solving problems in a way that explicit imports prevent?

Not the parent, but I’ve found Sandi Metz conference talks to be an amazing resource for learning more about this message focused approach.

Re: Where is Ruby Headed in 2021?

#236

Earlier quoted context omitted.

This advice is a testimony that there's indeed a problem upfront Indeed, and the problem is that IDEs have encouraged developers to write convoluted code and to forget how to navigate a filesystem. Reading code and commit history is a much faster path to understanding a system than an IDE's autocomplete. I learned this from Ruby, and it serves me well in C, Kotlin, Scala, PL/SQL, Typescript, etc.

> IDEs have encouraged developers to write convoluted code and to forget how to navigate a filesystem. I would argue the exact opposite. Developers who force tools designed 30 years ago to dictate programming language best practices today are holding back the entire industry. There is no reason for my tooling to depend on my filesystem; imagine if my IDE integrated directly with vcs, and a language server provided bo…

You're right to remind that the filesystem is a metaphor, a model and not the reality of what's going on on the computer. The thing is it's still the common denominator between different IDEs and text editors. IDEs cannot be used in every situation so any professional developer who uses an IDE also knows his way around with a text editor. If we were to come up with a better abstraction than the file system, it would have to be shared between different IDEs for interoperability. My understanding is that Smalltalk was such an attempt but somehow that aspect of it didn't really spread. Are you aware of current progress being made in this area?

Re: Where is Ruby Headed in 2021?

#237

Earlier quoted context omitted.

Bet one entire language's future on a single framework isn't working very well I guess. It is 2021, web frameworks are ... one of the solved problems. Polyglot is the future, and people are already adapting

> Polyglot is the future, and people are already adapting Yes, right. I like how you can read into the future. Let's see what happens 10-20 years from now, things tend to change. But even if we look at how things are now, plenty of places still commit to 1-2 languages (in fact if you're a small shop it's pretty crazy to try anything else).

It depends heavily on the problem you're solving. A few jobs back I was in a small shop and we were all regularly bouncing between Java, C, Ruby, JS, Perl, Python... Go crept in round the edges too. We wouldn't have been able to deliver without the full set just because of what we had to interface with. It's more than doable as long as the culture is "learn the necessary skills".

Re: Where is Ruby Headed in 2021?

#238

Earlier quoted context omitted.

>Why is JS one of the worst languages ever designed? Implicit type conversions. Function scoping. Null and undefined, what is the difference? Accessing an undefined variable doesn't throw an exception. Assigning to an undefined variable without var puts it in the global scope. No integer type. I could go on and on. The only reason it has become successful is because it has a monopoly in the browser.

My favorite recent discovery is calling a js function with too many or too few parameters. It'll just go ahead and do it.

There’s an implicit “arguments” function argument through which you can access the extra parameters. It’s JSs way of function overloading

Re: Where is Ruby Headed in 2021?

#239

Earlier quoted context omitted.

Do you have any specific examples of things that make JS nice that have been lost because of the popularity of TS? As with types in Ruby, I was under the impression nothing was really lost as TS could be added incrementally as developers saw value. I don't think I've talked to anyone who has gotten "over the hump" with TS and felt like they were missing something from JS - I may be in a bubble though. It's almost fru…

The dynamic nature of JavaScript is lost when using TypeScript. Although TypeScript can be added incrementally, in practice I've only seen it totally replace JavaScript. While I do believe more people prefer TypeScript over JavaScript, I think it's because those people never deep dived JavaScript or bothered to learn it enough to see how powerful it really is. There are also people that just prefer typed languages an…

Once you have more than one team in the same codebase the opinions start to line up as people start to think the types will save them from stepping on each others' toes. Which it might! Publishing types is also a poor-man's contract testing, so people who like that sort of thing will like that sort of thing.

Re: Where is Ruby Headed in 2021?

#240

Earlier quoted context omitted.

1. What's wrong with C#? 2. What made JS uniquely nice? I wanted to leave these questions entirely open to answer, but I'll add my own opinion on (2) because I feel compelled: nothing, JS is quite possibly the worst language ever designed. Certainly the worst in widespread use.

Why is JS one of the worst languages ever designed? I've used many languages and JS is one of the better designed ones in my opinion.

There is the kernel of a nice idea in JS but so many bad early design decisions can never be walked back.
Post reply on HN