The Artima Developer Community
Sponsored Link

Ruby Buzz Forum
Avoiding the Second System Effect

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Daniel Berger

Posts: 1383
Nickname: djberg96
Registered: Sep, 2004

Daniel Berger is a Ruby Programmer who also dabbles in C and Perl
Avoiding the Second System Effect Posted: Feb 22, 2005 2:41 PM
Reply to this message Reply

This post originated from an RSS feed registered with Ruby Buzz by Daniel Berger.
Original Post: Avoiding the Second System Effect
Feed Title: Testing 1,2,3...
Feed URL: http://djberg96.livejournal.com/data/rss
Feed Description: A blog on Ruby and other stuff.
Latest Ruby Buzz Posts
Latest Ruby Buzz Posts by Daniel Berger
Latest Posts From Testing 1,2,3...

Advertisement
Before I discovered Ruby, I was fairly excited by the prospect of a Perl 6. I wasn't expecting too much. I just wanted hash slice syntax cleaned up, the default scoping made sane so I didn't have to type "my" everywhere, some changes to the object oriented features, and an easier approach to writing extensions.

Things quickly went awry. I believe it was Exegesis 6 and the subroutine syntax where I decided that Perl 6 had jumped the shark and I gave up all hope for good. But, by then I was getting heavily into Ruby and the question of Perl 6 had become moot anyway.

A rather acerbic thread has started over at use.perl with regards to the Perl Foundation. In a nutshell, some are wondering why they should give money to a long delayed Perl 6 project that has fallen into the SSE trap, and doesn't appear to have any real milestones. I and others have already moved on to greener pastures. Why wait for Perl 6 when Ruby and Python are ready and waiting to go? But I digress.

So, how will Ruby avoid SSE? First, it has gotten plenty of feedback from the Ruby community. Second, our benevolant dictator will ruthlessly quash anything that seems too un-Ruby-like. Third, Ruby 2.0 has a fairly defined plan:

* Thread safe interpreter (and thus native thread support)
* Keyword arguments
* Virtual Machine (speed)
* AOP Hooks (pre, post, wrap)
* Some scoping changes
* Different, and better, regex engine (already in 1.9 I believe)
* Better UNICODE support

That's about it. Note that there are few new features on the list - keyword arguments and AOP hooks, with the latter generally aimed at advanced programmers only. The rest are things that simply need fixing, tweaking and will be mostly invisible to you, the end user.

This, to me, is a testament to the elegant and clean design of Ruby - there just isn't that much that needs to be changed in a "major" rewrite. The most difficult piece will be the virtual machine and Koichi's YARV project is showing promise there. Otherwise, you can already tinker with some of the 2.0 features in the 1.9 branch.

And that, to me, is how you ultimately avoid SSE. Change little. Only fix what is actually broken. Add features sparingly.

Read: Avoiding the Second System Effect

Topic: Using RedCloth 3 Previous Topic   Next Topic Topic: GNUnify 2005'

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use