Wednesday, 10 December 2008

I've been working on a RAILs road..


What is Ruby?

Ruby is a interpreted programming language developed by Yukihiro Matsumoto in 1995 and today Ruby is the fastest growing language.

Ruby is the successful combination of:

  • Smalltalk's conceptual elegance
  • Python's ease of use and learning
  • Perl's pragmatism

Ruby is :

  • A High Level Programming Language
  • Interpreted like Perl, Python, Tcl/TK.
  • Object-Oriented Like Smalltalk, Eiffel, Ada, Java.
  • Originated in Japan and Rapidly Gaining Mindshare in US and Europe.

Why Ruby ?

Ruby is becoming popular exponentially in Japan and now in US and Europe as well. According to the TIOBE Programming Community Index, it is the fastest growing language.

Following are greatest factors which are making this language the fastest growing one among the other languages:

  • Very easy to learn
  • Open source (very liberal license)
  • Rich built-in libraries
  • Very easy to extend
  • Purely Object-Oriented
  • Less coding with fewer bugs
  • Automatic memory management
  • Duck Typing, which means Dynamic Typing
  • Helpful community

Why Not Ruby ?

  • Performance - Although it rivals Perl and Python but because of being interpreting language, we can not compare it with high programming lanaguage like C or C++.

  • Threading Model - Ruby does not use native threads. This means Ruby threads are simulated in the VM rather than running as native OS threads.



What is Rails?

Rails is a web development framework written in the Ruby language. It is designed to make programming web applications easier by making several assumptions about what every developer needs to get started. It allows you to write less code while accomplishing more than many other languages and frameworks. Longtime Rails developers also report that it makes web application development more fun.

Rails is opinionated software. That is, it assumes that there is a best way to do things, and it's designed to encourage that best way - and in some cases discourage alternatives. If you learn "The Rails Way" you'll probably discover a tremendous increase in productivity. If you persist in bringing old habits from other languages to your Rails development, and trying to use patterns you learned elsewhere, you may have a less happy experience.

The Rails philosophy includes several guiding principles:

* DRY - "Don't Repeat Yourself" - suggests that writing the same code over and over again is a bad thing.
* Convention Over Configuration - means that Rails makes assumptions about what you want to do and how you're going to do it, rather than letting you tweak every little thing through endless configuration files.
* REST is the best pattern for web applications - organizing your application around resources and standard HTTP verbs is the fastest way to go.

No comments: