From: "Mauricio Fernández" Date: 2002-12-04T19:09:35+09:00 Subject: Re: Ruby Book for People Who Aren't (Yet) Programmers On Wed, Dec 04, 2002 at 06:40:54PM +0900, Mauricio Fern�ndez wrote: > On Wed, Dec 04, 2002 at 09:02:32AM +0900, Mike Campbell wrote: > > >> Perhaps you should introduce... > > > > Out of curiosity, in a XP kind of mindset, do you guys who are writing this > > stuff *HAVE* a "not yet programmer" to go through and test what you write > > and give you feedback? [...] > This tutorial passed the real-world test of being read by a > non-programmer, so when I get to have it again (in less than 3 weeks > time) I might try to summarize some ideas for you, just in case it can > help you. It turns out I have a backup of my former $HOME here :) Here's the table of contents of the stuff I wrote (like 30 pages or so, I think, 'cause it's got a fair amount of examples). There's a short introduction on the nature of programming languages and it then goes into Ruby. 1 How do we program? 1.1 Introduction 1.2 Structure of computers 1.3 Programming languages 1.4 Compilers and interpreters 2 Ruby, a very high level programming language 2.1 Grammar: lexis, syntax 3 Straight to work 3.1 The interpreter and its environment 3.2 Literal values 3.3 Assignments 3.4 Functions 3.5 Objects and classes 3.6 Control structures 4 Classes, objects and modules 4.1 Properties or attributes 4.2 Class attributes and methods 4.3 Exercises I remember I _really_ wanted to introduce objects from the very beginning, but I couldn't manage to, as I needed methods to be able to "do" something, and I couldn't explain the latter without using the former, unless I talked about "functions" and explained afterwards their true nature (as singleton methods of the top-level object). It seems everybody faces the same problem (remember the Pickaxe ;). I hacked a simple interactive Ruby interpreter in which TAB would do method completion, and scopes would be automatically indented. Soon after my sister was exploring the methods of the objects she could get ahold of, and asking things such as "how to I get input from the user". -- _ _ | |__ __ _| |_ ___ _ __ ___ __ _ _ __ | '_ \ / _` | __/ __| '_ ` _ \ / _` | '_ \ | |_) | (_| | |_\__ \ | | | | | (_| | | | | |_.__/ \__,_|\__|___/_| |_| |_|\__,_|_| |_| Running Debian GNU/Linux Sid (unstable) batsman dot geo at yahoo dot com Because I don't need to worry about finances I can ignore Microsoft and take over the (computing) world from the grassroots. -- Linus Torvalds