Ruby

Software Screenshot:
Ruby
Software Details:
Version: 2.5.1 updated
Upload Date: 17 Aug 18
Developer: Ruby team
Distribution Type: Freeware
Downloads: 73

Rating: 3.7/5 (Total Votes: 3)

Ruby is a multiplatform, freely distributed, feature rich and open source command-line software that has been designed from the ground up to provide a powerful programming language for developers who want to build application in Ruby.

Features, lots of features

Key features include a simple syntax inspired by Ada and Eiffel, operating system independent threading, exception handling capabilities for handling errors, numerous operators, a pure and complete object oriented language, as well as support for adding methods to a class.

Additionally, Ruby features a single inheritance only, true closures, blocks in its syntax, a true mark-and-sweep garbage collector, support for writing C extensions, integers, support for loading extension libraries dynamically, and it doesn’t need variable declarations.

Getting started with Ruby

Installing the Ruby programming language on a GNU/Linux operating system is a very easy task, as the package is available for download on all major distributions, directly from their main software repositories. Use the built-in Software Center app to install it.

As an alternative, the latest version can be installed using the source package, which is distributed for free on Softoware. Simply download it and save it on your Home directory, extract the archive and navigate to the location of the extracted archive files in a terminal emulator app (e.g. cd /home/softoware/ruby-2.2.0).

Run the ‘./configure’ command to configure the project (you can use the ‘./configure --help’ command to view available options for optimizing Ruby for a specific hardware architecture). Then, run the ‘make’ command to compile it and the ‘sudo make install’ command to install it.

Supported on GNU/Linux, Windows, Mac OS X, BeOS and OS/2

Ruby is a cross-platform software that can be successfully used on all GNU/Linux distributions, as well as on any UNIX-like operating system, including Mac OS X, BeOS, OS/2 and Microsoft Windows. It is compatible with both 32-bit and 64-bit computer platforms.

What is new in this release:

  • A Frozen String Literal Pragma is introduced. With Ruby 2.1, "str".freeze has been optimized to reduce object allocation. Ruby 2.3 introduces a new magic comment and command line option to freeze all string literals in the source files. Additionally for debugging, you can get where the object is created on "can't modify frozen String" error by --debug=frozen-string-literal command line option.
  • A safe navigation operator (so-called lonely operator) &., which already exists in C#, Groovy, and Swift, is introduced to ease nil handling as obj&.foo. Array#dig and Hash#dig are also added. Note that this behaves as try! of Active Support, which specially handle only nil.
  • The did_you_mean gem is bundled. The did_you_mean gem shows the candidates on the NameError and NoMethodError to ease debugging.
  • RubyVM::InstructionSequence#to_binary and .load_from_binary are introduced as experimental feature. With these features, we can make a ISeq (bytecode) pre-compilation system.
  • It also includes many performance improvements for example, reconsider method entry data structure, introducing new table data structure, optimize Proc#call, machine code level tuning for object allocation and method calling code, smarter instance variable data structure, Socket and I/O allow to use "exception:" keywords for high-performance non-blocking I/O and so on.

What is new in version 2.5.0:

  • A Frozen String Literal Pragma is introduced. With Ruby 2.1, "str".freeze has been optimized to reduce object allocation. Ruby 2.3 introduces a new magic comment and command line option to freeze all string literals in the source files. Additionally for debugging, you can get where the object is created on "can't modify frozen String" error by --debug=frozen-string-literal command line option.
  • A safe navigation operator (so-called lonely operator) &., which already exists in C#, Groovy, and Swift, is introduced to ease nil handling as obj&.foo. Array#dig and Hash#dig are also added. Note that this behaves as try! of Active Support, which specially handle only nil.
  • The did_you_mean gem is bundled. The did_you_mean gem shows the candidates on the NameError and NoMethodError to ease debugging.
  • RubyVM::InstructionSequence#to_binary and .load_from_binary are introduced as experimental feature. With these features, we can make a ISeq (bytecode) pre-compilation system.
  • It also includes many performance improvements for example, reconsider method entry data structure, introducing new table data structure, optimize Proc#call, machine code level tuning for object allocation and method calling code, smarter instance variable data structure, Socket and I/O allow to use "exception:" keywords for high-performance non-blocking I/O and so on.

What is new in version 2.4.2:

  • A Frozen String Literal Pragma is introduced. With Ruby 2.1, "str".freeze has been optimized to reduce object allocation. Ruby 2.3 introduces a new magic comment and command line option to freeze all string literals in the source files. Additionally for debugging, you can get where the object is created on "can't modify frozen String" error by --debug=frozen-string-literal command line option.
  • A safe navigation operator (so-called lonely operator) &., which already exists in C#, Groovy, and Swift, is introduced to ease nil handling as obj&.foo. Array#dig and Hash#dig are also added. Note that this behaves as try! of Active Support, which specially handle only nil.
  • The did_you_mean gem is bundled. The did_you_mean gem shows the candidates on the NameError and NoMethodError to ease debugging.
  • RubyVM::InstructionSequence#to_binary and .load_from_binary are introduced as experimental feature. With these features, we can make a ISeq (bytecode) pre-compilation system.
  • It also includes many performance improvements for example, reconsider method entry data structure, introducing new table data structure, optimize Proc#call, machine code level tuning for object allocation and method calling code, smarter instance variable data structure, Socket and I/O allow to use "exception:" keywords for high-performance non-blocking I/O and so on.

What is new in version 2.4.1:

  • A Frozen String Literal Pragma is introduced. With Ruby 2.1, "str".freeze has been optimized to reduce object allocation. Ruby 2.3 introduces a new magic comment and command line option to freeze all string literals in the source files. Additionally for debugging, you can get where the object is created on "can't modify frozen String" error by --debug=frozen-string-literal command line option.
  • A safe navigation operator (so-called lonely operator) &., which already exists in C#, Groovy, and Swift, is introduced to ease nil handling as obj&.foo. Array#dig and Hash#dig are also added. Note that this behaves as try! of Active Support, which specially handle only nil.
  • The did_you_mean gem is bundled. The did_you_mean gem shows the candidates on the NameError and NoMethodError to ease debugging.
  • RubyVM::InstructionSequence#to_binary and .load_from_binary are introduced as experimental feature. With these features, we can make a ISeq (bytecode) pre-compilation system.
  • It also includes many performance improvements for example, reconsider method entry data structure, introducing new table data structure, optimize Proc#call, machine code level tuning for object allocation and method calling code, smarter instance variable data structure, Socket and I/O allow to use "exception:" keywords for high-performance non-blocking I/O and so on.

What is new in version 2.4.0:

  • A Frozen String Literal Pragma is introduced. With Ruby 2.1, "str".freeze has been optimized to reduce object allocation. Ruby 2.3 introduces a new magic comment and command line option to freeze all string literals in the source files. Additionally for debugging, you can get where the object is created on "can't modify frozen String" error by --debug=frozen-string-literal command line option.
  • A safe navigation operator (so-called lonely operator) &., which already exists in C#, Groovy, and Swift, is introduced to ease nil handling as obj&.foo. Array#dig and Hash#dig are also added. Note that this behaves as try! of Active Support, which specially handle only nil.
  • The did_you_mean gem is bundled. The did_you_mean gem shows the candidates on the NameError and NoMethodError to ease debugging.
  • RubyVM::InstructionSequence#to_binary and .load_from_binary are introduced as experimental feature. With these features, we can make a ISeq (bytecode) pre-compilation system.
  • It also includes many performance improvements for example, reconsider method entry data structure, introducing new table data structure, optimize Proc#call, machine code level tuning for object allocation and method calling code, smarter instance variable data structure, Socket and I/O allow to use "exception:" keywords for high-performance non-blocking I/O and so on.

What is new in version 2.3.3:

  • A Frozen String Literal Pragma is introduced. With Ruby 2.1, "str".freeze has been optimized to reduce object allocation. Ruby 2.3 introduces a new magic comment and command line option to freeze all string literals in the source files. Additionally for debugging, you can get where the object is created on "can't modify frozen String" error by --debug=frozen-string-literal command line option.
  • A safe navigation operator (so-called lonely operator) &., which already exists in C#, Groovy, and Swift, is introduced to ease nil handling as obj&.foo. Array#dig and Hash#dig are also added. Note that this behaves as try! of Active Support, which specially handle only nil.
  • The did_you_mean gem is bundled. The did_you_mean gem shows the candidates on the NameError and NoMethodError to ease debugging.
  • RubyVM::InstructionSequence#to_binary and .load_from_binary are introduced as experimental feature. With these features, we can make a ISeq (bytecode) pre-compilation system.
  • It also includes many performance improvements for example, reconsider method entry data structure, introducing new table data structure, optimize Proc#call, machine code level tuning for object allocation and method calling code, smarter instance variable data structure, Socket and I/O allow to use "exception:" keywords for high-performance non-blocking I/O and so on.

What is new in version 2.3.1:

  • A Frozen String Literal Pragma is introduced. With Ruby 2.1, "str".freeze has been optimized to reduce object allocation. Ruby 2.3 introduces a new magic comment and command line option to freeze all string literals in the source files. Additionally for debugging, you can get where the object is created on "can't modify frozen String" error by --debug=frozen-string-literal command line option.
  • A safe navigation operator (so-called lonely operator) &., which already exists in C#, Groovy, and Swift, is introduced to ease nil handling as obj&.foo. Array#dig and Hash#dig are also added. Note that this behaves as try! of Active Support, which specially handle only nil.
  • The did_you_mean gem is bundled. The did_you_mean gem shows the candidates on the NameError and NoMethodError to ease debugging.
  • RubyVM::InstructionSequence#to_binary and .load_from_binary are introduced as experimental feature. With these features, we can make a ISeq (bytecode) pre-compilation system.
  • It also includes many performance improvements for example, reconsider method entry data structure, introducing new table data structure, optimize Proc#call, machine code level tuning for object allocation and method calling code, smarter instance variable data structure, Socket and I/O allow to use "exception:" keywords for high-performance non-blocking I/O and so on.

What is new in version 2.3.0:

  • A Frozen String Literal Pragma is introduced. With Ruby 2.1, "str".freeze has been optimized to reduce object allocation. Ruby 2.3 introduces a new magic comment and command line option to freeze all string literals in the source files. Additionally for debugging, you can get where the object is created on "can't modify frozen String" error by --debug=frozen-string-literal command line option.
  • A safe navigation operator (so-called lonely operator) &., which already exists in C#, Groovy, and Swift, is introduced to ease nil handling as obj&.foo. Array#dig and Hash#dig are also added. Note that this behaves as try! of Active Support, which specially handle only nil.
  • The did_you_mean gem is bundled. The did_you_mean gem shows the candidates on the NameError and NoMethodError to ease debugging.
  • RubyVM::InstructionSequence#to_binary and .load_from_binary are introduced as experimental feature. With these features, we can make a ISeq (bytecode) pre-compilation system.
  • It also includes many performance improvements for example, reconsider method entry data structure, introducing new table data structure, optimize Proc#call, machine code level tuning for object allocation and method calling code, smarter instance variable data structure, Socket and I/O allow to use "exception:" keywords for high-performance non-blocking I/O and so on.

What is new in version 2.2.3:

  • This release includes the security fix for a RubyGems domain name verification vulnerability. CVE-2015-3900 Request hijacking vulnerability in RubyGems 2.4.6 and earlier

What is new in version 2.2.2:

  • This release includes the security fix for a OpenSSL extension's hostname verification vulnerability.

What is new in version 2.2.0:

  • VM (method cache)
  • RGenGC (See ko1's RubyKaigi presentation and RubyConf 2013 presentation)
  • refinements #8481 #8571
  • syntax changes:
  • Decimal/Complex Literal #8430
  • def's return value #3753
  • Bignum:
  • use GMP #8796
  • String#scrub #8414
  • Socket.getifaddrs #8368
  • RDoc 4.1.0 and RubyGems 2.2.0
  • "literal".freeze is now optimized #9042
  • add Exception#cause #8257
  • update libraries like BigDecimal, JSON, NKF, Rake, RubyGems, and RDoc
  • remove curses #8584

What is new in version 2.0.0-p0:

  • Language core features:
  • Keyword arguments, which give flexibility to API design
  • Module#prepend, which is a new way to extend a class
  • A literal %i, which creates an array of symbols easily
  • __dir__, which returns the dirname of the file currently being executed
  • The UTF-8 default encoding, which make many magic comments omissible
  • Built-in libraries:
  • Enumerable#lazy and Enumerator::Lazy, for (possibly infinite) lazy stream
  • Enumerator#size and Range#size, for lazy size evaluation
  • #to_h, which is a new convention for conversion to Hash
  • Onigmo, which is a new regexp engine (a fork of Oniguruma)
  • Asynchronous exception handling API
  • Debug support:
  • DTrace support, which enables run-time diagnosis in production
  • TracePoint, which is an improved tracing API
  • Performance improvements:
  • GC optimization by bitmap marking
  • Kernel#require optimization which makes Rails startup very fast
  • VM optimization such as method dispatch
  • Float operation optimization

What is new in version 1.9.3-p392:

  • This release includes security fixes about bundled JSON and REXML:
  • Denial of Service and Unsafe Object Creation Vulnerability in JSON (CVE-2013-0269)
  • Entity expansion DoS vulnerability in REXML (XML bomb)
  • And some small bugfixes are also included.

What is new in version 1.9.3-p385:

  • This release includes a security fix about bundled RDoc.

What is new in version 1.9.3-p384:

  • This release includes a security fix about bundled RDoc.

What is new in version 1.9.3-p286:

  • $SAFE escaping vulnerability about Exception#to_s / NameError#to_s (CVE-2012-4464, CVE-2012-4466)
  • Unintentional file creation caused by inserting a illegal NUL character
  • other many bug fixes.

Similar Software

ADP
ADP

17 Feb 15

GNU Cobol
GNU Cobol

17 Feb 15

Racket
Racket

27 Sep 15

Comments to Ruby

Comments not found
Add Comment
Turn on images!