Live data from Hacker News

What Pythonistas Think of Ruby

blog.peepcode.com

141–150 of 247 posts

Re: What Pythonistas Think of Ruby

#141
post #119

Earlier quoted context omitted.

As a non lisp programmer, it is hard for me to automatically see what is going on in a lisp program because of mismatched " ' " and a lot of parenthesis. I believe this is one of his points. When I was learning python, or ruby, for that matter ( I use both! ) I never felt like I had no idea what was going on in the code even before I learned the languages.

Oh, Lisp isn't so difficult once you get used to. Interestingly I find myself equally baffled when I have to read code with side-effects. There's just so much implicit state (and state changes going on in the background), you have to keep in your head. Pure languages are so much easier to understand.

I should probably try to learn lisp. I primarily use emacs, so it would make a lot of sense. Some of the ruby/rails stuff out there for emacs really isn't very good.

Re: What Pythonistas Think of Ruby

#142
post #67

Earlier quoted context omitted.

I've found quite the opposite; my experience with Python users has been consistently personable. If anything, the party line seems to be "this is the way we do things, if you like what you see, come on in, if not, no worries". I mean, this whole article is really just a troll post on Python by a Rube (that's what they're called, right?)

" ... just a troll post on Python by a Rube (that's what they're called, right?)" Speaking of which ...

It was just a joke, no offense intended. Apologies to any Rubyist who was offended.

Re: What Pythonistas Think of Ruby

#143
post #49

Earlier quoted context omitted.

You might be taking the statement out of context, and you are certainly quoting it out of context (although brevity is appreciated.) The statement in the talk was made to illustrate the differences between Ruby and Python, and it was not made to suggest that Ruby was replicating all the benefits of Lisp.

I understand the intent, but I do not feel that it loses its incorrectness by taking it out of context. That people even feel this comparison is appropriate is what has me depressed. It represents a fairly fundamental set of misunderstandings.

> That people even feel this comparison is appropriate is what has me depressed.

I agree; you can replace the term "DSL" with "API" in almost every case without losing any essential meaning. (You have to give the hipper-than-thou language pseudo-advocacy, but that's no loss.)

Re: What Pythonistas Think of Ruby

#144
post #131
post #93

Earlier quoted context omitted.

you're by far the flamiest person here. Flamier than the person who called Ruby developers "Rubes" after claiming Python is friendly to other developers? Interesting. Python community leaders are not into bashing other languages routinely Indeed, this is true. It's unfortunate that so many python developers don't follow suit.

The "Rube" comment was a joke, not a serious insult. If it genuinely offended you, I apologize. On the other hand, if you're looking to be offended to prove a point about who is "flamier", you've succeeded.

It's not about offense, it's about a culture that apparently believes that name-calling and language-bashing are traits of a "nice" and "personable" community.

Re: What Pythonistas Think of Ruby

#145
post #17

Earlier quoted context omitted.

Disagree on "REST syntax". Python could do just as well: Sinatra: get '/hi' do "Hello World!" end Python 2: @get('/hi') def hello(): return "Hello World" Python 3: def hello() -> "/hi": return "Hello World"

A Rubyist would argue that that Python 2 syntax is anything but clear. I have no idea what that Python 3 snippet is doing... care to share? That looks like something that's hard to Google...

> A Rubyist would argue that that Python 2 syntax is anything but clear.

Why does that matter? The syntax should be clear to a capable Python developer, not someone who has never used Python.

I'm not suggesting that that particular syntax is or is not clear to said Python programmer, merely that the consideration for a Ruby programmer is useless.

Re: What Pythonistas Think of Ruby

#146
post #41

Earlier quoted context omitted.

As a Pythonista I have no idea what the Ruby snippet is doing. Readability depends entirely on context. Oh, come on. You're just disagreeing for effect here. I've never used Ruby but that snippet is clear as day. The Python 3 snippet suggests to me that the output would be "/hi" though :)

Oh, come on. You're just disagreeing for effect here. I've never used Ruby but that snippet is clear as day. The hell it is. I find it quite confusing. I'll take the Python 2 solution anyday, which clearly seperates what is called from when it is called. One of the main problems with the 'my language is so flexible' approach is that inventing concise solutions becomes a goal in itself.

> which clearly seperates what is called from when it is called

You're passing some code as an argument to a function. Many other languages do this. Do you hate Lisp and Haskell, too? Do you not use continuations in Python? Or callback functions?

Re: What Pythonistas Think of Ruby

#147

Earlier quoted context omitted.

A Rubyist would argue that that Python 2 syntax is anything but clear. I have no idea what that Python 3 snippet is doing... care to share? That looks like something that's hard to Google...

> A Rubyist would argue that that Python 2 syntax is anything but clear. Why does that matter? The syntax should be clear to a capable Python developer, not someone who has never used Python. I'm not suggesting that that particular syntax is or is not clear to said Python programmer, merely that the consideration for a Ruby programmer is useless.

Because "he's a Rubyist" is the reason he would say something like "you can't have Sinatra's clear syntax."

Re: What Pythonistas Think of Ruby

#148
post #98

Earlier quoted context omitted.

> I wish Python just had some kind of anonymous function syntax that was more rich than lambdas A lot of people keep saying this, including the article author, and I'm having trouble understanding why. Lambdas are for "one-liners", functions are for more-liners. Any time you want to write multiple lines in a lambda it's trivial to make it a named function. def listSomeTable(name): print name.center(40, "=") def getWe…

You are correct. There is no reason not to just use an inline function that happens to have a name. I think the "lambdas can only be one line" is a newbie python mistake.

Personally, I dislike naming things that I won't use again. It feels like a waste. And then, since I have to name things, I have to come up with a _good_ name.

Just a matter of taste, mind you, but it's my reasoning for preferring anonymous functions.

Re: What Pythonistas Think of Ruby

#149

"The Seattle Python community represented there was almost painfully polite. ... I later learned that this may be an attribute unique to Seattle Python developers." When I lived in Seattle, I read that musicians, playing in PNW clubs and venues and noticing a lower audience energy level than they were used to, sometimes had to be reassured by club owners that yes, the audience really does like you, really, it's just…

[deleted]

Re: What Pythonistas Think of Ruby

#150

Python versus Ruby has always struck me as one of the absurd battles ever. The two languages seem to address a very similar space and have broadly similar features sets. Yes there are points of variation but both seem to work really well. People build cool and useful stuff in both. People are productive in both. As for me - I personally like the syntax of Python better. That could be because I learnt it first - or it…

As a "battle" I think it is stupid. Otherwise, I disagree with you. They're very different languages. Python is great for people who are accidental programmers or non-programmer programmers, especially ones who think mathematically and analytically. It's popular among scientists and engineers who need to understand a language pretty completely in a top-down way, but who want to waste as few brain cells as possible on a programming language because their brainpower is primarily applied to other things.

Personally, I've always programmed primarily in other languages (C++ being mein liebster Feind) but I've relied a lot on Python (and occasionally Jython) for day-to-day scripting and for delivering code to customers that reorchestrates existing code to do new things. Python has never lit a single creative spark in me, but it has always delivered for me without demanding much in return. Now, that is a statement you will never hear applied to Ruby.

I don't know much about Ruby, but the things I hear about it remind me of Perl in some ways. Back in the day, I spent a lot of time learning Perl, promptly forgetting it, and going back to Perlmonks to learn it yet again. Perl comes naturally for impressionists who love to program by instinct, pattern-matching, and trial-and-error. They love it when something new pops into their head and they type it in and it just works, and they aren't immediately sure how or why. Perl is also for dedicated professionals who want a tool that rewards more study and practice with more and more power -- mastery of Perl is a never-ending road with a seemingly never-ending escalation of power and awesomeness.

Ruby seems to be a much more easily understood language than Perl, but (from the outside) it seems to share Perl's magical flavor and open-ended approach to mastery. Python is better for people like me who want working, understandable code for the smallest lifetime intellectual investment.

Post reply on HN