Live data from Hacker News

Ruby's exceptional creatures

exceptionalcreatures.com

111–120 of 133 posts

Re: Ruby's exceptional creatures

#111

Earlier quoted context omitted.

Antoine de Saint Exupéry once said, 'If you want to build a ship, don't drum up people to collect wood or assign them tasks and work. Instead, teach them to long for the endless immensity of the sea.' This resonates with how I feel about programming languages. Python might be more practical, but does it ignite a passion for coding like Ruby has historically done? I remember dabbling in Python, Perl, and JavaScript (E…

This is more or less personal preference though. When you say that Ruby ignites a passion for coding for you then that might not happen for other people. For example I only feel a headache when I look at Ruby code. For context: I worked with C, C#, some Python and now mostly work in Go.

You can love programming in a language, or you can love making programs, or be somewhere on the gradient between them.

Go, for example, is aimed at people who love making programs.

Re: Ruby's exceptional creatures

#112

Earlier quoted context omitted.

Respectfully mostly disagree. Ruby is full of sharp knives. Other languages have dull knives. Writing code without thinking will cut you either way. Things like method missing are exactly the right solution for a certain set of problems. If used thoughtfully, they’re amazing. If used thoughtlessly, bloody mess. But this is true in every language.

I’ve always really disliked the sharp knives metaphor. A chef’s choice of knife doesn’t impact their coworkers, nor does it end up on the plate to a customer. If we were chefs a knife would be your laptop, your editor, your cli tools. Not your programming language. A better metaphor would be the lumber in a building or the soil in a garden. I don’t know what I’d call ruby in this metaphor, maybe “lightweight wood tha…

The value of metaphors is not their ability to stay relevant at arbitrary inclusion of scope.

That being said, the original "Sharp Knives" piece is talking about powerful language features and whether to ban them in your kitchen, so yes, it has plenty of effect on their coworkers. Because it's a shared decision to not ban sharp knives from the kitchen, but trust and educate, and realize that people who're doing harmful things can do so with dull knives too. It's about the techniques you allow in your codebase, it doesn't propose that ruby is one "knife".

And programming language features does not, generally, end up on the plate of the customer either. The fact that this site is written in a language that allows even more powerful meta programming than ruby is not bleeding through in the sense that we now have the tools of the language available to us. We haven't been served sharp knives. We've been served the consequences of the engineering that went into it, and the people doing that engineering had the opportunity to leverage or ignore the sharp knives of the language. That language being lisp, I'm pretty sure they had at it.

Re: Ruby's exceptional creatures

#114

I don't know what it is about Ruby that turns every HN thread that mentions it into a flame war about how it's not the perfect language. People don't do this with other languages. What gives?

Flag bad comments, don't write meta comments about how the comments are bad, that only makes threads worse.

Re: Ruby's exceptional creatures

#117

I don't know what it is about Ruby that turns every HN thread that mentions it into a flame war about how it's not the perfect language. People don't do this with other languages. What gives?

I think any language with big fans will inspire equally motivated critics. Especially if the critics believe the accolades are undeserved.

You can see that in Go. It was a hugely hyped language, backed by Google, but without a lot of wishlist items that C++/Java/Python/Ruby/etc developers would have liked.

You can see that with Rust. There is the “rewrite everything in rust” crowd, which inspires anti-rust people to speak up.

I find it crazy how much criticism Rust, Go, Ruby, etc receive when Python has such glaring flaws. From the 2-to-3 migration, to package management. The consensus seems to be that’s just the cost of doing business.

By the way, I’m a Python developer. I don’t hate Ruby. But it seems like most Ruby fans love the elegance and consistency of its design, whereas that never resonated with me. E.g calling obj.length rather then len(obj) is surely more elegant. I never really cared though?

I guess I just find it interesting how some languages cons are excused while others aren’t. And how people can be drawn to some languages while others hate them.

Re: Ruby's exceptional creatures

#118
post #71
post #61

Earlier quoted context omitted.

Yes, it is only machine learning. Trying to separate it from the scientific community is creating a wall that does not exist. Besides, barely anyone uses python for 2d games or microcontrollers (out of hobbyist programs, and ruby also has a stack there with mruby or dragonruby, which have professional adoption mostly in japan), and you can't say with a straight face that python is a meaningful player in the Web appli…

> Yes, it is only machine learning. Trying to separate it from the scientific community is creating a wall that does not exist. What? 99% of science has nothing to do with machine learning. Jupyter is used in a million different environments such as pure mathematics or computational chemistry where machine learning is almost completely absent. > and you can't say with a straight face that python is a meaningful playe…

> I didn't mean as it's the same thing, I meant there's significant overlap across the ecosystem for both. The most obvious example is numpy, and the role of narray as an almost native type.

> According to the 2023 Stack Overflow Developer Survey[1], Django is more than twice as widely used as Ruby on Rails.

Even I'd consider SO surveys relevant, it'd still be a niche, just a bigger niche than rails.

Re: Ruby's exceptional creatures

#119
post #80
post #73

Earlier quoted context omitted.

> How often do you see people describe that kind of passion for Python? It's part of modern science/technology culture to indiscriminately hate the most widespread things. Personally, I find Python simply amazing and delightful to work with. And I consider its syntax, especially semantic indentation which eliminates so much visual noise, to be the best among all languages that ever achieved widespread adoption.

> It's part of modern science/technology culture to indiscriminately hate the most widespread things. This is evasive. How often did you see people describe Python that way before it became as widespread as it is now? > And I consider its syntax, especially semantic indentation which eliminates so much visual noise, to be the best among all languages that ever achieved widespread adoption. And for me it is why Python…

> This is evasive. How often did you see people describe Python that way before it became as widespread as it is now?

Quite a lot back in the early 2.x era before the Rails hype first kicked in. It really was a breath of fresh air compared to VB, Perl, JS, early Java or PHP of the time. It had a concise elegant clarity and consistency missing in other mainstream languages back then. And it was a relatively unknown underdog.

eg relevant to HN, here is PG talking about Python 20yrs ago: https://paulgraham.com/pypar.html

I've spent the last decade in Ruby shops and not done much Python recently, but I still miss those early Python days. Ruby never gave me the same sense of happiness it gave others and there are still things I prefer about Python. But it is subjective and I couldn't objectively say Python is better than Ruby.

Things are very different now - it is a much larger language with a much longer history to trip over, pulled in multiple directions with conflicting expectations, and the user base has changed from that small passionate dedicated community to being the intro to coding blub language that Java or PHP used to be where the average skill level is much lower.

Re: Ruby's exceptional creatures

#120
post #72

Earlier quoted context omitted.

python has `__getattr__` (and a lot of other dunder magic), what is still missing? With named arguments and (kw)args, there is even more ergonomic magic I think. And django's orm also has similar magical abilities as activerecord. I think a lot of the metaprogramming abilities Python has are just used less often than in Ruby. Not because it is less expressive, but because it has a culture of simplicity whereas brevit…

What Django doesn’t have and will never have is router or testing DSLs that are similarly ergonomic as Rails’s. https://stackoverflow.com/questions/7079855/are-there-techni...

And thank goodness for that. It is impossible to reason about types in such monstrosities.
Post reply on HN