Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.ruby > #2885

Re: Ruby for beginners (was: Re: Hello)

From Phillip Gawlowski <cmdjackryan@googlemail.com>
Newsgroups comp.lang.ruby
Subject Re: Ruby for beginners (was: Re: Hello)
Date 2011-04-14 17:12 -0500
Organization Service de news de lacave.net
Message-ID <BANLkTimN5mFVHFd6kaaE8bMbh8wHx4QB4Q@mail.gmail.com> (permalink)
References (8 earlier) <20110414160819.GA47966@guilt.hydra> <BANLkTimYtqMNXVebB7NJrXwV8oikuaUtLw@mail.gmail.com> <20110414190355.GB48470@guilt.hydra> <BANLkTikGtmB9VL3Ci5UJ4p+_XooLazjOmQ@mail.gmail.com> <97E30DCF-6B16-470C-AB4A-3C0AEA8DA5AA@telus.net>

Show all headers | View raw


On Thu, Apr 14, 2011 at 11:43 PM, Vincent Manis <vmanis@telus.net> wrote:
>
> 1. The whole point of this is to have something useful for newbies. I think most of us put together the environments we each like, and this should probably continue. It's surprising how little of an IDE a beginner will actually use. For example, syntax coloring. I love it myself, but beginners often don't even notice it, or understand why the various words are in different colors. (I taught introductory computer science at the university level for a few decades, and that was what I saw in labs.) Most of the menu commands are unknown territory to most beginners. It seems to me that few beginners see what an asset a good editor is. They ask themselves (reasonably, in my opinion) `what's the least I have to know to get my program working?'. Therefore, while in general adding features isn't going to hurt a beginner, keeping the environment as simple as possible is highly desirable.

In your experience: Did newcomers to programming achieve good results
with Notepad?

It wouldn't be much of a problem to write a quick batch file that
opens an editor as well as shell (properly linked to from the Start
Menu, too), to provide something like a "Ruby environment" to start
with, after all.


> 2. I would identify four environments of immediate interest: Windows, OS X, Un*x/GNOME, and Un*x/KDE. Three of these come with quite reasonable editors: TextEdit (OS X), Gedit (GNOME), and Kedit (KDE). (You can argue for different editors on those three platforms, I'm just saying that they are reasonable.) Windows is the exception (you have to ask yourself `what kind of deranged company would ship an operating system without a decent editor?', but this is Windows we're talking about :). Notepad is an OK editor, modulo one `feature': it automatically appends ".txt" to file names. Teaching people to put quotes around their file names is not that big of a deal, I'd say.

1) I don't think we should get too hung up on the editor question. I
mean, it'll turn into a holy war sooner rather than later about which
is the One True Editor.

2) Since the prospective Ruby user will be perusing a guide already,
teaching "ancillaries" like saving a file as "myscript.rb" really
*isn't* that big of a deal. They'd be following the guide anyway.

> 3. I would not care to say that *ix users are more or less sophisticated than any other users. It's certainly true that most unsophisticated users who go out to buy a computer come back with a Windows box, but unsophisticated users might be running on any system.

Point taken. Though, I doubt that less sophisticated users will use a
*nix flavour at home, but rather at work.

> As I wrote this message, I think I'm coming up with a concrete proposal. The `Ruby for newbies' (`Rewbies'? :) page should lead to four different brief tutorials, one for each of the above operating systems/desktops, and should lead people through installing and running simple programs on each of thse systems, using the native text editor. The premium is on doing as few configuration steps as possible: Ruby programs will be run in a terminal/command prompt window, and editing is done using the system's native editor. A longer-term objective is finding an IDLE-like IDE that runs with no effort cross-platform. However, I'm inclined not to let that goal preclude us from doing useful things now.


I'm in favour of an iterative approach, too (I didn't make that
obvious, did I?).

The big hurdle is getting a guide written in the first place.
Fortunately, there's pretty much no difference on the basics in Ruby
platform-wise, so the basic understanding of programming/Ruby wouldn't
change across platforms.

So, as a refinement on your proposal: the guides could "split" into
pages for different operating systems (how to get up and running on X,
familiarizing the user with the environment), and then merge back into
a "This Ruby, that's what you can do!" guide, if at all feasible.


The question remaining is: *how* to teach Ruby and/or programming. I'm
a task-oriented person, so I would prefer exercises / teaching along
those lines: teaching Ruby to get stuff done.

Example tasks:
- Sorting photos by name, and shuffling them around the file system
- Checking a news website for new content
- Sending emails to a number of people at once <- doubtful that this
would be useful
- Creating a website to show off photos that are in a directory

I wouldn't teach "high-level systems", like OOP immediately, but once
complex-ish tasks come up, nor would I teach anything that would
require a gem or something like that: Just using the core and standard
library should be sufficient, I think.


-- 
Phillip Gawlowski

Though the folk I have met,
(Ah, how soon!) they forget
When I've moved on to some other place,
There may be one or two,
When I've played and passed through,
Who'll remember my song or my face.

Back to comp.lang.ruby | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Ruby for beginners (was: Re: Hello) Phillip Gawlowski <cmdjackryan@googlemail.com> - 2011-04-12 10:30 -0500
  Re: Ruby for beginners (was: Re: Hello) Josh Cheek <josh.cheek@gmail.com> - 2011-04-12 12:32 -0500
  Re: Ruby for beginners (was: Re: Hello) andrew mcelroy <sophrinix@gmail.com> - 2011-04-12 12:48 -0500
    Re: Ruby for beginners (was: Re: Hello) Phillip Gawlowski <cmdjackryan@googlemail.com> - 2011-04-12 13:59 -0500
      Re: Ruby for beginners (was: Re: Hello) Vincent Manis <vmanis@telus.net> - 2011-04-12 20:30 -0500
        Re: Ruby for beginners (was: Re: Hello) Stu <stu@rubyprogrammer.net> - 2011-04-12 22:23 -0500
          Re: Ruby for beginners (was: Re: Hello) Phillip Gawlowski <cmdjackryan@googlemail.com> - 2011-04-13 04:08 -0500
            Re: Ruby for beginners (was: Re: Hello) Stu <stu@rubyprogrammer.net> - 2011-04-14 23:01 -0500
        Re: Ruby for beginners (was: Re: Hello) Phillip Gawlowski <cmdjackryan@googlemail.com> - 2011-04-13 04:05 -0500
        Re: Ruby for beginners (was: Re: Hello) jake kaiden <jakekaiden@yahoo.com> - 2011-04-13 07:41 -0500
        Re: Ruby for beginners (was: Re: Hello) Josh Cheek <josh.cheek@gmail.com> - 2011-04-13 07:59 -0500
          Re: Ruby for beginners (was: Re: Hello) Vincent Manis <vmanis@telus.net> - 2011-04-13 09:48 -0500
            Re: Ruby for beginners (was: Re: Hello) Phillip Gawlowski <cmdjackryan@googlemail.com> - 2011-04-13 10:03 -0500
              Re: Ruby for beginners (was: Re: Hello) Vincent Manis <vmanis@telus.net> - 2011-04-13 20:35 -0500
                Re: Ruby for beginners (was: Re: Hello) Phillip Gawlowski <cmdjackryan@googlemail.com> - 2011-04-14 09:26 -0500
                Re: Ruby for beginners (was: Re: Hello) Jim Maher <jdmaher@jdmaher.com> - 2011-04-14 10:28 -0500
                Re: Ruby for beginners (was: Re: Hello) Phillip Gawlowski <cmdjackryan@googlemail.com> - 2011-04-14 10:42 -0500
                Re: Ruby for beginners (was: Re: Hello) Adam Madrigal <ajmxt9@hotmail.com> - 2011-04-14 10:29 -0500
                Re: Ruby for beginners (was: Re: Hello) Phillip Gawlowski <cmdjackryan@googlemail.com> - 2011-04-14 11:45 -0500
                Re: Ruby for beginners (was: Re: Hello) Phillip Gawlowski <cmdjackryan@googlemail.com> - 2011-04-14 14:33 -0500
                Re: Ruby for beginners (was: Re: Hello) Vincent Manis <vmanis@telus.net> - 2011-04-14 16:43 -0500
                Re: Ruby for beginners (was: Re: Hello) Phillip Gawlowski <cmdjackryan@googlemail.com> - 2011-04-14 17:12 -0500
                Re: Ruby for beginners (was: Re: Hello) Vincent Manis <vmanis@telus.net> - 2011-04-14 18:03 -0500
              Re: Ruby for beginners (was: Re: Hello) Charles Oliver Nutter <headius@headius.com> - 2011-04-14 00:38 -0500
        Re: Ruby for beginners (was: Re: Hello) terryowen <terryo.ia@gmail.com> - 2011-04-15 11:45 -0700
    Re: Ruby for beginners (was: Re: Hello) jake kaiden <jakekaiden@yahoo.com> - 2011-04-12 15:30 -0500
  Ruby for beginners (was: Re: Hello) Jim Maher <jdmaher@jdmaher.com> - 2011-04-13 11:14 -0500
    Re: Ruby for beginners (was: Re: Hello) Josh Cheek <josh.cheek@gmail.com> - 2011-04-13 12:27 -0500
      Re: Ruby for beginners (was: Re: Hello) jake kaiden <jakekaiden@yahoo.com> - 2011-04-13 20:57 -0500

csiph-web