CSC/ECE 517 Fall 2009/wiki1b 7 aj: Difference between revisions
InteliSavant (talk | contribs) No edit summary |
InteliSavant (talk | contribs) No edit summary |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
=Resources For Ruby: Table of Contents= | |||
__TOC__ | __TOC__ | ||
=Introduction= | =Introduction= | ||
Learning a new program language can sometimes prove to be very difficult especially if the language has new programming concepts that the user has never previously learned. Such an example would be moving from C to C++ and the introduction of classes and all they have to offer. [http://en.wikipedia.org/wiki/Ruby_%28programming_language%29 Ruby] is a language that has a number of special features not commonly found in most programming languages and sometimes can be difficult to learn, especially from [http://en.wikipedia.org/wiki/Integrated_development_environment Integrated Development Environment (IDE)]. In this page we hope to introduce the reader to a number of Ruby tutorials and give an understanding of the tutorials strengths. | Learning a new program language can sometimes prove to be very difficult especially if the language has new programming concepts that the user has never previously learned. Such an example would be moving from C to C++ and the introduction of classes and all they have to offer. [http://en.wikipedia.org/wiki/Ruby_%28programming_language%29 Ruby] is a language that has a number of special features not commonly found in most programming languages and sometimes can be difficult to learn, especially from [http://en.wikipedia.org/wiki/Integrated_development_environment Integrated Development Environment (IDE)]. In this page we hope to introduce the reader to a number of Ruby tutorials and give an understanding of the tutorials strengths. | ||
Line 12: | Line 12: | ||
Every tutorial has one common goal and that is to supply some form of informative material about the Ruby programming language, but some can be better than others. In our descriptions we try to remain objective about the contents of each tutorial and try to introduce personal opinions only when clarifications may be needed. | Every tutorial has one common goal and that is to supply some form of informative material about the Ruby programming language, but some can be better than others. In our descriptions we try to remain objective about the contents of each tutorial and try to introduce personal opinions only when clarifications may be needed. | ||
Line 23: | Line 22: | ||
'''Source Code:''' Embedded examples in text.<br> | '''Source Code:''' Embedded examples in text.<br> | ||
===Overview=== | |||
This is a tutorial available only online as a webpage. It is fairly simple to navigate but the website has a number of ads on the page and can sometimes make the usage a bit cumbersome. | This is a tutorial available only online as a webpage. It is fairly simple to navigate but the website has a number of ads on the page and can sometimes make the usage a bit cumbersome. | ||
[[Image:MethodDefine.jpg|thumb|Method Definition Example]] | [[Image:MethodDefine.jpg|300px|thumb|Method Definition Example]] | ||
The tutorial is extracted from the book Programming Ruby 1.9: The Pragmatic Programmers’ Guide and follows the structure fairly closely. It has been fully updated to the newest version of Ruby as covered in the book and contains an informal install guide for Ruby making it easier for newer users. The tutorial covers a variety of introductory topics and continues to more advanced topics such as Inheritance, Overloading Methods, Exceptions, Duck Typing, and more. | The tutorial is extracted from the book Programming Ruby 1.9: The Pragmatic Programmers’ Guide and follows the structure fairly closely. It has been fully updated to the newest version of Ruby as covered in the book and contains an informal install guide for Ruby making it easier for newer users. The tutorial covers a variety of introductory topics and continues to more advanced topics such as Inheritance, Overloading Methods, Exceptions, Duck Typing, and more. | ||
The tutorial contains embedded examples which are very simple and straight forward. These aid in user learning, but the examples typically do not display the output or results. This can be confusing and requires the user to run the code for themselves to gain an understanding of the code and what it does. | The tutorial contains embedded examples which are very simple and straight forward. These aid in user learning, but the examples typically do not display the output or results. This can be confusing and requires the user to run the code for themselves to gain an understanding of the code and what it does. | ||
A major advantage of the tutorial is that it displays embedded links to Ruby’s API pages for the user. This can supplement the user's knowledge of method availability in the standard API. The author uses pictures and figures for more challenging object-oriented constructs as well as in depth descriptions that explain concepts efficiently. Also the author supplies summaries at the end of each section which allow the material to be assimilated by repetition. | |||
===Example=== | |||
The picture to the right is an example of the embedded programming sample and displays one of the big advantages to this tutorial. As shown in the picture a full listing of the sample code is given along with the corresponding output. This can drastically help the student by not making them infer what will result. Also this can save the user time since they will not be required to run the code themselves if they find themselves confused on the output. | |||
===Summary=== | |||
Over all the tutorial is very versatile and has the added advantage that it was produced from a renown book in the Ruby programming language. It covers a large number of topics and has been fully updated to the latest version of Ruby. | Over all the tutorial is very versatile and has the added advantage that it was produced from a renown book in the Ruby programming language. It covers a large number of topics and has been fully updated to the latest version of Ruby. | ||
Line 49: | Line 56: | ||
'''Source Code:''' Embedded examples in text.<br> | '''Source Code:''' Embedded examples in text.<br> | ||
===Overview=== | |||
This tutorial is available only online as a webpage. Each item in the table of contents covers a large section of material and sometimes makes it a bit difficult to find a specific topic of choice. | This tutorial is available only online as a webpage. Each item in the table of contents covers a large section of material and sometimes makes it a bit difficult to find a specific topic of choice. | ||
[[Image:ToStringExample.jpg|thumb|To String Definition Example]] | [[Image:ToStringExample.jpg|300px|thumb|To String Definition Example]] | ||
The tutorial is extracted from the book Programming Ruby: The Pragmatic Programmers’ Guide. This webpage is based on the first edition of the book which covers the older version of Ruby 1.8. The tutorial covers a wide range of introductory and advanced topics but also includes more unique topics such as Ruby TK, Threads, Ruby’s Standard Library, Network Libraries, and more. | The tutorial is extracted from the book Programming Ruby: The Pragmatic Programmers’ Guide. This webpage is based on the first edition of the book which covers the older version of Ruby 1.8. The tutorial covers a wide range of introductory and advanced topics but also includes more unique topics such as Ruby TK, Threads, Ruby’s Standard Library, Network Libraries, and more. | ||
The layout of the tutorial is easy to follow and is logically ordered. The tutorial contains an extensive number of example code embedded in it and has the advantage that the output of each is typically shown. This makes it easier for the user to understand what to expect from the code without having to run it themselves. Each example is also paired with an adequate description and clarification of the subject. No photos are typically used to portray concepts but instead the use of the examples provide the user with the understanding needed. | The layout of the tutorial is easy to follow and is logically ordered. The tutorial contains an extensive number of example code embedded in it and has the advantage that the output of each is typically shown. This makes it easier for the user to understand what to expect from the code without having to run it themselves. Each example is also paired with an adequate description and clarification of the subject. No photos are typically used to portray concepts but instead the use of the examples provide the user with the understanding needed. | ||
===Example=== | |||
The picture to the right is a sample example from the tutorial. As shown in the picture there is only a partial code listing which requires you to make inferences on your own. Sometimes it is easier to learn by repetition of code. If the user is able to see the entire code they can reaffirm previous concepts. This could be an advantage for some readers as it will reduce the clutter and only show what is important to the topic of discussion. Regardless it does have the added advantage that it displays the output from the topic of conversation. | |||
===Summary=== | |||
Overall the page is a good tutorial on Ruby 1.8 but can be a bit mundane at times. The examples are straight forward and easy to understand but can sometimes feel like reading straight from the Ruby API. The main advantage is the amount of topics covered which are very unique compared to other tutorials. | Overall the page is a good tutorial on Ruby 1.8 but can be a bit mundane at times. The examples are straight forward and easy to understand but can sometimes feel like reading straight from the Ruby API. The main advantage is the amount of topics covered which are very unique compared to other tutorials. | ||
Line 72: | Line 88: | ||
'''Source Code:''' Available for download online<br> | '''Source Code:''' Available for download online<br> | ||
===Overview=== | |||
The Little Book of Ruby tutorial is a PDF (link) available free online for download. The added convenience of the tutorial being in PDF format makes it easily viewable when not connected to the internet. | The Little Book of Ruby tutorial is a PDF (link) available free online for download. The added convenience of the tutorial being in PDF format makes it easily viewable when not connected to the internet. | ||
[[Image:SampleAside.jpg|thumb|Sample Aside From the Tutorial]] | [[Image:SampleAside.jpg|300px|thumb|Sample Aside From the Tutorial]] | ||
This tutorial is a very structured guide to learning ruby and has great flow between topics. It is geared towards individuals who are just beginning to learn programming and may not have a solid understanding of basic programming constructs. The material covers more basic topics involving basic method declarations, basic data structures, loops and control statements, as well as an introduction to classes and their usage. | This tutorial is a very structured guide to learning ruby and has great flow between topics. It is geared towards individuals who are just beginning to learn programming and may not have a solid understanding of basic programming constructs. The material covers more basic topics involving basic method declarations, basic data structures, loops and control statements, as well as an introduction to classes and their usage. | ||
The author injects a number of aside boxes that introduce the user into the subtleties of the language. This can help the user understand the major advantages of this language over others. | The author injects a number of aside boxes that introduce the user into the subtleties of the language. This can help the user understand the major advantages of this language over others. The example below displays exactly how important these subtleties can be. | ||
The author does no use a large number of photos but does use them for more difficult to visualize concepts. The rest of the material has very solidly written clarifications for the topics to help prevent the need for visualization. The author also includes vocabulary definitions making it easier for novice users to understand the material. Overall this is a great tutorial for beginner to intermediate programmers to learn ruby. | |||
===Example=== | |||
The picture to the right is an example of an aside in the book. This is an important syntax example for most students, as most are used to the concept that white space is typically ignored. In this specific example the user gets great insight to the requirements of creating accessor methods for variables and the proper syntax required by Ruby. | |||
===Summary=== | |||
Over all this is a great tutorial especially for newer programmers. It does its best job at clarifying subtleties for these newer programmers to help them avoid confusion during their first few programs. It other major feature is that is has a separate download to acquire all the coding examples. This is the only tutorial covered that has this feature. | |||
Line 94: | Line 120: | ||
'''Source Code:''' Embedded into the tutorial.<br> | '''Source Code:''' Embedded into the tutorial.<br> | ||
===Overview=== | |||
The Ruby’s User Guide is available online as a webpage and is not available for download. But the general layout of the website makes it very easy to navigate and utilize. | The Ruby’s User Guide is available online as a webpage and is not available for download. But the general layout of the website makes it very easy to navigate and utilize. | ||
[[Image:FactorExample.jpg|thumb|Sample Factor Code]] | [[Image:FactorExample.jpg|300px|thumb|Sample Factor Code]] | ||
The tutorial itself is not a structured as majority of the others covered in this Wikipedia, but is more of a subject based topic coverage. The user has the option to jump around easily and learn specific topics that they may be interested in. This is great for more advanced users that wish to learn specific things, but can hinder learning for newer programmers since it is not as structured. The material covers from basic to advanced topics involving basic method declarations, basic data structures, loops and control statements, classes, regular expressions, iterators, inheritance, method redefinitions, exceptions and more. | The tutorial itself is not a structured as majority of the others covered in this Wikipedia, but is more of a subject based topic coverage. The user has the option to jump around easily and learn specific topics that they may be interested in. This is great for more advanced users that wish to learn specific things, but can hinder learning for newer programmers since it is not as structured. The material covers from basic to advanced topics involving basic method declarations, basic data structures, loops and control statements, classes, regular expressions, iterators, inheritance, method redefinitions, exceptions and more. | ||
The author uses a number of examples within the tutorial to help the users understand topics and some of the subtleties of the language. These can be invaluable to learning ruby but the drawback is that explanations are many times not adequate and can leave the user to interpret the results for themselves. This may be due to the fact that the document was originally translated from Japanese. | The author uses a number of examples within the tutorial to help the users understand topics and some of the subtleties of the language. These can be invaluable to learning ruby but the drawback is that explanations are many times not adequate and can leave the user to interpret the results for themselves. This may be due to the fact that the document was originally translated from Japanese. | ||
===Example=== | |||
The picture to the right is an example of code take from the webpage and it displays a simple recursive algorithm for computing the factorial of a number. What isn't displayed is what follows that code listing. Each line from the program is broken down and explained one by one. This can make it very simple for new users to understand exactly what each line is doing. | |||
===Summary=== | |||
The entire tutorial seems to be more useful to more advanced users that know how to program already. The main advantages of the guide is that it covers more advanced topics not normally found in tutorials and covers many unique attributes to the Ruby programming language. | The entire tutorial seems to be more useful to more advanced users that know how to program already. The main advantages of the guide is that it covers more advanced topics not normally found in tutorials and covers many unique attributes to the Ruby programming language. | ||
Line 117: | Line 152: | ||
'''Source Code:''' Embedded Syntax Examples<br> | '''Source Code:''' Embedded Syntax Examples<br> | ||
===Overview=== | |||
The Ruby Quick Reference is available only online but can easily be saved as a single webpage for offline viewing. The website is a bit more difficult to navigate since the entire listing is on a single page. | The Ruby Quick Reference is available only online but can easily be saved as a single webpage for offline viewing. The website is a bit more difficult to navigate since the entire listing is on a single page. | ||
[[Image:ClassDefine.jpg|thumb|Class Definition Example]] | [[Image:ClassDefine.jpg|300px|thumb|Class Definition Example]] | ||
This is not a conventional tutorial as it has little or no descriptions on each of the topics. The purpose of this tutorial is to supply the user with the syntax of the Ruby language. This reference is designed for intermediate to advanced users that know how the language works but are unfamiliar with the syntax. It covers simple things from basic class definitions all the way to more advanced topics such as environment variables, exceptions, standard library modules, testing, and debugger controls. | This is not a conventional tutorial as it has little or no descriptions on each of the topics. The purpose of this tutorial is to supply the user with the syntax of the Ruby language. This reference is designed for intermediate to advanced users that know how the language works but are unfamiliar with the syntax. It covers simple things from basic class definitions all the way to more advanced topics such as environment variables, exceptions, standard library modules, testing, and debugger controls. | ||
===Example=== | |||
The picture to the right is an example taken from the webpage on syntax for defining a class. There is a lot of information displayed in 6 short lines of code. The example shows how a typical class is declared along with how inheritance is accomplished. The second three lines tell the user how to create an instance method that belongs to an single instance of a class. | |||
===Summary=== | |||
Overall this is not a tutorial at all but more of a guide on syntax in the Ruby Language. While this is not a tutorial it is listed here because it is a valuable learning tool as it gives the users a quick way to look up programming examples. This is ideal for users that have already used one of the previous tutorials and understand the Ruby language. | Overall this is not a tutorial at all but more of a guide on syntax in the Ruby Language. While this is not a tutorial it is listed here because it is a valuable learning tool as it gives the users a quick way to look up programming examples. This is ideal for users that have already used one of the previous tutorials and understand the Ruby language. | ||
Line 131: | Line 175: | ||
=Conclusion= | =Conclusion= | ||
All of the listed examples have a number of advantages over the others | All of the listed examples have a number of advantages over the others; the key to choosing one is based on the users specific needs. One of the major differences between tutorials usually relates to the type of examples and how they are incorporated into learning. The other main difference is the range of topics covered. While majority of the tutorials here cover the same introductory and intermediate topics, they differ greatly on the more advanced topics. Pay close attention to the advanced topics that may be of use for you when choosing a tutorial. | ||
Latest revision as of 01:45, 29 September 2009
Resources For Ruby: Table of Contents
Introduction
Learning a new program language can sometimes prove to be very difficult especially if the language has new programming concepts that the user has never previously learned. Such an example would be moving from C to C++ and the introduction of classes and all they have to offer. Ruby is a language that has a number of special features not commonly found in most programming languages and sometimes can be difficult to learn, especially from Integrated Development Environment (IDE). In this page we hope to introduce the reader to a number of Ruby tutorials and give an understanding of the tutorials strengths.
Tutorial Overview
Every tutorial has one common goal and that is to supply some form of informative material about the Ruby programming language, but some can be better than others. In our descriptions we try to remain objective about the contents of each tutorial and try to introduce personal opinions only when clarifications may be needed.
Core Ruby Programming
Author: Erwin Aligam
Website: http://rubylearning.com/satishtalim/tutorial.html
Last Update: Aug. 1st, 2008
Level: Beginner – Advanced
Source Code: Embedded examples in text.
Overview
This is a tutorial available only online as a webpage. It is fairly simple to navigate but the website has a number of ads on the page and can sometimes make the usage a bit cumbersome.
The tutorial is extracted from the book Programming Ruby 1.9: The Pragmatic Programmers’ Guide and follows the structure fairly closely. It has been fully updated to the newest version of Ruby as covered in the book and contains an informal install guide for Ruby making it easier for newer users. The tutorial covers a variety of introductory topics and continues to more advanced topics such as Inheritance, Overloading Methods, Exceptions, Duck Typing, and more.
The tutorial contains embedded examples which are very simple and straight forward. These aid in user learning, but the examples typically do not display the output or results. This can be confusing and requires the user to run the code for themselves to gain an understanding of the code and what it does.
A major advantage of the tutorial is that it displays embedded links to Ruby’s API pages for the user. This can supplement the user's knowledge of method availability in the standard API. The author uses pictures and figures for more challenging object-oriented constructs as well as in depth descriptions that explain concepts efficiently. Also the author supplies summaries at the end of each section which allow the material to be assimilated by repetition.
Example
The picture to the right is an example of the embedded programming sample and displays one of the big advantages to this tutorial. As shown in the picture a full listing of the sample code is given along with the corresponding output. This can drastically help the student by not making them infer what will result. Also this can save the user time since they will not be required to run the code themselves if they find themselves confused on the output.
Summary
Over all the tutorial is very versatile and has the added advantage that it was produced from a renown book in the Ruby programming language. It covers a large number of topics and has been fully updated to the latest version of Ruby.
Programming Ruby: The Pragmatic Programmers’ Guide
Author: Addison Longman
Website: http://www.rubycentral.com/pickaxe
Last Update: 2001
Level: Beginner – Intermediate
Source Code: Embedded examples in text.
Overview
This tutorial is available only online as a webpage. Each item in the table of contents covers a large section of material and sometimes makes it a bit difficult to find a specific topic of choice.
The tutorial is extracted from the book Programming Ruby: The Pragmatic Programmers’ Guide. This webpage is based on the first edition of the book which covers the older version of Ruby 1.8. The tutorial covers a wide range of introductory and advanced topics but also includes more unique topics such as Ruby TK, Threads, Ruby’s Standard Library, Network Libraries, and more.
The layout of the tutorial is easy to follow and is logically ordered. The tutorial contains an extensive number of example code embedded in it and has the advantage that the output of each is typically shown. This makes it easier for the user to understand what to expect from the code without having to run it themselves. Each example is also paired with an adequate description and clarification of the subject. No photos are typically used to portray concepts but instead the use of the examples provide the user with the understanding needed.
Example
The picture to the right is a sample example from the tutorial. As shown in the picture there is only a partial code listing which requires you to make inferences on your own. Sometimes it is easier to learn by repetition of code. If the user is able to see the entire code they can reaffirm previous concepts. This could be an advantage for some readers as it will reduce the clutter and only show what is important to the topic of discussion. Regardless it does have the added advantage that it displays the output from the topic of conversation.
Summary
Overall the page is a good tutorial on Ruby 1.8 but can be a bit mundane at times. The examples are straight forward and easy to understand but can sometimes feel like reading straight from the Ruby API. The main advantage is the amount of topics covered which are very unique compared to other tutorials.
Little Book of Ruby
Author: Huw Collingbourne
Website: http://www.sapphiresteel.com/The-Little-Book-Of-Ruby
Last Update: June 17th, 2006
Level: Beginner - Intermediate
Source Code: Available for download online
Overview
The Little Book of Ruby tutorial is a PDF (link) available free online for download. The added convenience of the tutorial being in PDF format makes it easily viewable when not connected to the internet.
This tutorial is a very structured guide to learning ruby and has great flow between topics. It is geared towards individuals who are just beginning to learn programming and may not have a solid understanding of basic programming constructs. The material covers more basic topics involving basic method declarations, basic data structures, loops and control statements, as well as an introduction to classes and their usage.
The author injects a number of aside boxes that introduce the user into the subtleties of the language. This can help the user understand the major advantages of this language over others. The example below displays exactly how important these subtleties can be.
The author does no use a large number of photos but does use them for more difficult to visualize concepts. The rest of the material has very solidly written clarifications for the topics to help prevent the need for visualization. The author also includes vocabulary definitions making it easier for novice users to understand the material. Overall this is a great tutorial for beginner to intermediate programmers to learn ruby.
Example
The picture to the right is an example of an aside in the book. This is an important syntax example for most students, as most are used to the concept that white space is typically ignored. In this specific example the user gets great insight to the requirements of creating accessor methods for variables and the proper syntax required by Ruby.
Summary
Over all this is a great tutorial especially for newer programmers. It does its best job at clarifying subtleties for these newer programmers to help them avoid confusion during their first few programs. It other major feature is that is has a separate download to acquire all the coding examples. This is the only tutorial covered that has this feature.
Ruby’s User Guide
Author: Mark Slagell
Website: http://www.rubyist.net/~slagell/ruby/
Last Update: 2005
Level: Beginner – Advanced
Source Code: Embedded into the tutorial.
Overview
The Ruby’s User Guide is available online as a webpage and is not available for download. But the general layout of the website makes it very easy to navigate and utilize.
The tutorial itself is not a structured as majority of the others covered in this Wikipedia, but is more of a subject based topic coverage. The user has the option to jump around easily and learn specific topics that they may be interested in. This is great for more advanced users that wish to learn specific things, but can hinder learning for newer programmers since it is not as structured. The material covers from basic to advanced topics involving basic method declarations, basic data structures, loops and control statements, classes, regular expressions, iterators, inheritance, method redefinitions, exceptions and more.
The author uses a number of examples within the tutorial to help the users understand topics and some of the subtleties of the language. These can be invaluable to learning ruby but the drawback is that explanations are many times not adequate and can leave the user to interpret the results for themselves. This may be due to the fact that the document was originally translated from Japanese.
Example
The picture to the right is an example of code take from the webpage and it displays a simple recursive algorithm for computing the factorial of a number. What isn't displayed is what follows that code listing. Each line from the program is broken down and explained one by one. This can make it very simple for new users to understand exactly what each line is doing.
Summary
The entire tutorial seems to be more useful to more advanced users that know how to program already. The main advantages of the guide is that it covers more advanced topics not normally found in tutorials and covers many unique attributes to the Ruby programming language.
Ruby Quick Reference
Author: Ryan Davis
Website: http://www.zenspider.com/Languages/Ruby/QuickRef.html
Last Update: Sept. 13th, 2009
Level: Intermediate – Advanced
Source Code: Embedded Syntax Examples
Overview
The Ruby Quick Reference is available only online but can easily be saved as a single webpage for offline viewing. The website is a bit more difficult to navigate since the entire listing is on a single page.
This is not a conventional tutorial as it has little or no descriptions on each of the topics. The purpose of this tutorial is to supply the user with the syntax of the Ruby language. This reference is designed for intermediate to advanced users that know how the language works but are unfamiliar with the syntax. It covers simple things from basic class definitions all the way to more advanced topics such as environment variables, exceptions, standard library modules, testing, and debugger controls.
Example
The picture to the right is an example taken from the webpage on syntax for defining a class. There is a lot of information displayed in 6 short lines of code. The example shows how a typical class is declared along with how inheritance is accomplished. The second three lines tell the user how to create an instance method that belongs to an single instance of a class.
Summary
Overall this is not a tutorial at all but more of a guide on syntax in the Ruby Language. While this is not a tutorial it is listed here because it is a valuable learning tool as it gives the users a quick way to look up programming examples. This is ideal for users that have already used one of the previous tutorials and understand the Ruby language.
Conclusion
All of the listed examples have a number of advantages over the others; the key to choosing one is based on the users specific needs. One of the major differences between tutorials usually relates to the type of examples and how they are incorporated into learning. The other main difference is the range of topics covered. While majority of the tutorials here cover the same introductory and intermediate topics, they differ greatly on the more advanced topics. Pay close attention to the advanced topics that may be of use for you when choosing a tutorial.
The last thing to keep in mind is the last time the tutorials have been updated. A few of the tutorials only cover Ruby 1.8 which has subtle differences from the newest version of Ruby. While this may not be a problem for most users it is something to keep in mind while choosing a tutorial.
Links
[1] http://www.rubycentral.com/pickaxe/
[2] http://rubylearning.com/satishtalim/tutorial.html
[3] http://www.sapphiresteel.com/The-Little-Book-Of-Ruby