(评论)
(comments)

原始链接: https://news.ycombinator.com/item?id=41299148

尽管作者对最近发布的功能强大的 Ruby 库表示赞赏,但与针对其他编程语言(如 Python、JS、TS、Rust 和 Go)发布的类似库相比,他们观察到了延迟。 此外,在集成 Notion、Slack 和 Cloudflare 等流行技术时,Ruby 选项或官方选项的可用性有限。 作者对 Ruby 作为一种语言的受欢迎程度下降感到担忧,认为它可能会像 COBOL 或 Perl 一样被淘汰。 尽管作者自己贡献了许多 Ruby 库,但作者发现 Ruby 社区的使用率和参与度有所下降。 这包括报告的问题较少、下载数量较少以及整体采用率较低。 此外,由于不断变化的运行时限制,用动态语言维护库带来了挑战,导致维护它们的兴趣下降。 为了改进,作者建议投资于 Rust 或 Go 中的健壮类型系统,或者专注于 Ruby 擅长的利基领域,例如平铺窗口管理器或简单的文件管理器。 然而,他们承认个人偏好在这些选择中发挥着作用。 总的来说,作者对 Ruby 社区的衰落感到遗憾,特别是因为他们相信 Ruby 比 Python 和 JavaScript 等语言具有优势。

相关文章

原文


Ankane's Onnx runtime for ruby is so easy to use that makes you wonder why the official repo for js is so difficult to understand. This guy's a hero, although I'm only scratching the surface for what he has done.



They really are.

The lack of such contributions -in general- or the speed at which they appear, is what leads me to conclude that the Ruby community is slowing down.

In this case, suddenly there's an awesome library for Ruby. Which is fantastic. An achievement to be very thankful for. But "the community" "produced" this months or years after such libs landed for Python, JS, TS, Rust, Go and so on.

Not just ML/AI, same happens for "gems" (Ruby libs) that deal with any new tech. It used to be that any SAAS or startup would offer official Rubygems from the get-go. Often before offering other platforms or languages. Today, when I want or need to integrate something, from notion to slack to cloudflare: no Ruby option or at least no official one.

This saddens me. Ruby is so much more than Rails (for which I can understand the reluctance or "hate"). Ruby is so much nicer to work in than Python and certainly than JavaScript. Ruby could easily have been what Python is today and tens of thousands of developers would be just a little happier than they are now, I am certain.



I find the ruby gem ecosystem significantly richer than any another. Maybe not by sheer quality, which quickly translates to millions of abandoned libraries (I’m looking at you nom), but certainly quality.

It’s also recently on the rise in general.



This is such an odd comment to me.

On the one hand, you praise Ruby, and lament that it gains such libraries so much later than other languages.

On the other hand...if you were paying attention to the "Python, JS, TS, Rust, Go and so on" ecosystems, and noticed the ML/AI work, why didn't you create one for Ruby yourself?

I guarantee that whatever answer you give doesn't matter, because every other Rubyist has their own reply. A "community" begins with one person doing the thing.



I have worked both at Ruby and Python shops.

The average Ruby dev works at a mid to small sized company, probably a startup, and they are usually contributing to some proprietary SaaS product on top of Rails. Progress is always happening in the Ruby / Rails world but it's really slow.

On the other hand, Python has three popular web frameworks and a huge data tooling ecosystem that just keeps getting better. It's just easier to get things done with Python these days and the gap is so huge that I can understand OP.



Not just everyone is skilled enough to make great libraries. There is always going to be an order of magnitude more people interested in using a premade library than are going to be capable of making one themselves. Even if ability wasn't a factor, time often is.



No one person can create enough libraries to maintain an entire ecosystem (although the guy who made this transformer library is pretty close), so even if the person you responded to did create a few libraries, their problem wouldn’t be solved.



> A "community" begins with one person doing the thing.

And a community thrives with many one-persons combining their effort and keep doing so.

I have made many libraries (gems), OpenSource. Some paid, many just for the benefit of this community; your implication that I lament but not put my work and effort up is frankly rather offending.

To continue on this lament: libraries in dynamic languages are rather hard to maintain, due to runtime constraints that progress/change over time. And the one thing I see is a dwindling usage. Less issues filed (good! ;), less downloads, less integrations, less praise, etc etc.

The more I pay attention, the more I see the Ruby community dwindling. I hope this is merely Rails dwindling - I frankly won't mind if Rails is replaced -, but I fear that Ruby = Rails in practicality. And that Ruby is on the way to the COBOL or Perl.

This, I lament, because I think Ruby is, in the niche of dynamic scripting languages, by far the nicest, cleanest and fun to work with. It's tooling and syntax far more consistent and sensible than Pythons. It's concepts far better thought out and much nicer executed than PHPs. And, sorry, everything can be better than JavaScript without much effort.

So, to me it makes no sense to make Ruby the next Python or PHP, because it's already much better, IMO. It's just not used as often. One extra person using it, doesn't change that.

And, it makes even less sense to make Ruby more like Go or Rust, because if I need Rust, I'd pick Rust instead of spending years of my life making Ruby more like Rust (i.e. invest in a type system, some compile stuff etc).

And when I need e.g. WASM runtime (in say serverless functions) or integration of some new fancy SAAS, or LangChain alike tooling, why would I poor months or years of effort into building tooling to compile to WASM, build gems around said SAAS, or help with tools like Transformers for Ruby, when I can pick Go or Rust to compile to wasm today, grab the Typescript package for the SAAS today, or learn, use (and dislike) Langchain in python today as well?



My desktop is almost all Ruby. Ruby is not going away for decades.

I've just started replacing my shell with a shell in Ruby too. To me one of the nice things about Ruby is that I feel like I can get things done so easily it doesn't matter if the community is smaller. Almost all the code I use apart from the kernel, Chrome and Xorg is now my own.



My X11 window manager is pure Ruby: https://github.com/vidarh/rubywm That was posted to HN a while back. It's a minimalist tiling wm.

My file manager is (very simplistic, I do most of my actual file management from the shell - it's in effect mostly a desktop launcher) Ruby

It, as well as my desktop switcher (also Ruby) depends on pure Ruby X11 bindings, and a pure Ruby TrueType font renderer:

  https://github.com/vidarh/skrift
  https://github.com/vidarh/skrift-x11
  https://github.com/vidarh/ruby-x11
So does my Ruby terminal (what's on Github is nothing like the full version, which I will package up and push one of these days).

My editor is also pure Ruby, using Rouge (Ruby; not mine) for syntax highlighting. That also needs a major update on Github - what's there probably won't even run for others because my personal "ecosystem" on my system is full of helpers and these things are written to be as minimalist as possible so e.g. my editors "file open" dialog is a 2-3 line wrapper around dmenu.

And I've just replaced my shell with Ruby - but that's just for interactive use, so it's very tiny.



Competitive pressure on SaaS companies and startups is much higher now and while there are tons of people are building client wrappers and other much more exciting stuff in Ruby none of its getting extracted, polished and open-sourced because everyone is entirely justifiably freaking out about profitability.



That’s like grasping at straws to avoid the truth. If the ratio of developers using ruby is dropping, the popularity of it is dropping.

Everything is ML focused now, and python is unfortunately the language most data scientists prefer.



Examples of what? Missing gems?

I mentioned a few already. Some more that I recently ran into, are in the niche of "verifiable credentials", SSI and DIID. A weird niche, but relevant to my current work.

There's plenty of work, references, implementations, type-systems for TS, Rust, Python and even .net. But nothing significant (a very few experiments at most) in Ruby.

There's little support for WASM, eventhough that's a promising tech to run and manage backend stuff as well as maybe someday client-side stuff already. There's little tooling to manage cloud infra in Ruby (Chef and Puppet still chugging along, but hardly as omnipresent as Ansible etc)

PHP, Python, Typescript: typing is emerging everywhere, albeit "bolted on". Ruby has efforts in this direction, but far behind the ones mentioned above.

There's no practical "frameworks" or libraries to make games. Very few frameworks or tooling to build desktop software. There's little effort around architectural concepts like Event Sourcing, Hexagonal architecture, Actors and so on. They are there, but I suspect overshadowed by Rails and far less used and documented than their counterparts in other ecosystems.



I actually dropped Ruby due to lack of typing, if Rails/Ruby gets static typing maybe people like me will come back.

Another problem was lack of concurrency, I don't know if that is still an issue today.



Same here.

But having worked with PHP and Python, who having typing annotations like Ruby can have through addons (sorbet) and might get to core someday, I would not go back to Ruby if it got this.

Typing annotations in PHP or Python are hardly useful to me. Their net benefits aren't there for me.

So, rather than trying to make Ruby (or Python, or PHP) like Rust, or .net or Java, why not just pick Rust, .net or Java instead? When I don't need typing, I'll gladly pick ruby still. But when I do, I don't want to shoehorn Ruby into something it was never designed to be, but instead pick an option that has typing designed into its core.



> I actually dropped Ruby due to lack of typing, if Rails/Ruby gets static typing maybe people like me will come back.

Not every language needs/should have static typing, so sounds like you just found a better language for your own needs, doesn't mean Ruby has to change. Personally I think it's perfect as it is :)



Such absolutely wild takes here. I think ruby is the worst language I have ever used, especially with rails.

I’m not surprised at all that the ruby ecosystem is dying, people have been complaining about its magic-ness for a decade and it’s still a problem today.



I can’t describe how thankful I am for Ankanes gems, the stuff hes created has been essential for some of my apps. He fills the gap on the ecosystem in my opinion.



Andrew Kane and Chris Oliver are the best of the best in the ruby community IMO. Even if I don't use all their contributions, they are most welcome.



Ahoy, blazer and field_test form the basis of our very strong no-BS data infra. It is so simple.

I still want to try and combine ahoy with a column store in postgres so that we can run the analytical queries straight onto postgres instead of syncing the events to BigQuery.

I've tried using pg_analytics by Paradedb but they don't support json columns, which is necessary with ahoy. Performance wise that would be ideal though.



Blazer is my favourite BI tool by a country mile. It does all I want with no fuss, is a breeze to set up and it's so much faster and more efficient than any of the other BI tools I've tried.



For anyone using Ruby who doesn't know ankane already, there are some very useful tools in his github ... like /disco which is a super simple collaborative filtering implemention if you want to quickly drop some recommendation in somewhere

If you are looking for anything ML related with Ruby ankane has usually had a look already ...

联系我们 contact @ memedata.com