Download presentation
Presentation is loading. Please wait.
Published byEileen Flora Mills Modified over 9 years ago
1
Team Corpsegrinder Victor Romero Calvin Chan Christian Hericks Vamsi Rapaka Robert Viramontes
2
Outline Where Ruby was conceived What makes Ruby's philosophy so unique What are the criteria for creating a computer language What Matsumoto wanted to achieve What Ruby is used for today
3
Where Ruby was conceived
4
Ruby was created by Yukihiro “Matz” Matsumoto. He was born on April 14, 1965. He was born in the Osaka Prefecture and later raised in Tottori Prefecture. He received an information science degree from the University of Tsukuba in Tokyo, Japan.
5
He was employed by the Network Applied Communication Laboratory. It specializes in systems consulting and the development of web sites and open source software. He has worked as a computer scientist, a programmer and his current occupation is author. Matsumoto named Ruby after the birthstone of one of his colleagues.
6
The Timeline of Ruby Ruby 0.95 was the first version of Ruby. Matsumoto began creating Ruby in 1993. In December 1995, Ruby 0.95 was released, and over the next few days from that date, three other versions were released with minor improvements and changes. Ruby 1.0 was the first version of Ruby that was released to the public in December 1996. Ruby 1.3 was released in 1999. This was the first version that started to be used outside of Japan.
7
The Timeline of Ruby In 2006, Ruby on Rails was released. Ruby on Rails is a web application framework written entirely in Ruby. With it’s release, Ruby on Rails helped the Ruby programming language become very widely known around the globe. Ruby is now one of the top ten programming languages. The first versions of Ruby included garbage collection, classes with inheritance, iterators, object oriented design, closures, exception handling, and mixins. All of these features are still in the latest version of Ruby.
8
The Timeline of Ruby Ruby 1.9.1 is the latest stable version of Ruby, which was released in January 2009. Ruby 1.9.3 is the latest version of ruby, which was released in 2011. Ruby is also free, not only free of charge, but also free to use, copy, modify, and distribute.
9
What makes Ruby's philosophy so unique
10
Programming Philosophy Principle of Least Astonishment (POLA) “We are the masters, they are the slaves” – Matsumoto More attention to the programmer than the machines
11
Flexibility of Ruby Essential parts can be removed or redefined at anytime For example: The readable word “plus” can be used instead of the usual (+) sign if one adds the word to Ruby’s “built-in- Numeric” class. Language does not set many restrictions to its users. Ruby’s blocks
12
Features -Ruby is highly portable: it is developed mostly on GNU/Linux, but works on many types of UNIX, Mac OS X, Windows, etc. -Writing C extensions in Ruby is easier than in Perl or Python because of the API for calling Ruby from C. -Ruby features a true “mark-and- sweep” garbage collector for all Ruby objects. There is no need to maintain reference counts in extension libraries.
13
What are the criteria for creating a computer language What Matsumoto wanted to achieve
14
Language Design Criteria Clarity Orthogonality Natural Use Support for Abstraction Easy of Program Verification Programming Environment Portability Cost of use
15
Matsumoto’s Goal “more powerful than Pearl, and more object- oriented than Python” Simplicity/Power Balance functional Programming with Imperative Programming
16
3 Goals: Minimum code necessary Follow common conventions No limitation on layout flexibility
17
Paradigms Multi-Paradigm Object-Oriented Imperative Reflective Functional Programming
18
Reflection: Computer observes, and modifies its own behavior at runtime Allows the computer to treat instructions as data Higher Level Quality Meta-programming
19
Functionality Treats computation as the evaluation of mathematical functions Avoids state/mutable data Prevents blind factors
20
Imperative Programming Describes computation in terms of statements that choose a program state Ruby seeks balance.
21
Object-Oriented Data structures containing data fields and methods. Modern Default
22
Orthogonality Small primitive constructs, combines to build control and data structures Harmony Debate
23
Expressions Functional Programming Enhances simplicity, seamlessness, and base understandings
24
Ultimate Goals Productivity Prevent performance hang-ups Succinct, compact and ease of use.
25
Uses of Ruby Text processing Prototypes Bulky, drawn out applications CGI programming
26
What Ruby is used for today
27
5 Major Applications using Ruby Famous Web-Applications Twitter Hulu White Pages Justin.TV Basecamp
28
“One could change the world with 140 characters,” @Jack co-founder of Twitter. Twitter was created in March 2006 by Jack Dorsey, first known as Twttr. Twttr was changed to twitter after the founding group acquired Twitter.com Twitter has drastically grown in members during a short period of time consequently this has led to many problems with their server crashing. Ruby has been the scapegoat for the crashes and downtime twitter has suffered. I has been said Ruby has problems being the environment for long lived processes because it has a poor garbage collector which leaks memory over time. As a result, Twitter is being transitioned into other languages such as Scala and Java Twitter
29
Hulu Hulu was launched to the public on March 12, 2008. Hulu was part of a collaboration between Facebook, Yahoo, MSN and AOL. Hulu had a total of 30 developers 15 took care of the software while the other 15 did the promoting and business. Ruby was chosen for Hulu because it is easier to program with. This would mean fewer programmers and future technicians fixing problems. (Lower maintenance costs)
30
White Pages White pages, the people search engine, was first published online in 1996. In the year 2009 White pages announced it would invest 2.5 million dollars to remodel itself including its whole website. From here White pages adopted Ruby to its platform. Within two weeks of testing the new Ruby platform White Pages saw a 51% performance increase in their website traffic and membership.
31
Justin.TV Justin.TV was created in 2007 by Justin Ferrer, Melinie Wu and Kyle Vogt. At first it was used by Justin Ferrer to broadcast his life but he eventually made the website public and allowed people to create channels. Justin.TV was designed with Ruby on Rails as its platform The platform is designed to scale by measuring real- time demand and replicating the streams into additional servers This is to prevent one server from having too much traffic and overloading
32
Basecamp Developed by a company called 37 Tools for their own personal use Ruby was the language chosen by David Hansson Basecamp was used for project management and it was so well built that other companies started asking 37 Tools to sell it to them. Basecamp is a web-application This is to some better than a desktop application because desktop applications can only run on certain operating systems while Web-apps can run on most web browsers. From Basecamp Ruby on Rails was extracted by David Hansson Ruby on rails is a web framework in which most of the websites previously mentioned run on.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.