Eating sandwiches in the park

Michael DeHaan wrote:

I am but a new convert here (coming from many languages, but loving
Perl most) ... so anyhow, first post for me.

One of the thing that draws me deeper into Ruby is the ability to
completely muck with the internals of the language, more so even than
Perl (where symbol table manipulation, for instance, was common). Rewriting builtins or other modules via included modules is more
automagical than what Java-fans would push on us with AOP (shudder) or
reflection. And it's totally transparent. Nice!

If this means we can have supernatural parks where sandwiches turn
into were-sheep, I'm all for it. Sometimes people want languages
that keep themselves from shooting themselves in the foot, and keep
poor programmers from doing damage. Ruby is not that language, and
that's why I like it.

(now if we could only get something as good as CPAN in the core...but
that's another story...)

There is a project that is CPAN-like, its called RPA. It ca be found at

http://rubyarchive.org/

The purpose is to offer high quality packages and provide excellent QA of ports. It takes the tiem off developers hands and puts it in others which are experts at packaging. You can also create your own packages and run the command with a web address. It'll automatically fetch and install the package. rpa-base does install ruby documentation, if any, to the ri document location. rpa-base can even build any modules that require non-ruby code to be compiled. Batsman(Mauricio Fernandez), is also on irc. If you have any questions, stop by and they will be answered.

irc:#rpa@irc.freenode.net

David Ross

I have heard this before, but I am not familiar with CPAN. What is so good
about it?

Thanks,
T.

···

On Friday 15 October 2004 09:59 am, Michael DeHaan wrote:

(now if we could only get something as good as CPAN in the core...but
that's another story...)

If this means we can have supernatural parks where sandwiches turn
into were-sheep, I'm all for it. Sometimes people want languages
that keep themselves from shooting themselves in the foot, and keep
poor programmers from doing damage. Ruby is not that language, and
that's why I like it.

I think Ruby does a very, very good job of making the good stuff easy
and the bad stuff (that's sometimes good in context) possible.

It manage to be very, very mutable while still keeping a lot of
structure. I love the combination, and I'm afraid of anything that
might endanger it. At present, Ruby is the best programming language
I've ever used, and fit almost all domains I touch. I've seen Ruby
being troublesome only for the following five domains:
- Speed critical code
- Systems code (kernel level code)
- Code that needs to run on systems Ruby isn't ported to
- Some code that does heavy integration of Unix commands (shell
scripts are presently better at some parts of that problem domain,
though I suspect a Ruby library could resolve that)
- Code that relies on libraries in legacy languages too much.

Code that is written in Ruby has a very clear "Ruby flavour", and
there is much less variation in style than there is in (for instance)
Perl code - because Ruby has already taken a lot of the fairly
irrelevant choices for the programmer. Shift arguments off @_ or
access $_[2] or use my ($arg1, $arg2) = @_? Not an issue - Ruby has
argument handling. Use a my $var = {} for easy refactoring or my %var
for shorter access? Not an issue - Ruby only do references. Etc.

I like this clear dominating flavour without losing flexibility
(because there is still more than one way to do it), and feel the
balance we have as precious. That's why I'm sceptical of changes that
"give the programmer more flexibility to rewrite the language".

(now if we could only get something as good as CPAN in the core...but
that's another story...)

I think we need something BETTER than CPAN for Ruby. I consider CPAN
to have serious issues with code maintenance, and have never really
been a fan of it (though I *do* like a number of aspects of it).

If you could list up the things you like about CPAN, let's see if we
can replicate them better (hopefully, they're already in the roadmap
for RPA, but if not, let's try to put them there :slight_smile:

Eivind.

···

On Fri, 15 Oct 2004 22:59:06 +0900, Michael DeHaan <michael.dehaan@gmail.com> wrote:
--
Hazzle free packages for Ruby?
RPA is available from http://www.rubyarchive.org/

I spent a bit of time trying to create a good but short example of truly
wack Ruby code. Given that you can override core classes and methods,
it is fairly easy to create code that bears only a superficial
resemblance to Ruby, requiring the user to think instead in a new,
Bizarro world mini-language. It requires nothing that doesn't already
exist in Ruby. Yet one does not often see this sort of code in the wild.

     You see it (at least I do) but you don't recognize it as "a new,
Bizarro world mini-language." Why? Because it's almost always done in
the context of some problem domain that already supports it (sometimes
with a history far predating ruby, or even computers). Thus anyone who
knows the language easily switches gears without even noticing.

Truth is, the cat's out of the bag, the genie is out of the bottle, and
the poop is out of the mouse. As new changes to the mallardability of
Ruby are suggested, the question is not whether we want people to be
able to do odd, weird, convoluted things; they already can. The
question is will the changes enable or encourage odd, weird, convoluted
things that are indeed appropriate for a given task.

     Exactly.

"Ruby: MPS-free for over 10 years!"

    *laugh/gack* Not another TLA!

        -- Markus

···

On Fri, 2004-10-15 at 08:27, James Britt wrote:

"When they see us coming, the coders all try and hide.
But they still go for coffee when mixed with some cyanide.
The sun's shining bright, everything seems alright
When we're poisoning programmers in the park."

Thank you, I'm here all week. Try the veal.

-- Brian Wisti

···

--- Hal Fulton <hal9000@hypermetrics.com> wrote:

And I in the meantime have Tom Lehrer's song running through my head,
or a variant of it: "Poisoning Programmers in the Park."

Same here with RubyGems (http://rubygems.rubyforge.org). We've never
set CPAN as a target. Nothing _against_ CPAN, but if you're starting
from scratch, you might as well set your sites higher.

Chad

···

On Fri, 15 Oct 2004 23:54:15 +0900, Eivind Eklund <eeklund@gmail.com> wrote:

On Fri, 15 Oct 2004 22:59:06 +0900, Michael DeHaan
> (now if we could only get something as good as CPAN in the core...but
> that's another story...)

I think we need something BETTER than CPAN for Ruby. I consider CPAN
to have serious issues with code maintenance, and have never really
been a fan of it (though I *do* like a number of aspects of it).

trans. (T. Onoma) wrote:

(now if we could only get something as good as CPAN in the core...but
that's another story...)

I have heard this before, but I am not familiar with CPAN. What is so good about it?

Thanks,
T.

CPAN - www.cpan.org
Comprehensive Perl Archive Network

it contains many modules that can be used in perl programs. Programs are also in CPAN. Though.. the modules are not maintained well and don't really have a sense of QA. Some of the libraries or programs don't make use of `use 5.8` so when I go run it on 5.6 it doesnt work, *yay*. Basically its a gigantic library full of perl software that are not maintained by any QA team, its maintained by the authors. So expect things to work.. and not work.. I hope RPA can cover some of the features that PAUSE explains in their webpages.

David Ross

···

On Friday 15 October 2004 09:59 am, Michael DeHaan wrote:

--
Hazzle free packages for Ruby?
RPA is available from http://www.rubyarchive.org/

Markus wrote:

I spent a bit of time trying to create a good but short example of truly wack Ruby code. Given that you can override core classes and methods, it is fairly easy to create code that bears only a superficial resemblance to Ruby, requiring the user to think instead in a new, Bizarro world mini-language. It requires nothing that doesn't already exist in Ruby. Yet one does not often see this sort of code in the wild.

     You see it (at least I do) but you don't recognize it as "a new,
Bizarro world mini-language." Why? Because it's almost always done in
the context of some problem domain that already supports it (sometimes
with a history far predating ruby, or even computers). Thus anyone who
knows the language easily switches gears without even noticing.

Good point. I have some Ruby code that does XML transformations sing the REXML pullparser. I started out mapping input elements and context to new elements and context using Ruby hashes and arrays, but decided to (ironically, I suppose) use YAML, because it made it a bit easier to see that a) this was not really meant to be code as such (though of course it was), and b) the syntax a bit cleaner for expressing the associations.

But there is likely an even more clear way to express the relationships, a transformation mini-language syntax, that would not be out of place in such a context.

From what I gather, no one thinks it worth the effort to devise a new and arbitrary way to express common structures and behavior, but that for the unusual case, unusual syntax works quite well because you may want to explicitly encourage a mental context switch, a visual cue that tells the reader, Look, this is code, but it's special-purpose code.

Truth is, the cat's out of the bag, the genie is out of the bottle, and the poop is out of the mouse. As new changes to the mallardability of Ruby are suggested, the question is not whether we want people to be able to do odd, weird, convoluted things; they already can. The question is will the changes enable or encourage odd, weird, convoluted things that are indeed appropriate for a given task.

     Exactly.

"Ruby: MPS-free for over 10 years!"

    *laugh/gack* Not another TLA!

Well, actually, it's YATLI (yet another three-letter initialism)

James

···

On Fri, 2004-10-15 at 08:27, James Britt wrote:

I'd love to try the veal if the source code is available (you see,
I've heard some unkind things alleged about the coffee...).

   -- Markus

···

On Fri, 2004-10-15 at 09:27, Brian Wisti wrote:

--- Hal Fulton <hal9000@hypermetrics.com> wrote:

> And I in the meantime have Tom Lehrer's song running through my head,
> or a variant of it: "Poisoning Programmers in the Park."
>
>

"When they see us coming, the coders all try and hide.
But they still go for coffee when mixed with some cyanide.
The sun's shining bright, everything seems alright
When we're poisoning programmers in the park."

Thank you, I'm here all week. Try the veal.

-- Brian Wisti

In article <20041015162730.25072.qmail@web53607.mail.yahoo.com>,

···

Brian Wisti <brianwisti@yahoo.com> wrote:

--- Hal Fulton <hal9000@hypermetrics.com> wrote:

And I in the meantime have Tom Lehrer's song running through my head,
or a variant of it: "Poisoning Programmers in the Park."

"When they see us coming, the coders all try and hide.
But they still go for coffee when mixed with some cyanide.
The sun's shining bright, everything seems alright
When we're poisoning programmers in the park."

Thank you, I'm here all week. Try the veal.

-- Brian Wisti

Now that US programmers are classified as an endangered species...
http://www.usatoday.com/tech/techinvestor/industry/2004-10-14-programming-jobs_x.htm

It would be illegal to poison us in parks :stuck_out_tongue_winking_eye:

Phil