Just A Summary

Piers Cawley Practices Punditry

Metaprogramming == Programming 14

Posted by Piers Cawley Sun, 20 May 2007 16:21:00 GMT

While I’m tilting a windmills, I should just like to tell all those people who bang on about ‘metaprogramming’.

It’s all just programming.

That is all.

Comments

Leave a response

  1. Avatar
    Ben Atkin about 1 hour later:

    Very good point. I don’t have much to add to it, but I think you’re right on the mark with this one!

    I’m not impressed when I hear the word metaprogramming, since sometimes what people are doing when they talk of metaprogramming is pure genius, while other times all they’re doing is breaking rules for no good reason.

  2. Avatar
    Sam Aaron about 19 hours later:

    Of course it’s ‘just programming’. Just how French and German are ‘just languages’. However, I believe that it serves a purpose for describing a particular style of programming that maybe obvious to a lisp programmer, but not so obvious to a java programmer.

    And anyway, I like having lots of different words for things; I’m glad 1984 hasn’t happened yet, and that there aren’t people going about the place deleting words…

    [edited to say what Sam meant]

  3. Avatar
    Piers Cawley about 20 hours later:

    But I contend that it’s far more important to realise that ‘meta’ programming and programming are the same thing than it is to set up false dichotomies.

  4. Avatar
    George Sudarkoff 1 day later:

    Yeah, but what’s your point?

  5. Avatar
    Piers Cawley 1 day later:

    I think the second paragraph pretty much sums it up.

  6. Avatar
    btscl 18 days later:

    The dictionary definition of the prefix meta is as follows: A prefix meaning one level of description higher. If X is some concept then meta-X is data about, or processes operating on, X.

    Thus, whether you like the use or not meta-programming is valid terminology, just as an XML Schema could be defined as a meta-language.

    Regards

    Carl

  7. Avatar
    Piers Cawley 19 days later:

    And what does that have to do with anything. The mental tools you bring to bear on the problems are metaprogramming are the same as those you use for any other kind of programming.

    Sure, you can call it metaprogramming if it makes you happy, but all you’ll be doing is programming, just at a different level of abstraction.

  8. Avatar
    btscl 20 days later:

    You could say that classical music is “just music” but we use language to add these different levels of abstraction to enable a better understanding of the underlying concept; yes meta-programming is just programming just as Jazz is just music and object oriented programming is just programming but sub-categorising different concepts allows us to expose and identify the intricacies of the subject more readily.

    Regards

    Carl

  9. Avatar
    Piers Cawley 20 days later:

    Classical music isn’t just music; it’s a debased and straitjacketed bastard stepchild of a long traditional of improvisatory music. What is now called ‘classical music’ has far more in common with soylent green than it does with anything that I would care to call music.

    But that’s a rant for another day I think.

  10. Avatar
    giles bowkett 24 days later:
  11. Avatar
    Carl 25 days later:

    I am not quite sure that Bach or Brahms would agree; classical music is, without a doubt, one of the most intricate styles of music, unsurpassed in emotion and beauty. As for the genre being a “bastard stepchild” of improvisation I think it would be fair to say that you are way off mark.

    Regards

    Carl

  12. Avatar
    Piers Cawley 26 days later:

    Sorry, it was a throwaway comment, I should have made clear that I was talking about the modern idea of classical music, which is the inheritor of a long and fabulous tradition of improvisational music.

    Only a fool would deny the improvisational genius of the likes of Bach or Mozart for instance. But that improvisational strand seems to have been knocked out of classical music at around the time of the invention of the symphony which demands that the individual musicians in an orchestra subsume their own creative impulses and just play the dots. Nowadays it’s a rare classical musician who can improvise with any confidence, and the ones who can tend to get called composers.

    As for classical music being “without a doubt, unsurpassed in emotion and beauty”. How do you know? Seriously? I’m sure that for you this may be true, and if so you have my deepest sympathy. But objectively? Utter rot.

    For me, it doesn’t really make sense to talk about music in such an abstract level that you can talk about a particular piece of music (let alone type of music) being particularly emotional or beautiful because every experience of that piece – heard from a CD for the 46th time the night you met your wife; that time you were there when the piece was premiered; the gig in the back room of a pub on the 40th night of the tour when the band started to really know a particular song and it all just came together – is unique and comes with its own baggage. It’s not the music alone but the sum total of what we bring to it in combination with the performance that count.

    For me, there can probably never be a more emotional or beautiful piece of music than my wife singing Braw Sailing. Somehow I doubt that would have the same resonance for you.

  13. Avatar
    Piers Cawley 26 days later:

    Gill, who learned yesterday that she’s got a first in Folk and Traditional music from Newcastle University, has asked me to point out that I’m not just praising her singing of Braw Sailing for sentimental reasons. She’s also a bloody good singer.

  14. Avatar
    Jared Nuzzolillo about 1 month later:

    Metaprogramming is a useful term insofar as it encourages programmers who are trapped thinking at a low level of abstraction to consider coding at a higher level of abstraction.

    It’s also useful in the same way that the phrase “using reflection” is useful. Sure, it’s just programming, but it refers to a general pattern or style of programming.

    If, instead, you’re annoyed with the use of ‘metaprogramming’ as in, “if you don’t employ metaprogramming, you’re a lame programmer”, I think everyone would agree with you.

Comments



Just A Summary