1.

Why Ruby?

Answer»

The following reasons illustrate the rationale behind this decision:

  • After analyzing a NUMBER of programming languages and seriously considering Python as well as C/C++, the Metasploit team found that Ruby offered a simple and powerful approach to an INTERPRETED language.
  • The degree of INTROSPECTION and the object-oriented aspects of Ruby fulfilled the requirements of the framework quite well.
  • The framework needed automated class construction for code re-use, and Ruby is well suited for this, compared with Perl, which was the primary programming language used in the 2.x series.
  • Ruby ALSO OFFERS platform-independent support for threading.This has resulted in a significant performance improvement over the 2.x series.
  • When the framework was developed on Perl, the team had to struggle to get it to work with ActiveState Perl, and ended up settling with Cygwin, although both resulted in usability issues.The natively compiled Ruby interpreter for Windows significantly improves performance and usability.
  • For these and other reasons, the Metasploit team enjoyed working best with Ruby, and decided to port the whole framework for the 3.x series.

The following reasons illustrate the rationale behind this decision:



Discussion

No Comment Found