Live data from Hacker News

Ruby 2.0.0 Released

ruby-lang.org

221–230 of 303 posts

Re: Ruby 2.0.0 Released

#221

Anyone have any thoughts on why python and ruby are so similar, yet so far apart? They are obviously very close, because people switch between them all the time. And they are compared on everything (languages features, libraries, tooling...). I think it's a healthy competitive environment.

The biggest difference is the communities surrounding each, and the impression each leaves on people. When I think of "Python", I think of a mature, helpful, experienced, talented, well-educated community. I can generally trust their advice, I can trust their code, and I can trust their technical decisions. It feels like collaboration is important and encouraged. The Ruby community, whether this is deserved or not, l…

How many years ago did Zed quit Ruby for Python? How many years ago did why disappear? And that leaves DHH, who almost no one "worships" (most of the time people just get angry at him over CoffeeScript or something equally trivial).

Re: Ruby 2.0.0 Released

#222
post #175

Anyone have any thoughts on why python and ruby are so similar, yet so far apart? They are obviously very close, because people switch between them all the time. And they are compared on everything (languages features, libraries, tooling...). I think it's a healthy competitive environment.

I think that ruby, perl, python and javascript are similar only in purely theoretical way. Python - is "executable pseudoscript". It does not have ruby elegance, perl "worse is better", javascript ... minimalism(?) I'm using python for prototyping. As communication tool. I can describe all python scetches to every programmer, be it javer, c-sharper, C-developer or SQL-er. Can I use perl/ruby/CSharp/Java/F#/Haskel? An…

> Perl: sigils, regexp everywhere (when it not needed), parameters passing, "use strict", strange OOP - all those features makes it impossible for prototyping.

> Ruby: it's the same as for perl

Nothing you said about Perl can be applied to Ruby.

Re: Ruby 2.0.0 Released

#223
post #153

Earlier quoted context omitted.

You seriously would turn down a good job or other opportunity if the only downside was having to write in a whitespace-sensitive language? Most of the good developers I know have their preferences for sure, but can be productive in all sorts of languages.

Python has enough other design mistakes (statements vs expressions, destructive sort by default, and crippled lambdas to name a few) to keep away anyone with exposure to a more functional style even without whitespace issues.

Python is a functional language. They are not design mistakes, but merely things you disagree with. Lambdas aren't "crippled", for that matter. You can throw about "normal" functions too, you just don't have the convenient expression syntax.

Re: Ruby 2.0.0 Released

#224
post #111

I do wonder about the long term success of Ruby. Rails is easily the most visible project for Ruby. Rails is big, and all that code represents a high barrier to entry for any framework in a different language that wants to compete. However, a lot of people I talk to are moving to pure JS front-end + REST backend. In this world Rails doesn't deliver any particular value (in my opinion). Ruby also has utility for doing…

As a Ruby user that finds Rails annoying and not something I like working with, I don't think that's all that relevant. A lot of people have come to Ruby because of Rails, but a lot of Ruby people dislike Rails too. There's a plethora of web frameworks for Ruby that have sprung up exactly because of people who want to use Ruby but don't like Rails. In terms for barrier to entry with Python, the issue is that a lot of…

Pythons whitespace usage, for example, makes it DOA for me. I'm not touching it. If it works for you, great. It doesn't work for me.

This has to be up there with people claiming they don't like Lua because array indexing starts at 1 instead of 0. Of all the weaknesses of Python, focusing on something so superficial just seems lazy.

Perhaps in the future just say that you're experienced and comfortable with Ruby and have no reason to investigate Python at the moment. :)

Re: Ruby 2.0.0 Released

#225
post #13

Earlier quoted context omitted.

I'm a huge Python fan and there is nothing in the world that would force me to switch to Ruby =P

That's exactly what I mean. People feel very strongly for one or the other. Yet, even you, can't deny that they are very similar! Compare them to Java, Lisp, C, Go, Haskell, Perl,...

People feel very strongly for one or the other. Yet [you] can't deny that they are very similar

It's their very similarity that gives rise to the strong feeling. René Girard's theory of mimetic rivalry sheds light on this.

Edit: Alternatively, http://en.wikipedia.org/wiki/Narcissism_of_small_differences

Re: Ruby 2.0.0 Released

#226
post #210

Earlier quoted context omitted.

With a proper runtime, you don't bolt caching on, but rather implement it throughout the code base using both local cache state and shared network cache state. The end result is something simpler to implement, maintain, and deploy. However, thanks to using faster systems, the bar at which you must pay the implementation and deployment costs for caching is much higher than that of someone that needs it just to achieve…

I don't understand why you would want to implement HTTP caching in a language's runtime. Honestly, I don't even see where and how you could even do that.

You don't implement HTTP caching, except in very specific cases.

You cache generated data where you need it. This is 1) Easy to add later, 2) Doesn't sacrifice the flexibility of being able to recompose that data on-demand, and 3) Doesn't require a bunch of complex front-end infrastructure to support.

Re: Ruby 2.0.0 Released

#227

Earlier quoted context omitted.

Python has enough other design mistakes (statements vs expressions, destructive sort by default, and crippled lambdas to name a few) to keep away anyone with exposure to a more functional style even without whitespace issues.

Python is a functional language. They are not design mistakes, but merely things you disagree with. Lambdas aren't "crippled", for that matter. You can throw about "normal" functions too, you just don't have the convenient expression syntax.

There is no reason to include statements in a language other than inexperience.

Re: Ruby 2.0.0 Released

#228
post #131

Earlier quoted context omitted.

Trying to guess how Python works is quite hard if you're used to Ruby and other languages closer to Java. As I don't know much Python myself, it's hard to tell where Python fails the "everything is an Object" check. But in Python some legacy calls were more procedural than OO, like "len(o)" rather than "o.len". I think eventually Python got to support both approaches. I think Ruby is all objects even in its C abstrac…

Just as note: I don't really would call "len(o)" a "legacy call", as in "something it's here just for backward compatibility, but it's ugly and please don't use it". It's more "the good way to do it" :D len() is a perfect example of the duck typing and the "protocol-based" philosophy of python: its implementation it's something like def len(object): return object.__len__() as in "just return the result of invoking th…

Or, instead of having the convention that objects with a length implement __len__, you could have the convention where they just implement len and you could just call obj.len.

Re: Ruby 2.0.0 Released

#229
post #97
post #72

Earlier quoted context omitted.

You don' know what you're talking about. I lead the web team for local.ch, we have 4mil unique clients a month and handle 10k requests per minute in peak traffic. Our site is developed in Ruby on Rails, with average response times from in the 150ms range. We replaced our legacy PHP system last year and will never look back. Ruby 2.0 will be our future, and I'm happy about that.

We're having millions of unique clients per month and our peak traffic is above 200k requests per minute. Ruby delivers, although you need to be very careful what you deploy to the main app codebase. Especially to realize the speed differences between stuff like uniq vs. uniq! or the cost of creating new objects. It's enormous with big traffic. There are some things I wouldn't do with Ruby here. Like some concurrent…

that's about 3.3k requests per second. How many hosts is that spread across?

Re: Ruby 2.0.0 Released

#230

Earlier quoted context omitted.

Python is a functional language. They are not design mistakes, but merely things you disagree with. Lambdas aren't "crippled", for that matter. You can throw about "normal" functions too, you just don't have the convenient expression syntax.

There is no reason to include statements in a language other than inexperience.

I can't agree with that. "break", "exit", "return", variable declarations, etc. should never be expressions.
Post reply on HN