Wednesday, June 13, 2007

Introduction to Ruby language

Introduction to Ruby language

About Ruby Language

Ruby is a powerful and dynamic open source, object-oriented language, cross-platform language and interpreted language developed by Yukihiro Matsumoto(Matz) around 1994. Matz is a professional programmer who has worked for the Japanese open source company, netlab. jp. Ruby is developed under Linux, and is written in fairly straightforward C. It runs under UNIX, DOS, Windows 95/98/NT/2000, Mac OSX, BeOS, Amiga, Acorn Risc OS, and OS/2.


Features of Ruby include :

• Simple Syntax
• Normal Object-Oriented features(ex. class, method calls)
• Advanced Object-Oriented features(ex. Mix-in, Singleton-method)
• Operator Overloading
• Exception Handling
• Iterators and Closures
• Garbage Collection
• Dynamic Loading of Object files(on some architecture)
• Highly Portable(works on many UNIX machines, and on DOS, Windows, Mac, BeOS etc.)


Reasons To Learn Ruby :

Ruby's primary focus is productivity of program development, and users will find that programming in Ruby is productive and even fun. Ruby is well suited for the problem domains such as these:

Text processing—Ruby's File, String, and Regexp classes help you process text data quickly and cleanly.

CGI programming—Ruby has everything you need to do CGI programming, including text-handling classes, a CGI library, database interface, and even eRuby (embedded Ruby) and mod_ruby for Apache.

Network programming—Network programming can be fun with Ruby's well-designed socket classes.

GUI programming—GUI tool kit interfaces such as Ruby/Tk, Ruby/Gtk, Ruby/WxRuby etc are available.

XML programming—Text-handling features and the UTF-8-aware regular expression engine make XML programming handy in Ruby. The interface to the expat XML parser library is also available.

Prototyping—With its high productivity, Ruby is often used to make prototypes. Prototypes sometimes become production systems by replacing the bottlenecks with C written extensions.

Programming education—You can teach students that programming is fun


Why should you switch to Ruby?

If you are happy with Perl or Python, you don’t have to. But if you do feel there must be a better language, Ruby may be your language of choice. Learning a new language is harmless. It gives you new ideas and insights. You don’t have to switch, just learn and try it. You may find yourself comfortable enough with Ruby to decide to switch to it."

. Yukihiro Matsumoto (Matz)

Ruby Home-page : http://www.ruby-lang.org/

wxRUBY (wxWidget/wxWindows) - Widgets

wxRuby is a library to allow Ruby programs to use wxWindows 2.4.x (wxWidgets) which is a mature cross platform, GUI toolkit that uses native widgets where possible.

With the help of wxRUBY nice GUI objects can be used with your program. wxRUBY supports a huge library of widgets.

It uses NativeWidgets where possible, but draws its own complex widgets when the native platform doesn't have them. On Win32 it uses all (or almost all) native widgets, but on GTK+ it draws a tree control and a list control that are like the Win32 versions. This makes cross-platform portability easier without having to just use "lowest common denominator" widgets.

There is a wrapper for the Scintilla (www.scintilla.org) syntax-highlighting text editor. Scintilla supports Ruby syntax. There were recent discussions on the mailing list about a Ruby IDE. The Scintilla support makes wxWindows an interesting possibility for writing such an IDE.

In addition to Win32 and GTK+, it also runs on the Mac, and a port to embedded systems is almost ready. wxWindows has been around for 10 years, and has a wide selection of widgets available.

wxRuby is actively being developed at: http://rubyforge.org/projects/wxruby/

No comments: