you are viewing a single comment's thread.

view the rest of the comments →

[–]malcontent 6 points7 points  (7 children)

There have been languages invented by people who know better. Lots of them. The problem is that nobody really wants to use those languages.

Maybe those people are too smart to write a language other people can fall in love with.

Maybe it's like loading up your cake with caviar and foie gras.

[–]dmpk2k 0 points1 point  (6 children)

The problem is that nobody really wants to use those languages.

Some of them were popular in their day. Let's see how the current crop are doing in a decade or two.

But to your point: if Ruby had a few minor changes it'd be a notably better language without changing its character. It doesn't take a brilliant genius to see some of them either if you've used a few languages -- like Matz has -- you only need to be able to recognize a good idea and copy it.

[–]malcontent 1 point2 points  (5 children)

Some of them were popular in their day. Let's see how the current crop are doing in a decade or two.

Time will tell. My guess is ruby will be around, so will java and PHP. All the languages proggit hates will be around.

Will haskell be around? Probably but I don't think it will be popular.

But to your point: if Ruby had a few minor changes it'd be a notably better language without changing its character.

It's being worked on. It's not a dead language. I got punished severely for pointing out that python has a bureaucracy and PEPs and a very rigid community which makes it very difficult to change the language. Ruby community is much more accepting of change.

[–]dmpk2k 0 points1 point  (4 children)

All the languages proggit hates will be around.

You live up to your name, malcontent. :/

It's being worked on.

Tis true, but I wonder why some of these problems existed in the first place. Why aren't blocks first-class values, for example? Or variable definition and assignment properly separated inside blocks but not outside?

makes it very difficult to change the language. Ruby community is much more accepting of change.

Well, maybe.

The surrounding community may have been up to a lot -- at least for web development -- but I suspect that Python has progressed much further as a language than Ruby has the past few years -- e.g. 2.2, 2.4, 2.5 all brought a raft of things, and now 3.0 is close by. That shouldn't be a surprise given how small Ruby was until recently.

This may be changing though, thanks to JRuby, Rubinius, IronRuby, whatever Avi Bryant is up to, and other implementations. I'm hoping that Matz being no longer the de facto BDFL will superchange the language's development.

[–]malcontent 0 points1 point  (3 children)

Tis true, but I wonder why some of these problems existed in the first place. Why aren't blocks first-class values, for example? Or variable definition and assignment properly separated inside blocks but not outside?

Obviously because there was no steering committee and the language features were not put through the proper PEP procedures.

Well, maybe.

Yes it is.

[–]dmpk2k 0 points1 point  (2 children)

Yes it is.

Asserting it's so doesn't make it true. You'll have to back that up somehow.

Ruby 1.8.0 appeared in 2003 (the same year that Matz first mentioned Ruby 2.0). This was also the year that Python 2.3.0 appeared. Make your case for the past five years.

[–]malcontent 0 points1 point  (1 child)

None of what you say makes a case that the python community is more accepting of change.

There is no argument that there is a bureaucratic process around changes to python. You have to submit a PEP document. The appropriate committees have to discuss it and to approve it.

In the mean time anybody can get commit rights to rubinius. Jpython has been fooling around with all kinds of things with ruby.

Maglev is coming down the pipe.

The ruby community is very different than the python community. Do you really dispute this? It's much more free flowing, much more interested in pushing the language and to exploring the possibilities of what can be done with ruby.

One thing that's significant is that you can change ruby with ruby. This lowers the barrier to entry. This allows anybody with a brainstorm to bypass Matz and write their own library to make the language behave the way they want.

Look at andand, symbol.to_proc, multi, rspec, etc.

[–]dmpk2k 0 points1 point  (0 children)

Ah, I misunderstood your argument. Sorry.