Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.ruby > #2689 > unrolled thread
| Started by | Phillip Gawlowski <cmdjackryan@googlemail.com> |
|---|---|
| First post | 2011-04-12 10:30 -0500 |
| Last post | 2011-04-13 20:57 -0500 |
| Articles | 20 on this page of 29 — 10 participants |
Back to article view | Back to comp.lang.ruby
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 →
| From | Phillip Gawlowski <cmdjackryan@googlemail.com> |
|---|---|
| Date | 2011-04-12 10:30 -0500 |
| Subject | Ruby 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]
| From | Josh Cheek <josh.cheek@gmail.com> |
|---|---|
| Date | 2011-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]
| From | andrew mcelroy <sophrinix@gmail.com> |
|---|---|
| Date | 2011-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]
| From | Phillip Gawlowski <cmdjackryan@googlemail.com> |
|---|---|
| Date | 2011-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]
| From | Vincent Manis <vmanis@telus.net> |
|---|---|
| Date | 2011-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]
| From | Stu <stu@rubyprogrammer.net> |
|---|---|
| Date | 2011-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]
| From | Phillip Gawlowski <cmdjackryan@googlemail.com> |
|---|---|
| Date | 2011-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]
| From | Stu <stu@rubyprogrammer.net> |
|---|---|
| Date | 2011-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]
| From | Phillip Gawlowski <cmdjackryan@googlemail.com> |
|---|---|
| Date | 2011-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]
| From | jake kaiden <jakekaiden@yahoo.com> |
|---|---|
| Date | 2011-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]
| From | Josh Cheek <josh.cheek@gmail.com> |
|---|---|
| Date | 2011-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]
| From | Vincent Manis <vmanis@telus.net> |
|---|---|
| Date | 2011-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]
| From | Phillip Gawlowski <cmdjackryan@googlemail.com> |
|---|---|
| Date | 2011-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]
| From | Vincent Manis <vmanis@telus.net> |
|---|---|
| Date | 2011-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]
| From | Phillip Gawlowski <cmdjackryan@googlemail.com> |
|---|---|
| Date | 2011-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]
| From | Jim Maher <jdmaher@jdmaher.com> |
|---|---|
| Date | 2011-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]
| From | Phillip Gawlowski <cmdjackryan@googlemail.com> |
|---|---|
| Date | 2011-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]
| From | Adam Madrigal <ajmxt9@hotmail.com> |
|---|---|
| Date | 2011-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]
| From | Phillip Gawlowski <cmdjackryan@googlemail.com> |
|---|---|
| Date | 2011-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]
| From | Phillip Gawlowski <cmdjackryan@googlemail.com> |
|---|---|
| Date | 2011-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