Live data from Hacker News

Where is Ruby Headed in 2021?

bignerdranch.com

251–260 of 360 posts

Re: Where is Ruby Headed in 2021?

#251

Earlier quoted context omitted.

I don’t see how this helps?

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 can't think of a single point in my RoR career where this has come up. How do you even do Java-like OO when classes are so loosey-goosey anyway?

Though having suffered in a Rails codebase written by Java engineers, I definitely agree that a light touch is needed with OO -- though composition has its own difficulties and together this forms one of my bigger criticisms of Rails.

Re: Where is Ruby Headed in 2021?

#252
post #186
post #96

Earlier quoted context omitted.

> it's actually easier to write statically typed code because the inference / auto-completion / etc is so much better when you do. Ruby has a pretty nice language server, nice linter, REPL (Pry), many other tools. The best development experience IMO is still stuff like SLIME or Smalltalk environments. "Intellisence" just makes using statically typed languages bearable. It's not a unique feature.

Intellisense will allow you to do explorative programming, finding what method is callable on a given object. It’s much easier to look up n methods than to try to guess what is the whole state of the program where it may accept this and that, where even in the best case you might get a fraction of what a statically typed language’s autocompletion allows for. Like just seriously try intellij with java and pycharm for…

Ruby has (always had) a REPL and .methods gives you all possible methods you can call on an object. Editors with completion have been around forever too.

"Intellisence" is just what MS calls it. It's not unique to statically typed languages. Completion has existed for dynamic languages probably longer than I've been alive. In fact, the reason tooling for Java/C# is so good is because the VM can feed it info as it's running, since even though the language is static the runtime is dynamic.

Re: Where is Ruby Headed in 2021?

#253
post #198

Earlier quoted context omitted.

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.

Um, really? Why are unicorns like Shopify or Github are still using Rails if that's the norm?

The same reason Facebook uses php: that's what they started with and it's prohibitively complex, expensive and risky to change at their scale.

Re: Where is Ruby Headed in 2021?

#255
post #186

Earlier quoted context omitted.

Intellisense will allow you to do explorative programming, finding what method is callable on a given object. It’s much easier to look up n methods than to try to guess what is the whole state of the program where it may accept this and that, where even in the best case you might get a fraction of what a statically typed language’s autocompletion allows for. Like just seriously try intellij with java and pycharm for…

Ruby has (always had) a REPL and .methods gives you all possible methods you can call on an object. Editors with completion have been around forever too. "Intellisence" is just what MS calls it. It's not unique to statically typed languages. Completion has existed for dynamic languages probably longer than I've been alive. In fact, the reason tooling for Java/C# is so good is because the VM can feed it info as it's r…

Please try one out, the difference in quality is staggering. Also, .methods is a runtime thing, that’s hardly useful. Of course at runtime you must know the available methods.

Re: Where is Ruby Headed in 2021?

#256
post #186
post #96

Earlier quoted context omitted.

> it's actually easier to write statically typed code because the inference / auto-completion / etc is so much better when you do. Ruby has a pretty nice language server, nice linter, REPL (Pry), many other tools. The best development experience IMO is still stuff like SLIME or Smalltalk environments. "Intellisence" just makes using statically typed languages bearable. It's not a unique feature.

Intellisense will allow you to do explorative programming, finding what method is callable on a given object. It’s much easier to look up n methods than to try to guess what is the whole state of the program where it may accept this and that, where even in the best case you might get a fraction of what a statically typed language’s autocompletion allows for. Like just seriously try intellij with java and pycharm for…

Or try RubyMine for Ruby.

The challenge of providing a list of available methods in a dynamic environment is real, for sure, but there are great tools out there doing it right now.

Re: Where is Ruby Headed in 2021?

#258

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.

how about PagerDuty, Divvy, Slab? I once worked at a company where the CTO said 'elixir is an unknown quantity and I'm not sure we want to rely on it' and here we were using three critical services (one financial!) that were running on elixir.

> there's little jobs that's all

wasn't an issue for me. I applied for five elixir jobs in a limited sector (fintech) and got an offer.

Re: Where is Ruby Headed in 2021?

#259
post #230
post #72

Earlier quoted context omitted.

I started using dynamic languages since around 2008 (Python and Javascript). Before that I was more into C/C++. Granted, I've only written C in University settings where I'm writing small programs. I had no idea how to write "real" programs. But with Python and Javascript it felt like I could more easily write "real" programs. What I found out is that I quickly burned out. Around 2011 I felt like I don't know how to…

Dynamic languages start becoming problematic as more the size of the codebase increases. It becomes very hard to maintain.

Use whatever language you want; there is no large codebase that's easy to maintain.

Re: Where is Ruby Headed in 2021?

#260
post #243
post #8

Honestly I don't get why some people want to move to static types. Ruby is a dynamic language, that's the point of it... Giant orgs can just use Java or something. We need some languages to stay productive for those of us who work solo or in small groups. If I wanted static types I'd use Java, Go or something (probably Haskell).

Static typing is like an automatic test for a specific category of errors- type errors. That's why it's useful. Ruby's choice of making it optional means folks like yourself who want to move fast and break things are welcome to do so, but those of us working on more mature systems that need the reliability and lack of bugs can add this on and get the safety.

Ruby is strongly typed anyway... The runtime complains if you mis-type something just as a compiler would complain. In fact, linters just catch it as you type (plus any other typos).

Mixing it up with JS (which is weakly typed)?

Post reply on HN