[#395238] rubygem: ispunity (unite all your internet connections) — Arun Tomar <tomar.arun@...>

Dear friends,

12 messages 2012/05/01

[#395250] Overwriting one Ruby array or arrays with another — Craig Law <lists@...>

Hi

14 messages 2012/05/02

[#395258] array of strings - finding letter combinations — "Sebastjan H." <lists@...>

Hi All,

16 messages 2012/05/02

[#395357] Why Enumerator#next does not return more than one value? — Földes László <lists@...>

If I have an Enumerator which yields elements of a mathematical series

10 messages 2012/05/07

[#395373] How to use Data_Wrap_Struct to assign the DATA VALUE to an exsiting Ruby object? — Iñaki Baz Castillo <ibc@...>

Hi, my code receives an arbitrary klass name (provided by the user)

8 messages 2012/05/07

[#395429] passing via instance variable or regular () — sam jam <lists@...>

def first

10 messages 2012/05/10

[#395463] I'm looking for a Metaprogramming Project — Phil Stone <lists@...>

Hello,

19 messages 2012/05/11

[#395548] A million reasons why Encoding was a mistake — Marc Heiler <lists@...>

Newcomer wants to try Ruby.

15 messages 2012/05/15
[#395561] Re: A million reasons why Encoding was a mistake — Ryan Davis <ryand-ruby@...> 2012/05/15

[#395595] Re: A million reasons why Encoding was a mistake — Brian Candler <lists@...> 2012/05/16

I will add that the OP is not entirely alone in his opinion.

[#395551] How to ensure that a block runs entirely after other threads? (Thread.exclusive does not "work") — Iñaki Baz Castillo <ibc@...>

Hi, I expected that in the following example code, thread t1 would not

8 messages 2012/05/15

[#395575] GUI with ruby on windows — David Acosta <lists@...>

hello friends, i am a begginer and i have a litlle question, how can i

17 messages 2012/05/16

[#395604] what is going wrong here? — roob noob <lists@...>

Notice the initialization of both classes in each of the examples, if

20 messages 2012/05/16

[#395646] rb_gc_register_address() or rb_gc_mark()? — Iñaki Baz Castillo <ibc@...>

Hi, I've bad experiences with rb_gc_register_address(), it does never

16 messages 2012/05/17

[#395686] reading from and writing to a Unicode encoded file — "Sebastjan H." <lists@...>

Hi,

19 messages 2012/05/18
[#395694] Re: reading from and writing to a Unicode encoded file — Regis d'Aubarede <lists@...> 2012/05/18

Hello,

[#395697] Re: reading from and writing to a Unicode encoded file — "Sebastjan H." <lists@...> 2012/05/18

Regis d'Aubarede wrote in post #1061272:

[#395698] Re: reading from and writing to a Unicode encoded file — Regis d'Aubarede <lists@...> 2012/05/18

Sebastjan H. wrote in post #1061276:

[#395699] Re: reading from and writing to a Unicode encoded file — "Sebastjan H." <lists@...> 2012/05/18

Regis d'Aubarede wrote in post #1061277:

[#395750] Re: reading from and writing to a Unicode encoded file - issues when using Shoes — "Sebastjan H." <lists@...> 2012/05/21

Hi,

[#395754] Re: reading from and writing to a Unicode encoded file - issues when using Shoes — "Sebastjan H." <lists@...> 2012/05/21

Sebastjan H. wrote in post #1061483:

[#395740] ? Ruby through CGI and Rails — Shaun Lloyd <list@...>

Hi everybody,

22 messages 2012/05/21
[#395764] Re: Ruby through CGI and Rails — Brian Candler <lists@...> 2012/05/21

Shaun Lloyd wrote in post #1061455:

[#395786] Re: Ruby through CGI and Rails — Shaun Lloyd <list@...> 2012/05/22

On 22/05/12 03:37, Brian Candler wrote:

[#395838] Re: Ruby through CGI and Rails — Brian Candler <lists@...> 2012/05/23

Shaun Lloyd wrote in post #1061602:

[#395787] Changing self class from inside a method?? — David Madison <lists@...>

Let's start off with the assumption I want a method that allows an

10 messages 2012/05/22

[#395841] Memory-efficient set of Fixnums — George Dupre <lists@...>

Hi,

25 messages 2012/05/23

[#395883] looking for a ruby idiom : r=foo; return r if r — botp <botpena@...>

Hi All,

11 messages 2012/05/24

[#395966] Am I justified to use a global variable if it must be used in all scopes? — Phil Stone <lists@...>

Hello,

12 messages 2012/05/27

[#396010] does this leak more than the size of the string via timing side channels — rooby shoez <lists@...>

string1 = "string"

16 messages 2012/05/29

[#396038] Is it possible to avoid longjmp in exceptions, Thread#kill, exit(), signals? — Iñaki Baz Castillo <ibc@...>

Hi, my Ruby C extension runs a C loop (libuv) without GVL. At some

8 messages 2012/05/29

Re: I'm looking for a Metaprogramming Project

From: Josh Cheek <josh.cheek@...>
Date: 2012-05-14 17:46:05 UTC
List: ruby-talk #395525
On Mon, May 14, 2012 at 12:17 PM, Marc Heiler <lists@ruby-forum.com> wrote:

> > What should I make to show off metaprogramming?
>
> The first thing is to laugh into the face of anyone who is
> "metaprogramming".
>
> Metaprogramming is a fashion run that is hopefully soon dying out.
>
> It is synonymous to admit that whoever is using "meta" to solve
> any given problem in Ruby there is:
>
> (a) no better solution (which would be sad, ruby is such a great
> language)
> (b) an ego boost to show off how to solve problems in convoluted and
> ugly ways
> (c) the bane of KEEPING THINGS SIMPLE, in an ever rising complexity for
> marginal gains
>
> I don't say that "metaprogramming" has no valid use cases. For example,
> I tend to use a config object for my projects, which allows one to call
> any method on it, and that object tries to make sense of it when
> possible.
>
> But that is really nothing "meta" I can see here.
>
> Meta is the new Agile - buzzwords with no values that will die soon.
>
> --
> Posted via http://www.ruby-forum.com/.
>
>
Honestly, metaprogramming is just programming. It's consistent with what
you do everywhere else in Ruby. The real metaprogramming is anything that
involves a keyword. When you think about what that stuff does, it's really
crazy. But since we're accustomed to it, we don't notice so much.

I don't think metaprogramming adds that much overhead. Things like
method_missing and const_missing are the ones that add actual overhead for
me, because they're invisible when reflecting on the object. But defining
methods doesn't seem crazy to me. The struct example I provided doesn't
seem complex, you're just asking for a class with a specific set of
methods, and a known initializer and set of behaviours.

class_eval and instance_eval can also add complexity as things that seem
like benign refactorings can break due to unexpected method lookups.

Honestly, using modules to create large inheritance structures seems much
more problematic to me. When the entire world is loaded into your
environment, you can't think about one thing without thinking about
everything. The overhead associated with this is tremendous, and for me
greatly exceeds any pain I've felt from dynamically adding / responding to
methods.

-Josh

In This Thread