What Is Ruby?

What Is Ruby?

3/27/2015 Ruby and Ruby on Rails Today’s Presentation • What is Ruby? • What is Rails? • What are Ruby and Rails used for? • The Need for a Rails Framework • The Rails Framework • The Ruby Language • Ruby and Rails Resources What is Ruby? A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write. -- ruby-lang.org Ruby User’s Group Website CSCI Seminar Series Ruby and Ruby on Rails 2 1 3/27/2015 What is Ruby? Ruby was developed: • By Yukihiro Matsumoto (“Matz”) • In japan starting in 1993 (first release 1995) I was talking with my colleague about the possibility of an object-oriented scripting language. … [Perl] had the smell of a toy language … I didn't think [Python] was a true object-oriented language — OO features appeared to be add-on to the language. …so I decided to make it. CSCI Seminar Series Ruby and Ruby on Rails 3 Yukihiro Matsumoto • Known as “Matz” • born in Osaka in 1965 • Self taught in programming from an early age through high school • information science degree from Univ. of Tsukuba, Ikuo Nakata’s languages and compilers research team • Open source advocate (worked for netlab.jp) • Lisp aficionado CSCI Seminar Series Ruby and Ruby on Rails 4 2 3/27/2015 Yukihiro Matsumoto • Worked for open source companies • Most recently the head of the research and development dept. at the Network Applied Communication Laboratory • Was a Mormon missionary • Recently released mruby as an open source project – minimal implementation of Ruby – Based on a minimal virtual machine CSCI Seminar Series Ruby and Ruby on Rails 5 What is Ruby? According to Matz: I was talking with my colleague about the possibility of an object-oriented scripting language. … [Perl] had the smell of a toy language … I didn't think [Python] was a true object-oriented language — OO features appeared to be add-on to the language. …So I decided to make it. CSCI Seminar Series Ruby and Ruby on Rails 6 3 3/27/2015 What is Ruby? Ruby is a language of careful balance. “Matz” said he blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative programming. …natural, not simple …simple in appearance, but is very complex inside, just like our human body. CSCI Seminar Series Ruby and Ruby on Rails 7 What is Ruby? • intended for use as a scripting language • interpreted • dynamic and reflexive • multi-paradigm – imperative – functional – object-oriented • not Algol-derived CSCI Seminar Series Ruby and Ruby on Rails 8 4 3/27/2015 What is Ruby? Ruby can be • executed directly irb • Embedded in Web-page code erb • Run directly as an interpreted program CSCI Seminar Series Ruby and Ruby on Rails 9 What is Ruby? The reference implementation of Ruby is: Matz's Ruby Interpreter, Ruby MRI, CRuby The Ruby license is a 2-clause FreeBSD License verified as GPL-compatible free by the Free Software Foundation and The Open Source Initiative. CSCI Seminar Series Ruby and Ruby on Rails 10 5 3/27/2015 2-Clause FreeBSD License Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. “as is…” CSCI Seminar Series Ruby and Ruby on Rails 11 What is Ruby? class Numeric puts “Hello, World!” def plus(x) self.+(x) end for ss in 1...10 puts ss end end y = 5.plus 6 # prints 1 to 9 # y is now equal to 11 for ss in 1..10 puts ss end # prints 1 to 10 CSCI Seminar Series Ruby and Ruby on Rails 12 6 3/27/2015 What is Rails? Ruby on Rails® is an open-source web framework that’s optimized for programmer happiness and sustainable productivity. It lets you write beautiful code by favoring convention over configuration. -- http://rubyonrails.org CSCI Seminar Series Ruby and Ruby on Rails 13 What is Rails? Web Application Framework • developed by David Heinemeier Hansson • open source (first released in 2004) • web application framework • written in Ruby • based on software engineering paradigms • popular for streamlining Web development CSCI Seminar Series Ruby and Ruby on Rails 14 7 3/27/2015 David Heinemeier Hansson • born in 1979 in Copenhagen • degree from Copenhagen Business School • successful race car driver (LeMans) • after graduation, hired by 37 Signals to work on Basecamp project management software • developed Rails as part of Basecamp project • currently CTO for Basecamp, living in Chicago CSCI Seminar Series Ruby and Ruby on Rails 15 David Heinemeier Hansson • born in 1979 in Copenhagen • degree from Copenhagen Business School • successful Race Driver (LeMans) • after graduation, hired by 37 Signals to work on Basecamp project management software • developed Rails as part of Basecamp project • currently CTO for Basecamp, living in Chicago CSCI Seminar Series Ruby and Ruby on Rails 16 8 3/27/2015 What is Rails? The Rails name, logo, etc. are still “owned” by David Heinemeier Hansson. open source – MIT License CSCI Seminar Series Ruby and Ruby on Rails 17 MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. …as-is… CSCI Seminar Series Ruby and Ruby on Rails 18 9 3/27/2015 What is Rails? Web Application Framework • software framework basis for development of software applications customizable generic software platform • Web services • Web applications • Web resources • dynamic Web pages CSCI Seminar Series Ruby and Ruby on Rails 19 What is Rails? Based on software engineering paradigms: • DRY programming Don’t Repeat Yourself • CoC Convention over Configuration • M-V-C Model – View – Controller • Active Record Pattern (see Wikipedia) CSCI Seminar Series Ruby and Ruby on Rails 20 10 3/27/2015 What are Ruby and Rails used for? Rails is used to develop a software stack for Web applications. Ruby is used to customize the framework created by rails for an application. Rails appeared in 2003. Interest in Ruby and Rails rose quickly but has levelled off. Twitter Effect (2006) SXSWi (2007) 8/16/13 CSCI Seminar Series Ruby and Ruby on Rails 21 What are Ruby and Rails used for? Rails is used to develop a software stack for Web applications. A stack includes: • Operating Systems • Web Servers • Database server • Middleware • Language Interpreters, and more CSCI Seminar Series Ruby and Ruby on Rails 22 11 3/27/2015 The Need for a Rails Framework Elements of a software stack are typically Developed by specialists. Consider an MVC based active record pattern In a typical three-tiered system. Front end Middleware Basck end user server-side DBMS Web browser programming DBMS server CSCI Seminar Series Ruby and Ruby on Rails 23 Front end Middleware Basck end user server-side DBMS Web browser programming DBMS server Web page developers database professionals HTML design Web page scripting administration data entry forms & processing server management SQL programmers Middleware professionals Web server management DBMS connectivity embedded SQL dynamic HTML ORM Object Relational Modeling CSCI Seminar Series Ruby and Ruby on Rails 24 12 3/27/2015 Ruby and Rails Resources Installing Ruby • download source code and build or • download and run a Ruby Installer Ruby Installer Page: http://rubyinstaller.org CSCI Seminar Series Ruby and Ruby on Rails 25 Ruby and Rails Resources Ruby Resources Ruby Language Website https://www.ruby-lang.org/en Ruby Documentation https://www.ruby-lang.org/en/documentation Interactive Ruby Introduction http://tryruby.org CSCI Seminar Series Ruby and Ruby on Rails 26 13 3/27/2015 Ruby and Rails Resources Ruby IDEs Aptana Studio RadRails http://www.aptana.com/products/radrails.html Komodo IDE http://komodoide.com RubyMine from JetBrains http://www.jetbrains.com/ruby/index.html NotePad++ and Ruby http://www.rubytips.org/2011/12/22/using-notepad-for-writing-ruby-programs-in-windows CSCI Seminar Series Ruby and Ruby on Rails 27 Ruby and Rails Resources Rails Resources Rails Website http://rubyonrails.org Ruby on Rails Guide http://guides.rubyonrails.org Ruby on Rails tutorial (free online ebook, 3rd ed.) https://www.railstutorial.org CSCI Seminar Series Ruby and Ruby on Rails 28 14.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us