Ruby for Kids?

Kerry Stevenson wrote:

I am wondering if there is a Ruby resource (book, web pages, whatever)
that would be suitable to teach a child who has never programmed
anything before. The pickaxe book, while a terrific resource, seems to
assume at least some basic knowledge of programming and language
syntax.

You know, to be honest with you, I would start them off with something
more like PHP. It seems like younger kids like to do stuff with web
pages, and it might be fun.

Baah. My son is started with Chris Pine's book on learning to program ruby,
and he loves it (11 now 12 yrs). I'm going to let him go the the rails book next.

Ruby is a great environment to learn since the language is so clean.

I think we need a generation of people who cut their teeth on Ruby so
they can 'out the king' and bring enlightenment that languages do not need to be
ugly to be fast or useful.

Jim Freeze

···

On Dec 11, 2006, at 9:30 PM, Jeff_M wrote:

Kerry Stevenson wrote:

I am wondering if there is a Ruby resource (book, web pages, whatever)
that would be suitable to teach a child who has never programmed
anything before. The pickaxe book, while a terrific resource, seems to
assume at least some basic knowledge of programming and language
syntax.

You know, to be honest with you, I would start them off with something
more like PHP. It seems like younger kids like to do stuff with web
pages, and it might be fun.

Jeff_M wrote:

You know, to be honest with you, I would start them off with something
more like PHP. It seems like younger kids like to do stuff with web
pages, and it might be fun.
  

IMHO, even if i'ts suggested to start playing with web pages, it's still better for children to get used to a general-purpose and OOP language, not a specialised one like PHP. Ruby (or even Java) can easily serve as a toy tool for web-page-playing but later it'll be the solid a nd "proper" ground for a deeper study of programing.

Mike Shock

Jeff_M wrote:

Kerry Stevenson wrote:

I am wondering if there is a Ruby resource (book, web pages, whatever)
that would be suitable to teach a child who has never programmed
anything before. The pickaxe book, while a terrific resource, seems to
assume at least some basic knowledge of programming and language
syntax.

You know, to be honest with you, I would start them off with something
more like PHP. It seems like younger kids like to do stuff with web
pages, and it might be fun.

Be careful: Many locales have laws against just this sort of child abuse.

···

--
James Britt

"A language that doesn't affect the way you think about programming is not worth knowing."
   - A. Perlis

what would be good is something like KPL
(http://www.kidsprogramminglanguage.com/) but built around ruby

···

On 12/12/06, James Britt <james.britt@gmail.com> wrote:

Jeff_M wrote:
> Kerry Stevenson wrote:
>> I am wondering if there is a Ruby resource (book, web pages, whatever)
>> that would be suitable to teach a child who has never programmed
>> anything before. The pickaxe book, while a terrific resource, seems to
>> assume at least some basic knowledge of programming and language
>> syntax.
>
> You know, to be honest with you, I would start them off with something
> more like PHP. It seems like younger kids like to do stuff with web
> pages, and it might be fun.

Be careful: Many locales have laws against just this sort of child abuse.

--
James Britt

"A language that doesn't affect the way you think about programming is
not worth knowing."
  - A. Perlis

"Keith Nicholas" <keith.nicholas@gmail.com> writes:

what would be good is something like KPL
(http://www.kidsprogramminglanguage.com/) but built around ruby

[...]

"A language that doesn't affect the way you think about programming is
not worth knowing."
  - A. Perlis

=> "Gah! Programming sucks!" }:slight_smile:

···

--
Christian Neukirchen <chneukirchen@gmail.com> http://chneukirchen.org

I am a 15 year old. I say Ruby is perfect for kids. Learn to Program is a
fine Ruby book. It help me get off the ground where no other programming
language/book successfully did me in.

Beside, I am doing game development with Ruby now :slight_smile:

···

On 12/13/06, Christian Neukirchen <chneukirchen@gmail.com> wrote:

"Keith Nicholas" <keith.nicholas@gmail.com> writes:

> what would be good is something like KPL
> (http://www.kidsprogramminglanguage.com/) but built around ruby
>
[...]
>> "A language that doesn't affect the way you think about programming is
>> not worth knowing."
>> - A. Perlis

=> "Gah! Programming sucks!" }:slight_smile:

--
Christian Neukirchen <chneukirchen@gmail.com> http://chneukirchen.org

Christian Neukirchen wrote:

"Keith Nicholas" <keith.nicholas@gmail.com> writes:

what would be good is something like KPL
(http://www.kidsprogramminglanguage.com/) but built around ruby

[...]
  

"A language that doesn't affect the way you think about programming is
not worth knowing."
  - A. Perlis
      
=> "Gah! Programming sucks!" }:slight_smile:

The only language that ever changed the way I thought about programming was LISP 1.5.

···

--
M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P)
http://borasky-research.blogspot.com/

If God had meant for carrots to be eaten cooked, He would have given rabbits fire.

"M. Edward (Ed) Borasky" <znmeb@cesmail.net> writes:

Christian Neukirchen wrote:

"Keith Nicholas" <keith.nicholas@gmail.com> writes:

what would be good is something like KPL
(http://www.kidsprogramminglanguage.com/) but built around ruby

[...]
  

"A language that doesn't affect the way you think about programming is
not worth knowing."
  - A. Perlis
      
=> "Gah! Programming sucks!" }:slight_smile:

The only language that ever changed the way I thought about
programming was LISP 1.5.

Are you sure? I learned more from every language since Lisp that
changed my way about thinking. It has been a lot *harder* to find
these languages, though...

···

--
Christian Neukirchen <chneukirchen@gmail.com> http://chneukirchen.org

I am a 15 year old. I say Ruby is perfect for kids. Learn to Program is a
fine Ruby book. It help me get off the ground where no other programming
language/book successfully did me in.

Congratulations, Han Dao!

Beside, I am doing game development with Ruby now :slight_smile:

Which library do you use? Ruby/SDL, RUDL or another one?

Cheers,

Luciano

···

On 12/13/06, Han Dao <wikipediankiba@gmail.com> wrote:

Cool, keep it up and you become really dangerous when you are 20 :slight_smile:
what kind of game are you making?

···

On 12/13/06, Han Dao <wikipediankiba@gmail.com> wrote:

I am a 15 year old. I say Ruby is perfect for kids. Learn to Program is a
fine Ruby book. It help me get off the ground where no other programming
language/book successfully did me in.

Beside, I am doing game development with Ruby now :slight_smile:

--
Simon Strandgaard
http://opcoders.com/

Christian Neukirchen wrote:

"M. Edward (Ed) Borasky" <znmeb@cesmail.net> writes:

The only language that ever changed the way I thought about
programming was LISP 1.5.
    
Are you sure? I learned more from every language since Lisp that
changed my way about thinking. It has been a lot *harder* to find
these languages, though...
  

I'm pretty sure -- I was there. :slight_smile: But seriously, I started out as a macro assembly language programmer, then learned FORTRAN. APL certainly would have changed the way I thought about programming had I been in a position to learn and use it. But I wasn't, and the next language I learned was Lisp 1.5. After that, there wasn't a whole heck of a lot new. FORTH maybe, except that I pretty much view FORTH as a convoluted macro assembler. :slight_smile:

The two languages I wish I had learned were APL and Smalltalk. I suppose I could still learn Smalltalk, but Ruby seems a lot easier to use -- the Squeak environment, for example, is hopelessly complicated, not to mention visually garish. And APL seems to have vanished from the planet. The kind of people who used to use APL, finance geeks, now use R, which I *do* know.

···

--
M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P)
http://borasky-research.blogspot.com/

If God had meant for carrots to be eaten cooked, He would have given rabbits fire.

J and K seem to be the current children of APL


martin

···

On 12/15/06, M. Edward (Ed) Borasky <znmeb@cesmail.net> wrote:

The two languages I wish I had learned were APL and Smalltalk. I suppose
I could still learn Smalltalk, but Ruby seems a lot easier to use -- the
Squeak environment, for example, is hopelessly complicated, not to
mention visually garish. And APL seems to have vanished from the planet.
The kind of people who used to use APL, finance geeks, now use R, which
I *do* know.

"M. Edward (Ed) Borasky" <znmeb@cesmail.net> writes:

Christian Neukirchen wrote:

"M. Edward (Ed) Borasky" <znmeb@cesmail.net> writes:

The only language that ever changed the way I thought about
programming was LISP 1.5.
    
Are you sure? I learned more from every language since Lisp that
changed my way about thinking. It has been a lot *harder* to find
these languages, though...
  

I'm pretty sure -- I was there. :slight_smile:

I didn't intent to question LISP 1.5, but the significance it made.
Say, compared to Scheme, LISP 1.5 is not that world-changing, is it?

But seriously, I started out as a
macro assembly language programmer, then learned FORTRAN. APL
certainly would have changed the way I thought about programming had I
been in a position to learn and use it. But I wasn't, and the next
language I learned was Lisp 1.5. After that, there wasn't a whole heck
of a lot new. FORTH maybe, except that I pretty much view FORTH as a
convoluted macro assembler. :slight_smile:

I thought of Forth too. Forth's biggest feature are the abstractions
it makes possible, but it's biggest failure is that these leak easily.
But it is an example that should be studied by every language
designer.

The two languages I wish I had learned were APL and Smalltalk. I
suppose I could still learn Smalltalk, but Ruby seems a lot easier to
use -- the Squeak environment, for example, is hopelessly complicated,
not to mention visually garish. And APL seems to have vanished from
the planet. The kind of people who used to use APL, finance geeks, now
use R, which I *do* know.

APL lives on as J, K and Q. I still wait for the day I get to see the
K source code... it must be an amazing piece of code.

Further languages that changed my way to think about programming:
- Prolog (mainly the different evaluation mechanism)
- Maude (mixfix syntax, meta-implementation)
- Haskell (typing done right?)
- Pico (http://pico.vub.ac.be/, Lua done right?)

I'm sure I forgot something.

···

--
Christian Neukirchen <chneukirchen@gmail.com> http://chneukirchen.org

"M. Edward (Ed) Borasky" <znmeb@cesmail.net> writes:

> Christian Neukirchen wrote:
>> "M. Edward (Ed) Borasky" <znmeb@cesmail.net> writes:
>>
>>> The only language that ever changed the way I thought about
>>> programming was LISP 1.5.
>>>
>>
>> Are you sure? I learned more from every language since Lisp that
>> changed my way about thinking. It has been a lot *harder* to find
>> these languages, though...
>>
> I'm pretty sure -- I was there. :slight_smile:

I didn't intent to question LISP 1.5, but the significance it made.
Say, compared to Scheme, LISP 1.5 is not that world-changing, is it?

Scheme came after Lisp 1.5.

···

On 12/16/06, Christian Neukirchen <chneukirchen@gmail.com> wrote:

--
Christian Neukirchen <chneukirchen@gmail.com> http://chneukirchen.org

--
- Simen

Quoting Christian Neukirchen <chneukirchen@gmail.com>:

I didn't intent to question LISP 1.5, but the significance it made.
Say, compared to Scheme, LISP 1.5 is not that world-changing, is it?

In the context of *Lisp*, Scheme is absolutely earth-shaking. But in the general
context of programming languages and my personal experience of their history,
Lisp 1.5 was the most profound paradigm shift.

If someone were to come to me today and ask me, "Should I learn Scheme or Common
Lisp?" I'd have a tough choice, but I think Scheme would win -- it's a much
better learning tool than Common Lisp. But two of Scheme's three major
innovations -- lexical scoping and continuations -- made it into Common Lisp.

I thought of Forth too. Forth's biggest feature are the abstractions
it makes possible, but it's biggest failure is that these leak easily.
But it is an example that should be studied by every language
designer.

It's also addictive. Once your mind connects all the dots, once you enter into
the world and conventions of Forth, and start hanging out with other Forthers,
it can be difficult to return to more conventional languages. Fortunately, one
can indeed earn a decent living in Forth should one decide to embrace the Forth
way of life.

APL lives on as J, K and Q. I still wait for the day I get to see the
K source code... it must be an amazing piece of code.

The open source version of "APL" is A+ or aplus, depending on who you talk to.
I'm on their mailing list -- it was very quiet for most of the year but it
seems to be picking up in activity. It's in Debian.

Further languages that changed my way to think about programming:
- Prolog (mainly the different evaluation mechanism)

Apparently there has been a rebirth of activity in Prolog and Prolog-like
languages such as Mercury and the mini-Kanren package built in Scheme. I
thought it was dead. I made a feeble attempt to learn it, but it made my head
hurt. It was way too far away from my "roots" as a numerical practitioner.

- Maude (mixfix syntax, meta-implementation)

Never heard of it.

- Haskell (typing done right?)

There are just enough useful pieces of software written in Haskell (and OCaml,
too, for that matter) that you need to "have it on your hard drive". If those
pieces of software get useful enough, they'll need to be re-written in Java,
C++ or C#. :slight_smile:

- Pico (http://pico.vub.ac.be/, Lua done right?)

I've heard of Lua -- never heard of Pico

I'm sure I forgot something.

Well, the whole ML family, of which OCaml seems to be the only thriving member.

Quoting znmeb@cesmail.net:

It's also addictive. Once your mind connects all the dots, once you enter
into
the world and conventions of Forth, and start hanging out with other
Forthers,
it can be difficult to return to more conventional languages. Fortunately,
one
can indeed earn a decent living in Forth should one decide to embrace the
Forth
way of life.

One other addicting feature of most Forths is the ability to easily drop into
assembler and the tight integration of the virtual machine and the real one.
I've never understood why C displaced Forth in the embedded world as much as it
did, given all that.

Quoting Simen Edvardsen <toalett@gmail.com>:

Scheme came after Lisp 1.5.

And I think roughly the same time as the move to integrate the other Lisp
dialects into what became Common Lisp. Curiously enough, there was a brief and
little-known "Lisp 2", with essentially Lisp 1.5 semantics but an Algol-like
(BNF) syntax. Lisp 2 went absolutely nowhere; by that time, the Algol family
was perfectly capable of handling Lisp-like data structures and semantics on
its own. :slight_smile:

znmeb@cesmail.net writes:

Quoting Christian Neukirchen <chneukirchen@gmail.com>:

I didn't intent to question LISP 1.5, but the significance it made.
Say, compared to Scheme, LISP 1.5 is not that world-changing, is it?

In the context of *Lisp*, Scheme is absolutely earth-shaking. But in the general
context of programming languages and my personal experience of their history,
Lisp 1.5 was the most profound paradigm shift.

Yes. But I was comparing to my personal influence. :slight_smile:

If someone were to come to me today and ask me, "Should I learn Scheme or Common
Lisp?" I'd have a tough choice, but I think Scheme would win -- it's a much
better learning tool than Common Lisp. But two of Scheme's three major
innovations -- lexical scoping and continuations -- made it into Common Lisp.

Common Lisp doesn't have continuations.

APL lives on as J, K and Q. I still wait for the day I get to see the
K source code... it must be an amazing piece of code.

The open source version of "APL" is A+ or aplus, depending on who you talk to.
I'm on their mailing list -- it was very quiet for most of the year but it
seems to be picking up in activity. It's in Debian.

There was a lot of development between A+ and Q, though. Alone the
fact that A+ doesn't use ASCII is a big turn off. I think Q is far
more elegant than A+, but I didn't play a lot with it.

Further languages that changed my way to think about programming:
- Prolog (mainly the different evaluation mechanism)

Apparently there has been a rebirth of activity in Prolog and Prolog-like
languages such as Mercury and the mini-Kanren package built in Scheme. I
thought it was dead. I made a feeble attempt to learn it, but it made my head
hurt. It was way too far away from my "roots" as a numerical practitioner.

Once you got the evaluation model of Prolog, it's just Lisp in a
different syntax. :slight_smile:

- Haskell (typing done right?)

There are just enough useful pieces of software written in Haskell (and OCaml,
too, for that matter) that you need to "have it on your hard drive". If those
pieces of software get useful enough, they'll need to be re-written in Java,
C++ or C#. :slight_smile:

Have an example of that?

I'm sure I forgot something.

Well, the whole ML family, of which OCaml seems to be the only thriving member.

Well, I covered functional programming with Haskell, and other than
that, the things I consider convincing about ML are the generally very
good implementations and maybe their module support. Not truly
world-changing to me, though. Maybe it's because I learned about
Haskell before ML...

···

--
Christian Neukirchen <chneukirchen@gmail.com> http://chneukirchen.org

Christian Neukirchen wrote:

If someone were to come to me today and ask me, "Should I learn Scheme or Common

Lisp?" I'd have a tough choice, but I think Scheme would win -- it's a much
better learning tool than Common Lisp. But two of Scheme's three major
innovations -- lexical scoping and continuations -- made it into Common Lisp.
    
Common Lisp doesn't have continuations.
  

Are you sure? It was a struggle, but I think someone managed to get them in.

There was a lot of development between A+ and Q, though. Alone the
fact that A+ doesn't use ASCII is a big turn off. I think Q is far
more elegant than A+, but I didn't play a lot with it.
  

Well ... I can hunt down Q ... is it open source?

Once you got the evaluation model of Prolog, it's just Lisp in a
different syntax. :slight_smile:
  

Well ... maybe. Kanren is mini-Prolog in a Scheme syntax. :slight_smile:

There are just enough useful pieces of software written in Haskell (and OCaml,
too, for that matter) that you need to "have it on your hard drive". If those
pieces of software get useful enough, they'll need to be re-written in Java,
C++ or C#. :slight_smile:
    
Have an example of that?
  

Darcs? I'm not sure about OCaml -- I'll have to poke around. I know something I've got in Gentoo requires OCaml. Then there's the PEPA Workbench (ask Google). It was originally written in ML, but has been translated to Java.

···

--
M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P)
http://borasky-research.blogspot.com/

If God had meant for carrots to be eaten cooked, He would have given rabbits fire.