bsdpower.com

Correct defaults change with time

DHH:

Two years on, I wonder how many original CoffeeScript haters are still up in arms about it being a Rails default:

https://github.com/rails/rails/compare/9333ca7...23aa7da

What a way to miss the point.

Of course which technology should be used for a particular task, in this case a Rails default for client side scripting language, changes with time. Everything else being equal, an established, mature and stable technology should be preferred to one that is not.

Let's review the timeline for CoffeeScript:

  • December 13, 2009: initial commit
  • December 24, 2010 (1 year later): version 1.0, first stable version
  • April 13, 2011 (4 months later): inclusion in Rails as the default client side scripting language, version was 1.0.1 at the time
  • December 18, 2012 (20 months later): present time, CoffeeScript is at version 1.4.0

Yes, CoffeeScript today is a lot more appropriate to be a default than it was in early 2011. If anything, being a Rails default all this time helped CoffeeScript gain popularity, which increased it acceptance and made it a better default choice today.

The question of whether CoffeeScript should have been the default in 2010 and 2012 is quite similar to whether Ruby on Rails should have been used for mission critical applications in 2008 and in 2010, respectively.