http://qs321.pair.com?node_id=609706

Monks,

I love perl.

I really do.

But I feel I have to say something. I realise that as a new comer here and to the perl community in general my opinions are not worth much, however I beleive we are all mature enough here for a fair point to be taken regardless who is making it.

I had an idea, a whacky way to use XML, something that the existing sets of code are simply not designed for. I chose my favourite language to develop this idea in. But then I hit a brick wall.

The existance of all these wonderful modules of code, which make life so easy in perl seem to be stifling innovation and the acceptance of new ideas. Without new ideas there is only stagnation. Now it really doesnt matter if my idea is good or not, the simple fact of the matter was that the prevailing attitude I got was one of pomposity, "if it aint already in cpan its not good for anything" type of arguements.

Now I'm not having a go so don't take me wrong. All I'm saying is that there is always room for improvement, always room for a new idea to come out of the blue and shake the whole room up. We should gaurd against the feeling that what we have is already perfect, and embrace new and innovative ideas, for they are the source of the next generation of code, the next level which will simply not exist if the new people with new ideas are shunned because their ideas dont fit into pre-concieved models of how things should be done.

I'm sorry if that offends anyones sensibilites, but seriously, software never has and never will stand still. If you try to, you will soon become obsolete.

  • Comment on Innovation, the seed of a living language

Replies are listed 'Best First'.
Re: Innovation, the seed of a living lanugage
by Joost (Canon) on Apr 12, 2007 at 17:19 UTC
    Looking at your previous posts, I would suggest the reactions you got (i.e. "look at CPAN first") were based on:

    1. You seem to much underestimate some parts - parsing XML is not easy.

    2. You seem to be ignorant of the conventional standards for doing the not-directly-relevant stuff in your code - you should NOT parse CGI requests by hand, that's what CGI.pm is for - you should use strict and scope your variables accordingly.

    3. You posted a bunch of code without any questions attached, but hinted that people here would be able to do better. So you got general hints (like I'm doing now) instead of comments on the parts that you might find more interesting. i.e. try to make your intentions clearer, and the responses will probably be more to your liking. For one thing, if your aXML parser is so fantastic, explain WHY.

    Your badly formatted, globals-using, handmade-cgi-parsing, not easily comprehended code does not win people over by itself. If the idea is good, explain that. Plenty people here can help you fix up the code to be more robust, but they're not going to read all that stuff on the slim chance that they'll be able to completely comprehend it AND that you've got an insanely great idea. Again, explain what you're doing and why it's so good.

    4. Completely new ideas generally mean you'll have to do a lot of work yourself. I don't see why the fact that there already is a lot existing code is in itself obstructing. It just makes it more work relative to reusing existing software but then don't complain that other people get the job done faster and possibly more robustly using the "old fashioned" (i.e. well-known, well-used and thoroughly debugged) modules :-)

    A reply falls below the community's threshold of quality. You may see it by logging in.
Re: Innovation, the seed of a living lanugage
by philcrow (Priest) on Apr 12, 2007 at 17:11 UTC
    If you show up and say "Hey, I have an idea for a new XML parser. What do you think of it?" Most of us will say, "Well, there are plenty of existing CPAN modules. So, why don't you wedge your idea in there?"

    But, if you produce the clever code to fill a need not currently met, load it on CPAN, and meditate on the fabulous new way it works here and in other Perl places, people will thank you for your work. That's how XML::Twig came on the scene.

    We like new ideas. But, we are a skeptical bunch. We have often heard people say, "I have a truly novel idea," only to find out that it was highly similar to existing work.

    So, I say, "Try us." Write your module. Tell us how great it is. If it really works differently than the others, prepare to support a large number of users.

    Phil

    The Gantry Book is now available.
Re: Innovation, the seed of a living lanugage
by jdporter (Paladin) on Apr 12, 2007 at 18:57 UTC
    "if it aint already in cpan its not good for anything"

    Nobody said anything remotely resembling that.

    We should gaurd against the feeling that what we have is already perfect

    O.k..... But nobody ever suggested that any of the existing XML parsing modules are perfect.

    there is always room for improvement
    the next level which will simply not exist if the new people with new ideas are shunned because their ideas dont fit into pre-concieved models of how things should be done.*

    You're missing something fundamental. Improvement means building on the state of the art — or at least incorporating the "lessons learned" from all the prior art. You have done no such thing. You've completely ignored the prior art, and therefore, you are not offering an improvement. Your preaching, therefore, rings mighty hollow.

    You're also reading things into the reactions you've gotten from other monks which simply aren't there. No one has shunned you. And you are in no position to talk about what "pre-concieved models" others might have. All of the advice offered you was given in the best of faith (if not always the most congenial of language). Your arrogance and self-pity are not (favorably) impressing anyone.

    * I give you 20 crackpot points for this ludicrous statement, plus 28 others, for a total of 43.

    A word spoken in Mind will reach its own level, in the objective world, by its own weight
Re: Innovation, the seed of a living lanugage
by dragonchild (Archbishop) on Apr 12, 2007 at 22:02 UTC
    Excel::Template is a wacky way to use XML as a templating language. I just use XML::Parser to handle the XML->My Objects layer and write my stuff on top of it. So, E::T is a XML+datastruct->XLS transformer.

    In other words, marshalling XML is a solved problem. Don't reinvent that wheel. If you have a cool way to use XML, then build it. Or, publish an RFC here. You'll get a lot of great critique. Maybe, you'll even get someone who says "You know, that sounds very similar to ..." and now you can go ahead and contribute to an existing project. Maybe, just maybe, you might even get someone who says "Wow, that would solve a problem I have. Can I help you?"


    My criteria for good software:
    1. Does it work?
    2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
Re: Innovation, the seed of a living lanugage
by gloryhack (Deacon) on Apr 13, 2007 at 02:00 UTC
    The code you presented in another node is in no way innovative. Every function within your work has been far more expertly implemented by freely available modules that can be found on CPAN. Your work being so very far behind the current state of the art rules out anything that might be said about it being legitimately considered an attempt to stifle innovation.

    Because the "stifling innovation" argument is at best specious, and the rest of your argument rests solely upon it, you're just barking at the moon.

    It's ironic that you first announce yourself as a new member of our community, then proceed to denigrate the community as narrow minded, pompous, and dismissive of any ideas we didn't have ourselves. That's very poor form, friend, and you would do well to rethink your approach.

    We are all here to benefit from and perhaps provide some benefit to this community, and it is in the spirit of fellowship and goodwill that we participate here. Please try to keep this in mind as it will make your time spent here far more educational and enjoyable.

Re: Innovation, the seed of a living language
by varian (Chaplain) on Apr 13, 2007 at 08:43 UTC
    The existance of all these wonderful modules of code, which make life so easy in perl seem to be stifling innovation and the acceptance of new ideas.
    I have to strongly disagree with your statement!
    Rather than to reinvent the wheel it makes sense to build upon the achievements of other people so as to advance science, software, or what-have-you to even higher levels. If we hadn't built upon history's inventions then we would still live in the Stone Age.

    Perl modules is a splendid mechanism to capture those achievements in a flexible way so that everyone can contribute and benefit.

    If you feel that people stick to certain existing modules, well there's a good reason for it: they have been used and tested, enhanced, and therefore can provide a reliable basis to build from.

    If that doesn't work for you? Heh no problem, you always have the option to create a new stack of modules that suits your needs.

    Just don't blame Perl for innovation problems!

Re: Innovation, the seed of a living language
by phaylon (Curate) on Apr 13, 2007 at 17:03 UTC
    The existance of all these wonderful modules of code, which make life so easy in perl seem to be stifling innovation and the acceptance of new ideas. Without new ideas there is only stagnation. Now it really doesnt matter if my idea is good or not, the simple fact of the matter was that the prevailing attitude I got was one of pomposity, "if it aint already in cpan its not good for anything" type of arguements.

    I very, very disagree. My experience is even exactly the opposite. For example, when I released namespace-clean I got various comments. Besides those that told me that my code can't work, despite its working test-suite (which was a very amusing experience, and in no way insulting), most comments were constructive and technically. No one really said "You shouldn't release that. We don't need that." Also, there are many current developments in Perl. Moose, Catalyst, Plagger and others are only some examples. Heck, Catalyst even has projects that build upon its foundation itself!

    Now I'm not having a go so don't take me wrong. All I'm saying is that there is always room for improvement, always room for a new idea to come out of the blue and shake the whole room up.

    That happens pretty often in the Perl world. The Perl community itself didn't jump into existance last year. Perl 5 is over 10 years old. And the reason that Perl is always developing and constantly evolving is that the developers care to use the knowledge provided by the community, and the invented wheels and experiences on CPAN.

    I'm sorry if that offends anyones sensibilites, but seriously, software never has and never will stand still. If you try to, you will soon become obsolete.

    This has nothing to do with the issue. And besides, with all due respect, it rather seems that you are the one being offended, not us.


    Ordinary morality is for ordinary people. -- Aleister Crowley
Re: Innovation, the seed of a living language
by blazar (Canon) on Apr 13, 2007 at 14:20 UTC
    The existance of all these wonderful modules of code, which make life so easy in perl seem to be stifling innovation and the acceptance of new ideas.

    Really? How so? Is known Mathematics blocking the development of new mathematical ideas in any way?

    Without new ideas there is only stagnation.

    Indeed. Show us your new idea and convince people that it is a good one. Great ideas tend to convince people also if they have humble origins. BTW:

    I'm sorry if that offends anyones sensibilites, but seriously, software never has and never will stand still. If you try to, you will soon become obsolete.

    Not offended in any way. Just surprised, nearly shocked. I perfectly agree with these claim of yours. But I don't see how they could possibly relate to the availability of good modules from CPAN. In any way. (I would say, to some extent, that things are just the opposite: availability of pre-existing good code stimulates writing even better one.)

Re: Innovation, the seed of a living language
by ferreira (Chaplain) on Apr 13, 2007 at 19:20 UTC
    But then I hit a brick wall.

    You made up that brick wall. I also have code that I would like to release to CPAN: I just don't feel it is ready yet. It lacks features and I can't find the time to make them great. It is not of much help releasing an incomplete module: it may hurt its future life. I have code that I'm sure it will be very hard to find other users. And I have code I wrote because I was lazy to learn the way it is already done at CPAN, so I was not able to understand or extend it to my advantage. I have hit those brick walls sometimes, but I can't confuse myself by saying it came from outside and wish someone makes it disappear.

    If you have resources, writing code is good. Even if it leads you to a deeper comprehension of what it takes to work and that the CPAN available modules are way more generic and better than your first attempt. Maybe this preparation makes you ready to effectively contribute to the existing distributions or give you a strong foundation to start your own project.

    No one is going to bring down that brick wall but you. Start immediately.