From: Phillip Gawlowski Date: 2011-04-14T23:26:25+09:00 Subject: Re: Ruby for beginners (was: Re: Hello) On Thu, Apr 14, 2011 at 5:03 AM, Chad Perrin 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.