From: BobJ Date: 2006-08-20T01:00:10+09:00 Subject: Who's a newbie? (Note - I'll fix the margins before I post again) Like many who post here I am new to ruby but not new to programming. Also like many - most, actually - I'm more enthusiastic about the language than I have been about any language since Basic first raised its head. Why? Simply put ruby is a programmer's language, not just a programming language. Programmers know how to program so they don't want their new reference guide to try to teach them what a variable is or why GOTO is bad stuff. If you note the biographical snippets that come along with postings to this group then you notice that in most cases "newbie" means mew to ruby - not new to programming. Is ruby suitable for teaching programming to genuine newbies? I think so because you can use ruby as if it were an old fashioned procedural language then introduce the concepts of OOP when the student has enough programming background to absorb the concepts. There is another, dying paradigm from the 1970s that has a lot in common with ruby. It has gone by many names but is most commonly called "Pick" or Multivalue. Its main claim to fame was the speed with which a good programmer could produce a useful system. Its main problem was similar to a problem that ruby will encounter when it tries to muscle into the "main stream". It does not fit any accepted theory and it resists formal proof of completeness or integrity or whatever you wish to call such a useless proof. With Pick we produced elegant prototypes and called them production systems. We can do the same with ruby. The biggest culprit is also the biggest benefit to the programmer - loose typing. The second culprit is a little harder to see at first - the ability to reference a variable that is part of something that has gone out of scope. In simple terms, ruby and Pick depend on the programmer to know his business rather than some elegant but useless proof of referential integrity. Bottom line is I like it, I'll use it, but I don't think that it is any threat to Java or VB. But I wish. BobJ