4 branch also includes performance improvements to hash table Arraymax Arraymin

4 branch also includes performance improvements to

This preview shows page 8 - 12 out of 38 pages.

The 2.4 branch also includes performance improvements to hash table, Array#max, Array#min, and instance variable access. [47] Ruby's popularity has been declining since 2014, [48] a slip that may be permanent in the face of increasing competition. [49] Ruby 2.5 [ edit ] Ruby 2.5.0 was released on Christmas Day in 2017. [50] A few notable changes include: rescue and ensure statements automatically use a surrounding do-end block (less need for extra begin-end blocks) Method-chaining with yield_self Support branch coverage and method coverage measurement Easier Hash transformations with Hash#slice and Hash#transform_keys On top of that come a lot of performance improvements like faster block passing (3 times faster), faster Mutexes, faster ERB templates and improvements on some concatenation methods.
Image of page 8
Table of versions [ edit ] Version Latest teeny version Initial release date End of support phase End of security maintenance phase 1.0 NA 1996-12-25 [51] NA NA 1.8 1.8.7-p375 [52] 2003-08-04 [53] 2012-06 [54] 2014-07-01 [55] 1.9 1.9.3-p551 [56] 2007-12-25 [57] 2014-02-23 [58] 2015-02-23 [59] 2.0 2.0.0-p648 [60] 2013-02-24 [61] 2015-02-24 [60] 2016-02-24 [60] 2.1 2.1.10 [62] 2013-12-25 [63] 2016-03-30 [64] [65] 2017-03-31 [66] [67] 2.2 2.2.10 [68] 2014-12-25 [69] 2017-03-28 [70] 2018-03-31 [71] 2.3 2.3.8 [72] 2015-12-25 [73] 2018-06-20 [74] 2019-03-31 [74] 2.4 2.4.5 [75] 2016-12-25 [76] TBA TBA 2.5 2.5.3 [1] 2017-12-25 [77] TBA TBA 2.6 2018-12-25 [78] TBA TBA 3.0 2020 [79] [80] TBA TBA Legend: Old version Older version, still supported
Image of page 9
Latest version Future release Philosophy [ edit ] Yukihiro Matsumoto , the creator of Ruby Matsumoto has said that Ruby is designed for programmer productivity and fun, following the principles of good user interface design. [81] At a Google Tech Talk in 2008 Matsumoto further stated, "I hope to see Ruby help every programmer in the world to be productive, and to enjoy programming, and to be happy. That is the primary purpose of Ruby language." [82] He stresses that systems design needs to emphasize human, rather than computer, needs: [83] Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run fast. By doing this, the machine will run more effectively. By doing this, the machine will something something something." They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves. Ruby is said to follow the principle of least astonishment (POLA), meaning that the language should behave in such a way as to minimize confusion for experienced users. Matsumoto has said his primary design goal was to make a language that he himself enjoyed using, by minimizing programmer work and possible confusion. He has said that he had not applied the principle of least astonishment to the design of Ruby, [83] but nevertheless the phrase
Image of page 10
has come to be closely associated with the Ruby programming language. The phrase has itself been a source of surprise, as novice users may take it to mean that Ruby's behaviors try to closely match behaviors familiar from other languages. In a May 2005 discussion on the newsgroup comp.lang.ruby, Matsumoto attempted to distance Ruby from POLA, explaining that because
Image of page 11
Image of page 12

You've reached the end of your free preview.

Want to read all 38 pages?

  • Fall '12
  • DuiWei
  • Ruby

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

Stuck? We have tutors online 24/7 who can help you get unstuck.
A+ icon
Ask Expert Tutors You can ask You can ask You can ask (will expire )
Answers in as fast as 15 minutes