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


Groups > comp.lang.ruby > #2689 > unrolled thread

Ruby for beginners (was: Re: Hello)

Started byPhillip Gawlowski <cmdjackryan@googlemail.com>
First post2011-04-12 10:30 -0500
Last post2011-04-13 20:57 -0500
Articles 20 on this page of 29 — 10 participants

Back to article view | Back to comp.lang.ruby


Contents

  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

Page 1 of 2  [1] 2  Next page →


#2689 — Ruby for beginners (was: Re: Hello)

FromPhillip Gawlowski <cmdjackryan@googlemail.com>
Date2011-04-12 10:30 -0500
SubjectRuby for beginners (was: Re: Hello)
Message-ID<BANLkTiktkS=oAnd6qPNuDuJp6NL79--hdw@mail.gmail.com>
On Tue, Apr 12, 2011 at 5:08 PM, Vincent Manis <vmanis@telus.net> wrote:
>
> This does bring up an issue. I would like to see www.ruby-lang.org have a page
> `Totally new to programming', with appropriate resources; this page would be
> prominently linked to on the front page.
> It would have a paragraph or so on what Ruby is, along with what the installers do,
> along with a few resources that would help a total beginner get started.
> I can visualize many interactions like this.
>
>  A: You're a programmer, can you tell me how I can learn programming?
>  B: Try Ruby, it's a great way of getting started.
>  A: What do I do?
>  B: Well, go to www.ruby-lang.org, and they have all the information you need.

Been there, done that, had to recommend books to go with my recommendation.

> When I used to do software engineering training for a company I used to work for, one of the
> more popular courses I ran was called `Programming for Non-Programmers', aimed at giving
>  people exactly that framework. A lot of beginners get stuck there, and can't easily move
>  forward without a bit of help.

Considering you have educational expertise, how would you go about this?

I don't think that a link to Chris Pine's Learn to Program
http://pine.fm/LearnToProgram/ is sufficient.

Considering the target audience (non-programmers with slight, if any,
technical background running Windows of some sort), there's a a lot of
stuff that needs to be included:

- Ruby (obviously)
- text editor (simple enough to be easily learned, malleable enough
that it could be customized for a Beginner's Ruby package)
- guide to programming*
- guide to Ruby*

The problem I've run into is that I can't write a programming guide
worth a damn. Mostly, because I have no idea where to begin to be
thorough enough that a newby can do simple stuff, and yet is able to
find out what else to learn going forward. And I don't want to rip off
Chris Pine's excellent work. ;)


* _why's Poignant Guide doesn't cut it. It's far too eccentric for
most people (not to mention that it is outdated). Neither does
Programming Ruby, since it's a guide by programmers for programmers,
and the free version that was donated to the community is outdated as
well (by 2 generations now!).

-- 
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.

[toc] | [next] | [standalone]


#2695

FromJosh Cheek <josh.cheek@gmail.com>
Date2011-04-12 12:32 -0500
Message-ID<BANLkTimoT3o_Y4+WmdXnYywc4V_DatHDZA@mail.gmail.com>
In reply to#2689
[Note:  parts of this message were removed to make it a legal post.]

On Tue, Apr 12, 2011 at 10:30 AM, Phillip Gawlowski <
cmdjackryan@googlemail.com> wrote:

>
> > When I used to do software engineering training for a company I used to
> work for, one of the
> > more popular courses I ran was called `Programming for Non-Programmers',
> aimed at giving
> >  people exactly that framework. A lot of beginners get stuck there, and
> can't easily move
> >  forward without a bit of help.
>
> Considering you have educational expertise, how would you go about this?
>
> I don't think that a link to Chris Pine's Learn to Program
> http://pine.fm/LearnToProgram/ is sufficient.
>
> Considering the target audience (non-programmers with slight, if any,
> technical background running Windows of some sort), there's a a lot of
> stuff that needs to be included:
>
> - Ruby (obviously)
> - text editor (simple enough to be easily learned, malleable enough
> that it could be customized for a Beginner's Ruby package)
> - guide to programming*
> - guide to Ruby*
>
>
When I was first learning to program I got into Ruby (on Windows at that
time). The download from ruby-lang.org had the option to install SciTE with
it and it was all hooked up so that you just pressed f5 to run your program.
If it wasn't that simple, I probably would have gotten overwhelmed and given
up.

As for my schoolwork, in C, I had to get my school's sysadmin to install
linux on my laptop and hook up gcc and everything. If not for that, I
honestly would have changed majors to math. It was another couple of years
before I figured out Linux well enough to understand most of the things I
initially had so much trouble with.

Maybe these things were easier for other people, IDK, but for me, if there
hadn't been simple ways to get started, I'd be doing math now, thinking I
was too dumb to program.

I think newbies need as much of the tangential tasks abstracted away as
possible. If I don't program and I'm thinking about checking it out, I want
to play with Ruby, not have to learn a thousand bits of arcane knowledge
before I can even begin. I think it is important, in general, to be as
accessible as possible, but especially for someone who just wants to come
and try it out. They can invest into all the tangential knowledge (how to
install Ruby, the devkit / compiler, editing the path, rvm, which version to
use, which implementation to use, which editor, ide, os, etc) after they are
sure this is something they want to delve further into.

[toc] | [prev] | [next] | [standalone]


#2697

Fromandrew mcelroy <sophrinix@gmail.com>
Date2011-04-12 12:48 -0500
Message-ID<BANLkTikQxGbdLWBOgUvX9oH-TgTa+RGarw@mail.gmail.com>
In reply to#2689
[Note:  parts of this message were removed to make it a legal post.]

On Tue, Apr 12, 2011 at 10:30 AM, Phillip Gawlowski <
cmdjackryan@googlemail.com> wrote:

> On Tue, Apr 12, 2011 at 5:08 PM, Vincent Manis <vmanis@telus.net> wrote:
> >
> > This does bring up an issue. I would like to see www.ruby-lang.org have
> a page
> > `Totally new to programming', with appropriate resources; this page would
> be
> > prominently linked to on the front page.
>

This is what TryRuby.org is suppose to be.

I am currently working on a offline and mobile version of that project.
Additionally, I have been working on adding new lessons and more
capabilities.

Additionally, TryRuby is linked on the front page of ruby-lang.org as well
as on reddit.com/r/ruby.

There was an earlier comment that _why's poignant guide to ruby is too
eccentric for most people. This is a new insight to me. I found that guide
to be very playful and fun.

Respectfully,
Andrew McElroy
http://TryRuby.org

[toc] | [prev] | [next] | [standalone]


#2704

FromPhillip Gawlowski <cmdjackryan@googlemail.com>
Date2011-04-12 13:59 -0500
Message-ID<BANLkTi=wnXaEha_SzkCwCCCpsX5NcAC-PA@mail.gmail.com>
In reply to#2697
On Tue, Apr 12, 2011 at 7:48 PM, andrew mcelroy <sophrinix@gmail.com> wrote:
>
> This is what TryRuby.org is suppose to be.
>
> I am currently working on a offline and mobile version of that project.
> Additionally, I have been working on adding new lessons and more
> capabilities.

How are the lessons (well, the content, really, as opposed to the
code) licensed?

> Additionally, TryRuby is linked on the front page of ruby-lang.org as well
> as on reddit.com/r/ruby.

Well, not everyone wants to try a programming language in a web browser.

It's more something for the technologically savvy, than the Average
Joe (GMail vs Hotmail users, to use stereotypes :P).

> There was an earlier comment that _why's poignant guide to ruby is too
> eccentric for most people. This is a new insight to me. I found that guide
> to be very playful and fun.

Oh, it can be. But not every one has the mindset of dealing with
playfulness or the quirky sense of humour the Guide has.

Of course, I've recommended it as a resource, way back when, since
there's no arguing taste.

-- 
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.

[toc] | [prev] | [next] | [standalone]


#2719

FromVincent Manis <vmanis@telus.net>
Date2011-04-12 20:30 -0500
Message-ID<587C758D-C14D-4748-BBFC-816CF51BA229@telus.net>
In reply to#2704
OK, so here's another kick at the can. 

1. I would be willing to draft a `Totally New To Programming' page for ruby-lang.org, if there's sentiment that this would be a useful thing. 

2. tryruby.org is very meritorious, but doesn't really replace having Ruby on one's own machine. It gives you the experience of interacting with Ruby, but doesn't show you how to transfer that to writing and running programs on your own machine. 

3. An IDE for beginners should be relatively limited, with relatively few dingbats and gizmos to confuse. It should focus on offering basic editing facilities, along with the ability to write and run programs. Beginners don't need API documentation, though a Ruby reference card would probably be handy. 
Such an IDE should be something that can be included with the installers, and depend upon nothing else. Of course the model here is Python's IDLE, which IMHO isn't suitable for serious programming, but on the other hand is very useful for getting started with Python. I used to use it in all my Python courses, even with programmers who presumably knew other editors well. 

And that suggests using Tk as the GUI, because that's included in every Ruby distribution. So the one-click installers could thus incorporate a basic IDE that was at least useful enough to get people started. 

Is there any sentiment that this would all be a worthwhile effort? 

-- vincent

[toc] | [prev] | [next] | [standalone]


#2727

FromStu <stu@rubyprogrammer.net>
Date2011-04-12 22:23 -0500
Message-ID<BANLkTik4p4+avWkzAEdeAsi2_1vqqcDG-w@mail.gmail.com>
In reply to#2719
[Note:  parts of this message were removed to make it a legal post.]

For what it's worth I have been using interactive_editor gem in irb for a
bit now. It allows me to open nvi or vim within irb and also supports other
cli editors( emacs, pico/nano, and even ed for those still <3 the original
unix line editor)

Though it is the reverse of setting up your editor to execute the script
from within the editor it has been quite a pleasant experience with adhoc
irb sessions.

Features are simplified. For example from within irb I type vim and then a
temp file is created which treats it as a *.rb file and allows syntax color
highlighting.

After write out the temp file the buffer is pushed back into the irb
interpreter and ready to use.

If I need to refactor my code further I can reopen the temp file again and
edit. If I'm done and happy with my creation I can save it as a named file.
If I am not content when I leave irb it will simply be flushed.

Of course you can open named files from within irb and within your text
editor running on top of irb as well.

Anyone who prefers these type of editors and has not discovered
interactive_editor may want to investigate this gem. I use it daily and I am
content as it fills the gap of experimentation much the same as posix
programming an almquist shell script directly in the terminal command line.

Now if there was a gem to manipulate irb's <TAB> completion system to act
just like zsh's innovative completion system it would be one hell of a
development environment.

[toc] | [prev] | [next] | [standalone]


#2742

FromPhillip Gawlowski <cmdjackryan@googlemail.com>
Date2011-04-13 04:08 -0500
Message-ID<BANLkTi=8NyWcd8EaRx6=AqnGoXvCOhqTFw@mail.gmail.com>
In reply to#2727
On Wed, Apr 13, 2011 at 5:23 AM, Stu <stu@rubyprogrammer.net> wrote:
> For what it's worth I have been using interactive_editor gem in irb for a
> bit now. It allows me to open nvi or vim within irb and also supports other
> cli editors( emacs, pico/nano, and even ed for those still <3 the original
> unix line editor)

CLI editors are great -- for advanced users.

But the vast majority of people are used to WIMP interfaces, and
that's who should be targeted. vim and EMACS are nice editors, but
they overwhelm non-technically-trained people far too soon.

(How do you generate a random string? Sit down a new student in front
of a vim session.)

-- 
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.

[toc] | [prev] | [next] | [standalone]


#2910

FromStu <stu@rubyprogrammer.net>
Date2011-04-14 23:01 -0500
Message-ID<BANLkTik68x3CeTvVaa+7epcZihXMLfijUg@mail.gmail.com>
In reply to#2742
[Note:  parts of this message were removed to make it a legal post.]

yup! glad my post caught someones eye =)

you can go a step further and put this in irbrc:

add this to your irbrc

def editor( *name)
  name = name.first
  unless editor_exists?( name.to_sym) || name == 'ed'
    method_body = <<EOF
    def #{name}( *file_to_open)
      unless file_to_open.empty?
        ed file_to_open.join
      else
        ed
      end
    end
EOF
    ENV['EDITOR'] = name
    instance_eval method_body
    "#{name} is now ready to use in irb"
  else
    ENV['EDITOR'] = 'ed' #Shut up and hack!
    puts "setting venerable UNIX line editor ed"
    puts "man ed(1) for more information"
    puts "#{name} supported out of the box" if editor_exists?( name.to_sym)
    puts "There is no need to set it with editor"
  end
end

def editor_exists?( editor)
  editor_list = (InteractiveEditor::Editors.instance_methods - [:ed])
  !(  editor_list.grep( /^#{editor}$/).empty?)
end

to use it you simply type:
>> editor 'ed'
or
>> editor 'xedit'

then the xedit command will be available to you. or put your favorite editor
inside irbrc to be there when you need it.
This is one of my first experiment into metaprogramming. I'm sure there are
better ways to accomplish the same thing =)

Simple way to extend interactive_editor.

~Stu

On Wed, Apr 13, 2011 at 2:44 PM, Chad Perrin <code@apotheon.net> wrote:

> On Wed, Apr 13, 2011 at 06:08:08PM +0900, Phillip Gawlowski wrote:
> > On Wed, Apr 13, 2011 at 5:23 AM, Stu <stu@rubyprogrammer.net> wrote:
> > > For what it's worth I have been using interactive_editor gem in irb for
> a
> > > bit now. It allows me to open nvi or vim within irb and also supports
> other
> > > cli editors( emacs, pico/nano, and even ed for those still <3 the
> original
> > > unix line editor)
> >
> > CLI editors are great -- for advanced users.
> >
> > But the vast majority of people are used to WIMP interfaces, and that's
> > who should be targeted. vim and EMACS are nice editors, but they
> > overwhelm non-technically-trained people far too soon.
>
> This is not a problem.  Once you have your .irbrc file set up, start irb
> and try this:
>
>    irb(main):001:0> ENV['EDITOR'] = 'xedit'
>    => "xedit"
>    irb(main):002:0> ed
>
> I use xedit here because it's likely to be just about anywhere people are
> using the X Window System.  Replace it with gvim, scite, or gedit if you
> like.  You can also set your EDITOR environment variable in your standard
> shell environment (of course), or add the editor setting line above to
> your .irbrc file if you like, so that setting up interactive_editor
> config in .irbrc looks like this:
>
>    require 'rubygems'
>    require 'interactive_editor'
>    ENV['EDITOR'] = 'xedit'
>
> Then . . . you just enter "ed" at the irb prompt and it automatically
> opens that editor, even if it's a GUI editor.  Some editors may benefit
> from special command line options.
>
>
> >
> > (How do you generate a random string? Sit down a new student in front
> > of a vim session.)
>
> How do you generate the complete works of Shakespeare within your
> lifetime?  Teach your monkeys how to use Vim.  (It's not as hard as it
> seems, once you get past the initial confusion over modal editing).
>
> Anyway, interactive_editor supports nano "natively" (without the
> environment variable trick), which is *really* easy for beginners to
> understand.  They'll just have to learn to use arrow keys instead of the
> mouse.
>
> --
> Chad Perrin [ original content licensed OWL: http://owl.apotheon.org ]
>

[toc] | [prev] | [next] | [standalone]


#2741

FromPhillip Gawlowski <cmdjackryan@googlemail.com>
Date2011-04-13 04:05 -0500
Message-ID<BANLkTimTD32bx3xLSSBSJihN5QuT43V0eg@mail.gmail.com>
In reply to#2719
On Wed, Apr 13, 2011 at 3:30 AM, Vincent Manis <vmanis@telus.net> wrote:
> OK, so here's another kick at the can.
>
> 1. I would be willing to draft a `Totally New To Programming' page for ruby-lang.org, if
> there's sentiment that this would be a useful thing.

I for one would approve of this.

It wouldn't even have to be in depth, just enough to get one going,
and do so in an easy to understand fashion (which makes jargon
problematic).

> 3. An IDE for beginners should be relatively limited, with relatively few dingbats and
> gizmos to confuse. It should focus on offering basic editing facilities, along with the
> ability to write and run programs. Beginners don't need API documentation, though
> a Ruby reference card would probably be handy.

Cheat sheets are very nice to have, but I wouldn't discard API
documentation completely. But it'd have to be made a bit more
accessible to Joe Average (who may or may not be a plumber), than the
current documentation is. Maybe condensed into what's used often, and
should be known to every one using Ruby.

> Such an IDE should be something that can be included with the installers, and depend
> upon nothing else. Of course the model here is Python's IDLE, which IMHO isn't
> suitable for serious programming, but on the other hand is very useful for getting started
> with Python. I used to use it in all my Python courses, even with programmers who
> presumably knew other editors well.

Well, if there is a single download for beginners, this download can
deploy what is needed. It'd be necessary to keep download sizes
small(ish), though.

> And that suggests using Tk as the GUI, because that's included in every Ruby
> distribution. So the one-click installers could thus incorporate a basic IDE that
> was at least useful enough to get people started.

irb(main):001:0> require 'tk'
LoadError: no such file to load -- tk
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from (irb):1
        from C:/Ruby192/bin/irb:12:in `<main>'

Not any more. Though, I guess that it'd be easy to create something
with other toolkits, or to use Shoes.

> Is there any sentiment that this would all be a worthwhile effort?

Certainly.

-- 
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.

[toc] | [prev] | [next] | [standalone]


#2750

Fromjake kaiden <jakekaiden@yahoo.com>
Date2011-04-13 07:41 -0500
Message-ID<54431d6216b366a143c3175e78a30660@ruby-forum.com>
In reply to#2719
Vincent Manis wrote in post #992403:

> 1. I would be willing to draft a `Totally New To Programming' page for
> ruby-lang.org, if there's sentiment that this would be a useful thing.

  i definitely think this would be useful.  ruby is such a 'friendly'
language, that it invites people with little or no experience
programming (like yours truly) to get started...  i do think a page for
the absolute newb would be useful for a lot of people.


> 3. An IDE for beginners should be relatively limited, with relatively
> few dingbats and gizmos to confuse. It should focus on offering basic
> editing facilities, along with the ability to write and run programs.
> Beginners don't need API documentation, though a Ruby reference card
> would probably be handy.

  agreed that it shouldn't be too complex - that could just frustrate
people more, but i think something fairly in depth would be good - just
the nuts and bolts, but well explained (method arguments, examples,
etc.)

> And that suggests using Tk as the GUI, because that's included in every
> Ruby distribution.

  if Tk isn't working, shoes might be a good option, as it is easy and
comes with an interpreter built-in.  i use gtk2 myself, but i know it
isn't so cross platform friendly.  i would be happy to help out with
layout/design in any way that i can.

> Is there any sentiment that this would all be a worthwhile effort?

  absolutely...


 - j

-- 
Posted via http://www.ruby-forum.com/.

[toc] | [prev] | [next] | [standalone]


#2753

FromJosh Cheek <josh.cheek@gmail.com>
Date2011-04-13 07:59 -0500
Message-ID<BANLkTimP1Vu8hkq2-gFY-hfeTtscOzvdgw@mail.gmail.com>
In reply to#2719
[Note:  parts of this message were removed to make it a legal post.]

On Tue, Apr 12, 2011 at 8:30 PM, Vincent Manis <vmanis@telus.net> wrote:

> OK, so here's another kick at the can.
>
> 1. I would be willing to draft a `Totally New To Programming' page for
> ruby-lang.org, if there's sentiment that this would be a useful thing.
>
>
I think it would be good. New to programming tutorials should be very
different from tutorials for people who already program.


> 3. An IDE for beginners should be relatively limited, with relatively few
> dingbats and gizmos to confuse. It should focus on offering basic editing
> facilities, along with the ability to write and run programs. Beginners
> don't need API documentation, though a Ruby reference card would probably be
> handy.
> Such an IDE should be something that can be included with the installers,
> and depend upon nothing else. Of course the model here is Python's IDLE,
> which IMHO isn't suitable for serious programming, but on the other hand is
> very useful for getting started with Python. I used to use it in all my
> Python courses, even with programmers who presumably knew other editors
> well.
>
> And that suggests using Tk as the GUI, because that's included in every
> Ruby distribution. So the one-click installers could thus incorporate a
> basic IDE that was at least useful enough to get people started.
>
> Is there any sentiment that this would all be a worthwhile effort?
>
>
Are you thinking of building your own editor? Surely this work has already
been done.

[toc] | [prev] | [next] | [standalone]


#2763

FromVincent Manis <vmanis@telus.net>
Date2011-04-13 09:48 -0500
Message-ID<534869AE-7B41-4A73-AA5B-16192C037EC0@telus.net>
In reply to#2753
On 2011-04-13, at 05:59, Josh Cheek wrote:
> Are you thinking of building your own editor? Surely this work has already
> been done.
Just to make it clear, I am *ABSOLUTELY NOT* thinking of building another editor. My operative philosophy comes from Tom Lehrer's song, `Nikolai Ivanovich Lobachevsky', on how to succeed as a mathematician: "Plagiarize,/Let no one else's work evade your eyes,/Remember why the good Lord made your eyes,/So don't shade your eyes,/But plagiarize, plagiarize, plagiarize -/Only be sure always to call it please 'research'." (To which I would add `with attribution'.) 

As for Tk not appearing with current Ruby installers, oops on my part. 

So. How do we get an IDLE-like editor that will work at least on Windows and Mac that is plausible to ship as part of the installers? 

-- v

[toc] | [prev] | [next] | [standalone]


#2767

FromPhillip Gawlowski <cmdjackryan@googlemail.com>
Date2011-04-13 10:03 -0500
Message-ID<BANLkTi=PpWo9eYesyeX+8m2+YGeeRV3XEw@mail.gmail.com>
In reply to#2763
On Wed, Apr 13, 2011 at 4:48 PM, Vincent Manis <vmanis@telus.net> wrote:
>
> Just to make it clear, I am *ABSOLUTELY NOT* thinking of building another editor.
> My operative philosophy comes from Tom Lehrer's song, `Nikolai Ivanovich Lobachevsky',
> on how to succeed as a mathematician:

IOW: Good artists create, great artists steal. ;)

Good thing for open source and Creative Commons licensing.

> As for Tk not appearing with current Ruby installers, oops on my part.

How often do you check for Tk? ;)

> So. How do we get an IDLE-like editor that will work at least on Windows and Mac that is
> plausible to ship as part of the installers?

Preferrably, something written once, yet running everywhere. I'd
suggest using JRuby, and a JRuby-based editor, that is easy to use,
yet works well enough with Ruby (it doesn't have to be perfect: A
newby who wants to explore programming in the first place isn't going
to complain about having the wrong editor, as as long as there is *an*
editor).

Redcar looks very simple, and meets the criteria, so I'm taking the
liberty of investigating it a bit more.

As for dealing with a potential lack of a Java VM: It's possible to
have a (Windows) installer check for, and then install Java.

Likewise, you could offer a default download that includes Java
(vendor'd, possibly), and one without Java.

The downside is that JRuby, great as it is, doesn't allow for C
extensions as seamlessly as the Windows Ruby with Devkit (I'm sure
Charles will now drop in and correct me :) ). OTOH, the end of a "Ruby
for newby" guide could include a means of getting a more, er,
conventional Ruby installed and set up.

-- 
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.

[toc] | [prev] | [next] | [standalone]


#2809

FromVincent Manis <vmanis@telus.net>
Date2011-04-13 20:35 -0500
Message-ID<0C2AB0D3-91B5-43CA-AB60-5485F202D9D9@telus.net>
In reply to#2767
On 2011-04-13, at 08:03, Phillip Gawlowski wrote:

> On Wed, Apr 13, 2011 at 4:48 PM, Vincent Manis <vmanis@telus.netwrote
> 
>> As for Tk not appearing with current Ruby installers, oops on my part.
> 
> How often do you check for Tk? ;)
Not very often, most of my Ruby work isn't GUI-based. However, on both OSX 10.6 and Ubuntu GNU/Linux I am running versions of Ruby 1.9.1 that I built myself from source code, and both seem to have Tk active. 

>> So. How do we get an IDLE-like editor that will work at least on Windows and Mac that is
>> plausible to ship as part of the installers?
> 
> Preferrably, something written once, yet running everywhere. I'd
> suggest using JRuby, and a JRuby-based editor, that is easy to use,
> yet works well enough with Ruby (it doesn't have to be perfect: A
> newby who wants to explore programming in the first place isn't going
> to complain about having the wrong editor, as as long as there is *an*
> editor).
> 

This might be a good way to go. I'm queasy about requiring Java to be installed, though. 
Your thoughts on redcar might well alter that. 

-- vincent

[toc] | [prev] | [next] | [standalone]


#2846

FromPhillip Gawlowski <cmdjackryan@googlemail.com>
Date2011-04-14 09:26 -0500
Message-ID<BANLkTi=5pdcP6XvEf7Ppv-zedkSj6U-gkg@mail.gmail.com>
In reply to#2809
On Thu, Apr 14, 2011 at 5:03 AM, Chad Perrin <code@apotheon.net> wrote:
> On Thu, Apr 14, 2011 at 10:35:42AM +0900, Vincent Manis wrote:
>>
>> This might be a good way to go. I'm queasy about requiring Java to be
>> installed, though.  Your thoughts on redcar might well alter that.
>
> That bothers me, too.  We should have an option that does not require
> installing more than one programming language.

That would depend on how high valued platform independence is.

I propose the following premises:

- Linux users (For the sake of argument, I think we can lump in the
BSD Unix flavours with the Linux users) can be expected to be more
technologically savvy than the "average" computer user, simply because
they have to take the step of installing anotehr operating system, and
it is a good idea for most Linux flavours and users to use the Linux
distribution's package management system to install and maintain
software anyway. This group would profit the most from a
Ruby/programming primer, I think

- Neither MacOS X nor Windows have integrated package management
solutions. While Mac users can avail themselves of XCode and a
compiler toolchain *somehow*, this is a *lot* of overhead for a
package management solution, so these two groups would profit the most
from a stand-alone installer / package for their operating systems, as
well as a Ruby/programming primer.

- Most PCs run a flavour of Windows**, according to all the data we
can get our hands on. The question is of how large the percentage
points in the 9x are, more often than not.

- Windows users are the least educated about PCs, on average (the
famous Aunt Tillie goes to the store, and buys a PC, and will have
something that runs Windows after she paid for her groceries).

- Windows doesn't ship with a decent* editor, nor a package management system.

- Mac OS X at least includes a Ruby package in its installation.


_The value of platform independence:_

To cover both Windows and Mac users with one stroke, some sort of
portability of the tools a "Beginning Ruby" package includes is a
necessity, simply to make the burden on maintaining such a package
easier.

Unfortunately, there's no easy download for SciTE for the Mac OS X
platform, and the Scintilla editor component uses GTK+, which means an
additional dependency for one single operating system, for a 2MB
editor. ;)


_Arguments for something Java based:_
- it is independent by design and in practice nowadays, and JRuby
supports both Windows and Mac platforms (almost) equally well (the
issues are more with Windows than OS X).

- Maintaining the JRE (and that's all that is needed!) is done by the
JRE provider (IIRC, Apple supplies the OpenJDK / OpenJRE now), so
anything pre-installed can be piggy-backed by a "Beginning Ruby"
package.

- Java-based editors based on the SWT toolkit don't look out of place
(SciTE does). Redcar is based off of the SWT toolkit, but requires a
lot of configuration to make it execute Ruby code from what I've
looked at so far (though, it does look nice).

Arguments against something Java based:

- The JRE is a sizeable download if nothing is pre-installed (77MB,
uncompressed, on my machine for the JRE6 x64 version).

- Start up time for Java applications can be an issue, at least in theory.

- Introduces a rather large dependency for something small.


_Beginning Ruby editor requirements:_

- Easy to use, with no clutter in the UI, and thus allowing the user
to focus on Getting Stuff Done, and get a success fast.
- Able to run Ruby from within the editor, so that the user can focus
on Ruby, and Ruby alone. The CLI on Windows is more of an advanced
topic.


In a nutshell:
The problem is sourcing a decent-ish editor, while being as
vendor-neutral as humanly possibly.


* decent meaning "at least syntax highlighting".
** We can completely discount any Windows flavour before XP SP 2.
Anything older than that shouldn't be allowed to exist anymore.

-- 
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.

[toc] | [prev] | [next] | [standalone]


#2851

FromJim Maher <jdmaher@jdmaher.com>
Date2011-04-14 10:28 -0500
Message-ID<390b0ede20264ba4ba34e10c18020cba@ruby-forum.com>
In reply to#2846
Phillip Gawlowski wrote in post #992777:
> _Beginning Ruby editor requirements:_
>
> - Easy to use, with no clutter in the UI, and thus allowing the user
> to focus on Getting Stuff Done, and get a success fast.
> - Able to run Ruby from within the editor, so that the user can focus
> on Ruby, and Ruby alone. The CLI on Windows is more of an advanced
> topic.

To me, it's about Ruby, NOT the editor.

The programmimg language is NOT the IDE.  Yeah, all the cool tools make
it enjoyable to pursue and use Ruby, but that's not what I believe is
necessary to introduce Ruby.  I believe all of that is a distraction
from an introduction to Ruby itself.

In fact, I believe Rails and even RubyGems are a distraction.  I'd love
more people to be able to easliy learn about Ruby (and only Ruby).

But, it's your initiative . . .


Jim Maher

-- 
Posted via http://www.ruby-forum.com/.

[toc] | [prev] | [next] | [standalone]


#2853

FromPhillip Gawlowski <cmdjackryan@googlemail.com>
Date2011-04-14 10:42 -0500
Message-ID<BANLkTinNcpMmPP=BS3z0OBCjs25+w7y_Hg@mail.gmail.com>
In reply to#2851
On Thu, Apr 14, 2011 at 5:28 PM, Jim Maher <jdmaher@jdmaher.com> wrote:
> Phillip Gawlowski wrote in post #992777:
>> _Beginning Ruby editor requirements:_
>>
>> - Easy to use, with no clutter in the UI, and thus allowing the user
>> to focus on Getting Stuff Done, and get a success fast.
>> - Able to run Ruby from within the editor, so that the user can focus
>> on Ruby, and Ruby alone. The CLI on Windows is more of an advanced
>> topic.
>
> To me, it's about Ruby, NOT the editor.

Same here. However, someone who beings Ruby, let alone programming, is
dealing with enough difficulties already, so the fewer assumptions
made about existing knowledge, the better. The more of a safety net
that is provided by a Beginning Ruby package, the easier it makes for
a beginner.

> The programmimg language is NOT the IDE.  Yeah, all the cool tools make
> it enjoyable to pursue and use Ruby, but that's not what I believe is
> necessary to introduce Ruby.  I believe all of that is a distraction
> from an introduction to Ruby itself.

Absolutely. That's why I'd prefer a very lightweight editor (at least
on Windows; I have no idea how the situation is on Mac OS X), to
minimize any friction. To provide, more or less, an abstraction for
what the more advanced user of Ruby is used to deal with.

To provide quick and visible results of progress in programming
("Hello World", except for the whole of Ruby, you could say).

> In fact, I believe Rails and even RubyGems are a distraction.  I'd love
> more people to be able to easliy learn about Ruby (and only Ruby).

Nobody mentioned any of those. :)

I think dealing with getting Rails deployed with ease is best done by
the Rails Installer project <http://www.railsinstaller.org/>.

> But, it's your initiative . . .

Oh no. It's a community initiative much more than anything I could
claim as my own, even if I wanted to.

-- 
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.

[toc] | [prev] | [next] | [standalone]


#2852

FromAdam Madrigal <ajmxt9@hotmail.com>
Date2011-04-14 10:29 -0500
Message-ID<51fe6057a72a6516371224e9d06133f5@ruby-forum.com>
In reply to#2846
> Phillip Gawlowski
http://groups.google.com/group/comp.lang.ruby/msg/6d594307dbaeef2d

-- 
Posted via http://www.ruby-forum.com/.

[toc] | [prev] | [next] | [standalone]


#2858

FromPhillip Gawlowski <cmdjackryan@googlemail.com>
Date2011-04-14 11:45 -0500
Message-ID<BANLkTimYtqMNXVebB7NJrXwV8oikuaUtLw@mail.gmail.com>
In reply to#2846
On Thu, Apr 14, 2011 at 6:21 PM, Chad Perrin <code@apotheon.net> wrote:
>
>> - Linux users (For the sake of argument, I think we can lump in the BSD
>> Unix flavours with the Linux users) can be expected to be more
>> technologically savvy than the "average" computer user, simply because
>> they have to take the step of installing anotehr operating system, and
>> it is a good idea for most Linux flavours and users to use the Linux
>> distribution's package management system to install and maintain
>> software anyway. This group would profit the most from a
>> Ruby/programming primer, I think
>
> I think this actually applies *more* to BSD Unix users than Linux-based
> system users, on average.

IOW: BSD users are technologically savvy, correct? Not that I
misunderstand what you wanted to say.

>>
>> To cover both Windows and Mac users with one stroke, some sort of
>> portability of the tools a "Beginning Ruby" package includes is a
>> necessity, simply to make the burden on maintaining such a package
>> easier.
>
> This is a good point.  If we're just talking about something that only
> runs on MacOS X and MS Windows, maybe JRuby isn't as bad a choice as I
> had originally thought -- because of this point.

Otherwise I wouldn't have brought it up.

Any project has manpower constraints, and the easier a Beginning Ruby
package is to maintain, the more time can be spent on making it an
excellent experience for newcomers. And I value the latter part higher
than any sort of "purity" native packages can provide.


>> - Java-based editors based on the SWT toolkit don't look out of place
>> (SciTE does). Redcar is based off of the SWT toolkit, but requires a
>> lot of configuration to make it execute Ruby code from what I've
>> looked at so far (though, it does look nice).
>
> I think this "look and feel of the OS" thing is heavily, wildly
> overstated much of the time.  Look at the Chromium browser -- it has
> taken the approach of looking kinda out-of-place on *every* operating
> system, and it ended up being about the best looking of all the major
> browsers.

And Chrom[e|ium]'s market share comes mostly at the expense of Firefox.

Native look and feel is important simply because that's what a user is
already used to, and knows how to navigate.

> That's not to say that GTK is pretty.  It's not.  I think something more
> simple and elegant, without big ugly gray buttons and the like, would be
> nicer.  Still, I don't know that blending in with the default widget set
> of the OS is as important as people seem to think, especially for
> something like this.

And we can argue this until the cows come home. I'm not hell bent on
providing native look and feel, but it's a very nice bonus to have.

Though, it'd be a secondary concern, I think. Bells and whistles are
nice, but not necessarily required.

>> - Start up time for Java applications can be an issue, at least in
>> theory.
>
> It certainly can for people who are writing little beginner scripts.
> They'll think Ruby is even slower on MS Windows than it actually is.  I
> hadn't even thought of that until you brought it up.

The question is if it would be an issue in practicality. MS Word takes
ages to load up, too (at least the first view times, before Windows'
caching mechanisms kick in), and if Ruby can run in the background
perpetually, waiting for some sort of input, start up and seeing
results of Ruby scripts becomes much of a non-issue.

> I haven't tried yet; can interactive_editor be made to work on MS
> Windows?  If so, I don't think we need to focus on picking an editor that
> can execute code for first-timers.  Keep it simple; use the default
> editor for the platform, if you can get away with it.

Ideally, yes. And I have no idea about interactive_editor, nor am I
good enough to hack any internals of it, if necessary, however.

> If you're going to bundle an editor with it, you might as well focus on
> creating a complete IDE install.

Wouldn't that go against the goals of simplicity, avoiding to overload
a beginner? Would be a fully fledged IDE be necessary to learn Ruby?

>> * decent meaning "at least syntax highlighting".
>
> I don't think syntax highlighting is really a major concern here, unless
> you're going to bundle tutorials that refer to the colors to point out
> "parts of speech" in Ruby.  I think more important concerns are things
> like whether it can handle all three major newline types (Mac, Unix,
> Windows) and whether it uses a monospace font by default.  Not
> auto-correcting what it thinks are typos is a *huge* concern, too.

That'd depend on the tutorials provided. But I think that syntax
highlighting makes easier to see what's what, than the monospaced
gibberish that would be

WORK_ITEM_TAGS.each do |wit|
  puts "Tagged #{wit}:"
  puts make_list items, wit
  puts ""
end

In the end, though:
The tutorials provided by a Beginning Ruby package as well as that one
get a running Ruby in 30 minutes or your money back are far more
important than how pretty or how advanced the editor is.

-- 
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.

[toc] | [prev] | [next] | [standalone]


#2873

FromPhillip Gawlowski <cmdjackryan@googlemail.com>
Date2011-04-14 14:33 -0500
Message-ID<BANLkTikGtmB9VL3Ci5UJ4p+_XooLazjOmQ@mail.gmail.com>
In reply to#2858
On Thu, Apr 14, 2011 at 9:16 PM, Chad Perrin <code@apotheon.net> wrote:
>
> More to the point, there are more users of Linux-based systems who are
> not so savvy, thanks to the newbie outreach of distributions like
> PCLinuxOS and Mint.

Ah, I see. Well, in such a case a recipe to get up to speed with Ruby
and a good tutorial would be the most useful (leave maintaining Linux
packages to the Linux maintainers, I'd say).

> Yeah -- my main concern with using JRuby is the requirements on the user
> side and the potential issues with more, and more complex, components of
> the package that might have issues.  A few users having problems can
> produce a lot of "Why doesn't this just work?" noise.

Two solutions:
1) Vendor the JRE privately, and use the one you include in your
package (downside: balloons download size).
2) Check for Java at install time, and download it during install time
if not present (downside: increases the time an install takes.

Both downsides are one time costs, though.

Mind: I'd rather provide two packages (one for Windows, one for Mac /
Linux) with good user experience, rather than one package with
mediocre experience.

> Of course, I was thinking of MS Windows.  Apple MacOS X users tend to
> care a lot more about that kind of thing, to the point people have
> actually made particular Mac purchases for the purpose of matching their
> drapes.

There's a reason Windows applications look, well, boring. ;)

A native look and feel means that a user doesn't have to learn new
metaphors for how things are done, since things look and work the same
as (s)he's used to.

But I don't think--at all--that providing an editor that looks and
feels slightly odd would put anyone off so completely that they'd
never, ever again try programming and/or Ruby.

> Actually, I think it would be better to do without an IDE -- but also to
> do without pushing an editor on the user, especially when there's an
> editor already on the system with which the user might already be
> familiar.

Oh, certainly. But since notepad.exe can't even show line numbers, and
the Ruby interpreter refers to line numbers, you can end up with
problems there, too.

That said: There's no problem with bundling an editor, and make it a
default during install time that the user can simply decide not to
install.

> Uh . . . since when is monospace "gibberish"?  Variable-width fonts are
> *awful* for code editing.

Since you never encountered it otherwise, for example.

Off the top of my head, I can't think of a single instance where I
encountered a monospaced font outside of programming and related
things (like a website, or technical book).

Of course, users learn fast, too, unless you make it intentionally
difficult for them.

-- 
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.

[toc] | [prev] | [next] | [standalone]


Page 1 of 2  [1] 2  Next page →

Back to top | Article view | comp.lang.ruby


csiph-web