Wikipedia:Articles for deletion/Compiler metaprogramming example

 This page is an archive of the discussion about the proposed deletion of the article below. This page is no longer live. Further comments should be made on the article's talk page rather than here so that this page is preserved as an historic record. The result of the debate was userfy at the author's request, since the consensus is to delete. Deathphoenix 21:13, 18 Mar 2005 (UTC)

Page is now at User:Kim Bruning/Compiler metaprogramming example.

Compiler metaprogramming example
Uninformative, mostly a useless assembly listing, and not generally considered metaprogramming -- it would only be metaprogramming in the loosest possible sense of the word. The way a compiler works is described elsewhere, making this article entirely redundant. This might be useful if it actually described how this is metaprogramming (which it isn't), which it doesn't. Delete. - furrykef (Talk at me) 23:05, 3 Mar 2005 (UTC)
 * What's there is just a run-of-the-mill program. Unless someone replaces it with a real example of compiler metaprogramming, delete. Josh Cherry 00:17, 4 Mar 2005 (UTC)
 * That's not even a large amount of assembly code. Delete. Radiant! 09:48, Mar 4, 2005 (UTC)
 * Delete. This article references itself as an example for metaprogramming, but I think the small example given in that article is good enough. There's no need for this one. --Deathphoenix 06:51, 8 Mar 2005 (UTC)
 * Delete. Possible redirect to discourage recreation - David Gerard 17:22, 8 Mar 2005 (UTC)


 * Keep, and take discussion to Talk:Compiler_metaprogramming_example. Heh, this is the canonical example of a page being deleted while the author is on wikivacation ;-). Furrykef rightly challenged this page on talk, but I wasn't around to contradict his particular pov, which I naturally disagree with 100%. Sorry about that, hopefully it's not too late to hold that discussion now. Kim Bruning 20:08, 8 Mar 2005 (UTC)
 * Whether or not you were on wikivacation is irrelevant. ;) After all, pages on Wikipedia, or any "true" wiki, don't really have "authors" as such. My original comment had been on that talk page for a long time (the timestamp says 16 Aug 2004), and had been unanswered until now. Anyway, I think discussion belongs here rather than on the talk page for now, so that it's all in one place. After all, if the page is retained, the talk page will still have a link to this one. - furrykef (Talk at me) 04:51, 9 Mar 2005 (UTC)
 * An article doesn't have an "owner" that's true, but articles officially do have authors (if only because that's defined by copyright law and also by the GFDL). By author here I just mean someone who's keeping an eye on the article and willing to work on it if something needs doing.
 * As to not taking this to talk: are you saying you want to run a (possibly lengthy) technical discussion on vfd? Ok, we can do that, but wouldn't that make the job of the VFD maintainers really hard? Kim Bruning 12:47, 9 Mar 2005 (UTC)

Comment: I've reverted metaprogramming (programming) to the version before furrykef's edits, to avoid distortion of this discussion.
 * I disagree that it's distortion, though perhaps you're right that I should have held off until the page was deleted (sorry to say it, but I'm pretty confident it will be). I still think most programmers will disagree with the statement that the compiler is a metaprogramming tool, which is a strong argument both for the deletion of this page and for rewording the metaprogramming page. I can understand where you're coming from, and I agree that a compiler is a metaprogramming tool in a loose sense. But your POV and my POV don't really matter for something like this. (And forget about NPOV... it'd be useless for the articles to be riddled with "Some people think this and other people think that and some people think this article shouldn't exist at all anyway.") - furrykef (Talk at me) 04:51, 9 Mar 2005 (UTC)
 * I basically second that. A C++ compiler can be used to do template metaprogramming, but that's not what this "example" is. Josh Cherry 05:19, 9 Mar 2005 (UTC)
 * I can understand your sentiment, but do recall that NPOV itself is a non-negotiable policy. As far as I can tell, this is definately metaprogramming from the point of view of an assembly programmer. However I'd be willing to change my mind, if it turns out that the definition given by metaprogramming_(programming) is wrong or lacking. In any case, IMHO this is not a job for VFD, but rather for cleanup. (which I admit might be needed) Kim Bruning 09:32, 9 Mar 2005 (UTC)
 * OK, the whole POV issue aside, which upon reflection probably indeed does not belong here in VfD, the only use of this page, which is admitted within the page itself, is to isolate a really long assembly listing. I would think that including only a few sample lines and noting that the entire file is over 200 lines long is sufficient, which, if this can be agreed upon, removes any argument for the isolation of that content, and therefore removes any argument for the existence of this page, which is why it's listed on VfD rather than being discussed through talk pages. (Sorry for not being entirely clear on that.) - furrykef (Talk at me) 17:02, 9 Mar 2005 (UTC)
 * Originally I'd wanted to make the example an exact parrallel of the bash code on Metaprogramming (programming), which would have gone a long way towards what you might have preferred to see. Unfortunately, my version of gcc was ignoring the "optimisation" flags I'd set to get somewhere near to that result. I talked it through with one of the gcc crew and it turns out that this is in fact deliberate, and is actually normally a useful feature. (Except for me that is, Hmph! )
 * If we could find a better way to generate a (shorter!) example, then I'd have no trouble at all with merging that with the main article. :-)
 * Kim Bruning 18:51, 9 Mar 2005 (UTC)


 * Delete. Pointless. Merely mention of a disassembly flag on a compiler should be enough. Dysprosia 05:26, 9 Mar 2005 (UTC)
 * Hmm, could have done that, but when I read about things I'm always insanely curious as to what an example might look like. So I was shamelessly catering to "people like me" ;-). If you could somehow provide a shorter example, perhaps we could merge that into the metaprogramming article, if that's your preference. Kim Bruning 09:32, 9 Mar 2005 (UTC)
 * But what the page describes isn't really metaprogramming. Metaprogramming is really writing a program that writes code, not using the compiler to generate code. Dysprosia 21:21, 9 Mar 2005 (UTC)
 * Consider for a moment, what's a compiler? Right, it's a program. So what you're saying ("metaprogramming is really writing a program that writes/generates code, not writing a program that writes/generates code") doesn't make sense at all. Did you mean something else but make a thinko while typing? Kim Bruning
 * No, I don't believe I did make a typo, and you did not copy what I had wrote verbatim. I shall clarify. Metaprogramming, as far as I can see, is writing a program whose intended output is code, not using a compiler that generates code. A program that prints "hello" and is compiled is not metaprogramming, but a program that prints "int main(void) {printf("hello") return 0;}" is. Dysprosia 05:40, 10 Mar 2005 (UTC)
 * Ok, gotcha, not a thinko. Did you realize that a 4GL compiler is defined as a program that does exactly that? Kim Bruning 08:07, 10 Mar 2005 (UTC)
 * You're still missing the point. You don't write the compiler, you merely execute it. Executing programs is not programming. Writing programs is. Dysprosia 08:28, 10 Mar 2005 (UTC)
 * For starters, you're only assuming I didn't write the compiler. Kim Bruning 15:06, 10 Mar 2005 (UTC)
 * Yeah, and generally the person who uses a compiler is somebody other than the one who wrote it. :) Isn't the bullet nesting level here enough, by the way? - furrykef (Talk at me) 20:07, 10 Mar 2005 (UTC)
 * I recall having seen examples of code where yacc (/bison) is used, and the resulting compiler is immediately applied by the same program/package. So I'll grant it's uncommon, but it's certainly not unheard of. (ps. You can't say I didn't warn you about this page getting messy! ;) ) Kim Bruning 21:03, 10 Mar 2005 (UTC)
 * Perhaps then that isn't really metaprogramming then. To class what is and what isn't metaprogramming we need a firm definition: see my comment below. Dysprosia 22:08, 10 Mar 2005 (UTC)
 * I think Kim and I have established that the definition of metaprogramming doesn't really belong in a VfD debate. I think even if this is metaprogramming, this page isn't useful at all and cannot really hope to be improved. - furrykef (Talk at me) 20:07, 10 Mar 2005 (UTC)
 * I think that the outcome here will depend on the definition of Metaprogramming (programming), because the 2 pages are related. I'd be convinced one way or the other, depending on whether there is evidence showing that the definition is flawed. Kim Bruning 21:03, 10 Mar 2005 (UTC)
 * This is really a pick-one-definition-and-stick-to-it sort of discussion. The problem is we should use whatever preexisting definition out there, when there may in fact be none. The issue with using a definition that includes compilation to machine code as metaprogramming means that all programming is essentially metaprogramming, and that essentially sullies the word because then it has no real meaning. Dysprosia 22:08, 10 Mar 2005 (UTC)
 * Perhaps it's better to say that much modern day programming depends on metaprogramming at some point or other. You're not nescesarily doing it yourself. Kim Bruning 23:13, 10 Mar 2005 (UTC)
 * With the definition of metaprogramming extending to compilers, all programming is metaprogramming. The term "metaprogramming" then becomes meaningless. Dysprosia 04:13, 11 Mar 2005 (UTC)
 * I think we're likely in violent agreement. Would you agree that the compiler writers themselves are actually doing metaprogramming? Kim Bruning 08:12, 11 Mar 2005 (UTC)
 * Well, I don't necessarily agree that "all programming is metaprogramming", if that's what you mean ;) I wouldn't agree that compiler writers are doing metaprogramming, for a few reasons, unless they are using the compiler to write compiler code. I think I've seen enough however to propose a definition, I shall do so on Talk:Metaprogramming (programming). Dysprosia 09:22, 11 Mar 2005 (UTC)


 * Delete. I fully agree with Furrykef.  (Anonymous Wikipedia browser.)
 * If I'm not mistaken, anonymous votes don't count, even when they agree with my POV. ;) - furrykef (Talk at me) 20:00, 10 Mar 2005 (UTC)

conclusion
Given that all participants in this vote have now indeed moved to talk:Metaprogramming, and that the likely outcome is going to be fix, merge and redirect (I'm speaking slightly out of place here, I think people will agree to doing that on the long run?), which doesn't require admin intervention, could we agree to declare this vfd closed, with consensus being to do a (somewhat) complex merge, which will be done by the people here? (By which I take it to mean probably me in particular, I did it, so I'd best help out and fix it *sigh*.) Kim Bruning 17:43, 13 Mar 2005 (UTC)
 * That's not how I see it. I see six votes to delete and one to keep, and none of the discussion suggests that any of those votes would change. Josh Cherry 18:16, 13 Mar 2005 (UTC)
 * You'll notice that the discussion here is on POV issues. VFD was not and is not intended to allow POV in through the back door (Foundation Issues > all other concerns). Suggest we first sort out what the NPOV is in this case. We can always come back to VFD at a later date. Kim Bruning 22:13, 13 Mar 2005 (UTC)
 * You'll notice that my vote stands all POV issues aside, and I suspect that will be the case with the other votes. - furrykef (Talk at me) 22:34, 13 Mar 2005 (UTC)
 * Oh bother, I was seeking consensus, and apparently I haven't done it properly enough. Could you (re)clarify your current motivation to want to do a straight delete? Kim Bruning
 * Seeking consensus is good. I wouldn't say you didn't do it properly.  I think you just misjudged what the consensus was, or was likely to be. Josh Cherry 00:34, 14 Mar 2005 (UTC)

If consensus remains to delete, please Userfy (move to my user: namespace), since there's still some useful data on that page and on the talk page, which I might be able to (re)use at some point. Thanks! :-) Kim Bruning 16:28, 14 Mar 2005 (UTC)

This page is now preserved as an archive of the debate and, like some other VfD subpages, is no longer 'live'. Subsequent comments on the issue, the deletion, or the decision-making process should be placed on the relevant 'live' pages. Please do not edit this page.