Live data from Hacker News

Ruby's exceptional creatures

exceptionalcreatures.com

101–110 of 133 posts

Re: Ruby's exceptional creatures

#101
post #72

Earlier quoted context omitted.

I definitely prefer Clojure/Elixir-style macros to Ruby’s meta-programming features. They’re still better than nothing, though. Method-mossing and friends played a critical role in making a framework like Rails possible in Ruby. In contrast, languages like Python and JavaScript just aren’t quite expressive enough to do it. A lot of energy went into attempts over the years, too! At best, something like Sails could get…

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...

Re: Ruby's exceptional creatures

#102

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 python is the only language where the inevitable flamewar isn't about the language itself (it is instead about static vs dynamic typing). Java might be in this list too (usually the war is about OOP in general, but there's plenty of criticism levied at Java itself). Discussions about C devolve into a religious war about simplicity and portability vs safety and an inadequate standard library. Discussions about…

Oh! I want to play too!

Discussions about Go devolve into a religious war about simplicity and portability vs "the creators of the language said its only for dum dums and it shows", "it took them 10+ years to get generics", and more.

Discussion about Zig devolve into a religious war about living in a universe where C exists and not wanting to write it versus "there's too many C-likes", "why isn't this Rust", and more.

Discussions about Erlang devolve into a religious war about standing up fault tolerant and scalable distributed systems, Joe was the nicest guy ever vs "you can do that in X all you have to do is Y".

Discussions about Elixir devolve into a religious war about Erlang and Ruby's love child, José Valim is the nicest guy ever versus "you can do that in X all you have to do is Y", "but what about types" and more.

Discussions about Clojure devolve into a religious war about people writing impressive programs in their spare time, "I actually get paid to write Clojure" versus "does anyone actually get paid to write Clojure".

Discussions about Elm devolve into a religious war about type safety and staying sane versus Richard Feldman lost his temper once, the 0.19 release and "everyone has Stockholm syndrome over there".

Discussions about V devolve into a religious war about "this is not a scam" versus "this is a scam".

Discussions about Nim generally don't, or the language creator is going off on D-forums / Twitter / X again.

Re: Ruby's exceptional creatures

#103

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?

rust does this as well and it's because the community around both are snobs just for different reasons.

Re: Ruby's exceptional creatures

#104

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 python is the only language where the inevitable flamewar isn't about the language itself (it is instead about static vs dynamic typing). Java might be in this list too (usually the war is about OOP in general, but there's plenty of criticism levied at Java itself). Discussions about C devolve into a religious war about simplicity and portability vs safety and an inadequate standard library. Discussions about…

Yeah, absolutely. Ruby just has its own unique flavour of holy wars because it somehow manages to make people either to be totally enamoured with it or utterly sickened by it, with almost no middle ground ― which is quite an achievement TBF. So when the latter group reads something like "This is absolutely delightful! As a non-ruby developer I see things like this and get jealous of ruby developers", they can't help buy conclude that the other side is straight up demented and should probably be disallowed to handle sharp objects like scissors and monkey-patching, and the holy war may commence.

Re: Ruby's exceptional creatures

#105
post #68

Earlier quoted context omitted.

How often do you see people describe that kind of passion for Python? Maybe for lisps, Erlang, Haskell, Smalltalk. It may well put some people off, that's fine, but personally I dread it when I have to work with languages that don't instill that kind of passion. There are plenty of things I'd like to be different about Ruby and the tooling, but with Ruby I feel like I'm crafting something that at least has the potent…

I think Ruby is polarizing. It is the only language I have used that I feel a genuine dislike for. Other people I have talked to feel the same. Then there is a group who loves it.

For me that language is Python (well, and x86 assembler). Python just feels fundamentally inelegant and messy to me, in a way that makes it tedious to read and write. I'll work on it if I must, but thankfully I rarely must.

Re: Ruby's exceptional creatures

#106

Earlier quoted context omitted.

I think python is the only language where the inevitable flamewar isn't about the language itself (it is instead about static vs dynamic typing). Java might be in this list too (usually the war is about OOP in general, but there's plenty of criticism levied at Java itself). Discussions about C devolve into a religious war about simplicity and portability vs safety and an inadequate standard library. Discussions about…

Oh! I want to play too! Discussions about Go devolve into a religious war about simplicity and portability vs "the creators of the language said its only for dum dums and it shows", "it took them 10+ years to get generics", and more. Discussion about Zig devolve into a religious war about living in a universe where C exists and not wanting to write it versus "there's too many C-likes", "why isn't this Rust", and more…

Discussions about PHP inevitably end up in a "The language is better now" vs "You can still write this crap" loop. ;)

Re: Ruby's exceptional creatures

#107
post #41

Ruby is a good gateway to programming, better than C, C++, Java, Python,...

Better than Python? 15 years ago I would have agreed. Today, Python is a "gateway" to programming that is also the real thing. It's like one of those old languages designed for beginners to learn coding... and then you can continue to use the same language for your entire professional career as a software engineer, to build just about any production-ready application. Ruby is a beautiful language, but unless you are…

When I was young, and I had zero experience with programming, I was more comfortable with Ruby rather Python because:

1. significant whitespace was so hard to grasp. I was a beginner so I just needed to write awful code

2. Ruby was so "pure" from the OOP perspective that I had one thing less to think about: method calls start from object instances, period. Python has "exceptions" to this rule that made me confused (f.e. `len` in Python is a global function, while in Ruby is `array.length`)

3. I found Ruby matching more to English language

Later I found that Ruby has deeply obscure islands (metaprogramming mainly, but also exotic syntax coming from Perl), but I was already sold to the language

Re: Ruby's exceptional creatures

#109
post #41

Earlier quoted context omitted.

Better than Python? 15 years ago I would have agreed. Today, Python is a "gateway" to programming that is also the real thing. It's like one of those old languages designed for beginners to learn coding... and then you can continue to use the same language for your entire professional career as a software engineer, to build just about any production-ready application. Ruby is a beautiful language, but unless you are…

The biggest difference between both is mainly their machine learning story but if you don't intend to go in it (this is a very specific career choice), I'd say both are equally good options. I'd say both are pretty bad at performance critical tasks or UI stuff where usually you would use neither of those.

As far as the "UI stuff" goes sadly the Python ecosystem is way better - Python has both PyQL and Pyside which are a very solid choice for doing thicker client apps. Ruby doesn't even have decent Qt bindings, at all. Or didn't the last decade I've been checking.

Re: Ruby's exceptional creatures

#110

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?

Ruby is a rather dynamic language, which makes it both fun for some people, and untrustworthy for some people, and both for some people.
Post reply on HN