
Ruby 2.0.0 in Detail - timblair
http://globaldev.co.uk/2013/03/ruby-2-0-0-in-detail/
======
VeejayRampay
Awesome write-up, thanks for putting the work in for everyone.

Looks like a solid release.

------
Justsignedup
Why was Array#bsearch and Range#bsearch not part of ruby stdlib for 20 years?

No, really. I want to know this one. It's almost like we want to encourage
people writing slow code...

~~~
ajanuary
I did a quick [1] google around some of the most popular programming languages
to see if their stdlibs had binary search:

Python: No Perl: No PHP: No Lua: No Java: Yes .NET: Yes Objective-C: Yes

Of course your point then becomes "Why haven't Ruby, Python, Perl, PHP and Lua
added binary search".

[1] So it may be wrong. Please correct me if I am.

~~~
pmahoney
Part of it must be that binary search only works on a sorted array, and most
arrays won't be sorted.

Followup question: are there other common array operations that only work on
arrays in a particular state? Are any of these in or out of various standard
libraries?

A long time ago... I implemented a wrapper around the Gnu Scientific Library
matrix operations. I recall trying to be clever by mixing in some extra
methods only after getting the LU decomposition (these extra methods required
the matrix to be in a specific state). A little too dynamic for my current
tastes. It's not a terrible idea perhaps, but this sort of thing tends to kill
performance.

~~~
kylebgorman
A good example of an array operation only appropriate for specific states is
Python's treatment of heaps:

<http://docs.python.org/2/library/heapq.html>

You need to heapify(your_array) in place before, e.g., calling
nsmallest(your_array). Not saying that it's good style, but...

------
moron4hire
Refinements look exactly like C# Extension Methods.

------
alexvay
The colors of the site are _terrible_ on the eyes!

~~~
ajanuary
It also uses -webkit-text-size-adjust: none; which means you can't zoom in to
make the text bigger (I've emailed them about this)

~~~
timblair
Fixed. Sorry about that.

~~~
pooriaazimi
And please join <http://contrastrebellion.com/> and do

    
    
        $('article p').css('color','#222')
    

so we can read the article.

bgcolor is now #717171, which is just crazy. Anything below #444 is just
harmful for the eyes.

