as well. We chose Rails because it came from a community that had alreadyembraced the Agile lifecycle, so the tools support Agile particularly well. Ruby is typical of modern scripting languages in including automatic memorymanagement and dynamic typing. By including important advances in programminglanguages, Ruby goes beyond languages like Perl in supporting multipleprogramming paradigms such as object oriented and functional programming. Useful additional features that help productivity via reuse include mix-ins, whichcollects related behaviors and makes it easy to add them to many different classes,and metaprogramming, which allows Ruby programs to synthesize code at runtime.Reuse is also enhanced with Ruby’s support for closuresvia blocksand yield.Chapter3is a short description of Ruby for those who already know Java, andChapter4introduces Rails. In addition to our view of Rails being technically superior for Agile and SaaS, Rubyand Rails are widely used. For example, Ruby routinely appears among top 10 mostpopular programming languages. Probably the best-known SaaS using Rails isTwitter, which began as a Rails app in 2006 and grew from 20,000 tweets per day in2007 to 200,000,000 in 2011, during which time other frameworks replaced variousparts of it. If you are not already familiar with Ruby or Rails, this gives you a chance topractice an important software engineering skill mentioned above: use the righttool for the job, even if it means learning a new tool or new language! Indeed, anattractive feature of the Rails community is that they routinely improve productivityby inventing new tools to automate tasks that were formerly done manually. Summary:Software as a Service (SaaS)is attractive to both customers andproviders because the universal client (the Web browser) makes it easier forcustomers to use the service and the single version of the software at a centralizedsite makes it easier for the provider to deliver and improve the service. Given theability and desire to frequently upgrade SaaS, the Agile software developmentprocess is popular for it, and so there are many frameworks to support them. Thisbook uses Ruby on Rails. Self-Check 1.6.1. Which of the following examples of Google SaaS apps is the bestmatch to each of the six arguments given above: Search, Maps, News, Gmail,
Calendar, YouTube, and Documents. While you can argue the mappings, below is our answer. (Note that we cheatedand put some apps in multiple categories) No user installation: Documents Can’t lose data: Gmail, Calendar. Users cooperating: Documents. Large/changing datasets: Search, Maps, News, and YouTube. Software centralized in single environment: Search. No field upgrades when improve app: Documents. Self-Check 1.6.2. True or False: If you are using the Agile development process todevelop SaaS apps, you could use Python and Django or languages based on theMicrosoft CLR and ASP.NET instead of Ruby and Rails.