Ruby on Rails - Textbook Summary
Before learning Ruby on Rails, I wanted to first research what the language actually is first. Here is a compilation of some of the information I found on the web. After I learn it, I'll do my best to resummarize it and explain it in a way that my cousin, who is only 5 years old, could understand it... wish me luck!
Ruby on Rails is a way of developing ridiculously fast web applications compared to other frameworks. It's two parts (Ruby and Rails) make up its framework together. So to understand what Ruby on Rails is, you have to understand what Ruby is, what Rails is, and then synthesize the information.
Ruby
Ruby is a sophisticated programming language that tries to take the best parts of other programming languages, such as Python, PHP, Lisp, Dylan, Pike, CLU and Perl, and combine them to form a more powerful syntax. The language supports several programming models such as functional, object oriented, imperative, and reflective. It also has a dynamic tapesystem and automatic memory management.
Rails
Rails is an open source web application framework. A framework for any program is made up of reusable components and code that can be used throughout the application, like a skeleton structure. There are many other types of frameworks, but Rails is becoming increasingly more popular.
Ruby on Rails
Ruby on Rails is a framework used to create web applications written using Ruby. Ruby on Rails lets you develop a web application in 1/10th the time it would take you if you were using Java. Ruby on Rails uses less software which means write less code to develop your application. The less code you have to write, the faster you can create your application and the easier it will be to maintain. This framework focuses on convention rather than configuration; since there are no long-winded XML configuration files in Rails, which instead has built in programming conventions, Rails automatically discovers what it needs to know directly from your web code application and running your data base, taking the responsibility off of you.
**At this point in time, I am not even sure that this explanation is helpful because I don't know any of those other languages yet. When I learn them, I'll repost and resynthesize this information.**








