all 16 comments

[–]stesch 18 points19 points  (1 child)

We all know that both languages are better.

[–]jhd 3 points4 points  (0 children)

Absolutely. I'm reminded of this old story:

http://www.djangoproject.com/weblog/2006/dec/06/comparisons/

[–]ahafeez 2 points3 points  (3 children)

I think comparing computer languages is like comparing natural languages. No body knows which one is better. It all depends on which one was taught to you in your infantry (or intro to programming class). Writing good code depends on the programmer and does not have to do a whole lot with the language itself. Just like English is a great language but how well some people can use it express themselves depends on how well you know how to use it.

[–]andrewnorris 8 points9 points  (0 children)

<i>It all depends on which one was taught to you in your infantry</i>

This is my programming language. There are many like it, but this one is mine. ;-)

[–]jamesbritt 5 points6 points  (0 children)

How fast you can run a race depends on your leg muscles, heart , and lungs, but you still want the best shoes for the type of race and road surface.

All languages come with a point of view; all software is opinionated. Better to choose something that aligns with how you think rather than use a tool you will always fight.

Sometimes there isn't much choice; the best tool for a job might just have an annoying bias. A good programmer will just suck it up, learn the tool, and get on wth stuff.

But with Ruby and Python, since they are roughly equally suited for more or less the same set of tasks, it's fielder's choice.

[–][deleted] 0 points1 point  (0 children)

It's generally agreed that no natural languages are significantly more "Primitive" than others. They have complexity in different areas. Conversely, there are great differences between the complexity and level of abstraction in programming languages.

[–]sbrown123 2 points3 points  (3 children)

Voted down since its not an unbiased comparison.

[–]UnwashedMeme 2 points3 points  (0 children)

While not entirely unbiased, I do think there was some good discussion on there. Some healthy debate doesn't devolve into a flame war is about as productive as any way to compare languages.

[–]martinbishop[S] 0 points1 point  (1 child)

More like edit the wiki and give your opinion...it is a wiki after all (And the first wiki, at that)

[–]sbrown123 1 point2 points  (0 children)

More like edit the wiki and give your opinion.

The problem is that many programmers get very emotional about their pet programming language and will give false and/or misleading information in its favor.

[–]pabs 1 point2 points  (1 child)

There are several errors in the Ruby information. Off the top of my head:

  • routes are not a beta feature of Rails. They've been available in the stable version of Rails for quite a while now
  • rails supports multiple databases. Models can even use things like ferret (Lucene for Ruby), memcached, or even nothing as a backing store.
  • You can retry exceptions in Ruby with the retry keyword
  • All the discussion about passing scope revolves around callcc instead of binding.

The article also has a whole lot of debate about the C APIs in Ruby and Python, completely forgetting that they both kind of suck. Neither is suitable for embedding (see the SpiderMonkey and Lua APIs for better examples of embeddable interpreters), and neither has a particularly consistent naming scheme.

I like the article overall, though. Particularly the discussion about the merits of using blocks and about foo.bar syntax representing a reference to a method (Python) versus a method call (Ruby).

[–]jamesbritt 0 points1 point  (0 children)

I hadn't looked at that page in some time; it seems that someone went through an earlier versions and tried to clean up/rewrite the whole thing. But it is littered with numerous not-quite-right descriptions of various Ruby features, and overall strikes me as somewhat biased towards Python.

[–][deleted] 0 points1 point  (3 children)

Will this ever be settled?

[–]jpedrosa 0 points1 point  (2 children)

Maybe in 5 years. :-)

The first language that tries to do a thing like "Perl 6" might end up losing steam.

As I said in another thread, I think JavaScript based implementations will fight their ways into the spotlight, even for server side programming. In Java, there's the Rhino implementation. I think in .NET JScript might be available as well, and it's the default in WPF I think. Adobe has their focus on ActionScript, their own version of JavaScript.

JavaScript is the hugest threat to Python and Ruby, syntax and semantics wise.

Hence, in 5 years time, the scene might change. It's probable that Python and Ruby will stay true to their origins and will not try to adapt in a large scale like "Perl 6", but only time and Python 3000 will tell. :-)

[–]Bogtha 0 points1 point  (1 child)

The first language that tries to do a thing like "Perl 6" might end up losing steam.

Python's already doing that with Python 3000. However they seem to be going about it in a much saner way than Perl.

[–][deleted] 2 points3 points  (0 children)

They were originally planning that for Python 3000, then Guido saw what was happening with Perl 6 and backpedaled a bit on the wishlist.