Beefy Boxes and Bandwidth Generously Provided by pair Networks DiBona
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Pulling Fingers

by Your Mother (Canon)
on Jul 12, 2011 at 05:56 UTC ( #913850=note: print w/ replies, xml ) Need Help??


in reply to Pulling Punches

lc("PHP IS KICKING PERL'S ASS.")

Some stats from indeed.com.

php programmer: $37,000
php developer: $56,000
perl developer: $74,000

Percentage of matching job postings–

PHP: < 0.9% and rising
Perl: > 1.1% and rising

lc("BUT PHP SUCKS.")

PHP is a perfectly reasonable language, is extremely facile with web work, and, like any other language, is as good as the hacker slinging it. You think wiki(pedia|media) just pulled itself out the great goatse?

lc("PERL NEEDS TO ADAPT AND EVOLVE OR ITS GOING TO DIE.") =~ s/ITS/it’s/i

Perl 5 releases are more frequent and more forward thinking than ever. Perl 6 is also on a steady release cycle. PHP won the low-rent web war, in part, admitting your only point, due to reticence in the Perl community to embrace the messy end of the WWW. Java, Ruby, Flash/Flex/AIR, and Python are more directly in competition with Perl for the mid–upper range web. Plack and Mojo and Dancer and others are opening the way back to the low-rent, one-off, quick-fix web again.

lc("PERL IS FAST GOING THE WAY OF COBOL.")

I'll enjoy the guaranteed annual salary increase then.

lc("I'M NOT HERE TO LEARN YOUR WAYS")

RLY!? UR DOIN IT RONG.

lc("MY PARADIGM IS BETTER THAN PHP")

And you’ll certainly make a million on it. Think of the embarrassment and humiliation we’ll all suffer watching you with envy in our bitter, cynical, unhelpful hearts.

lc("F*** PHP")

Study PHP. The community gets much right in many ways.

lc("ON THE OTHER HAND I CAN'T BE BOTHERED.")

In spite of the snark in my earlier reply I was giving a real answer meant to help even if the hand was a bit rough. You sound exactly like any dev reinventing templating for the first time. I’d wager 90% of the regular monks here have done a templating engine at least once and a lot of us have had to deal with some half-assed, quasi-XML, demi-perl, home-brew, file-based, legacy application code, or similar Java, and harbor the hurt to the day.

You’ve described a system that can’t be stream parsed, can’t be readily consumed by available tools, has an inflexible file-only input system, will require running eval on raw Perl, seems to have arbitrary grammar coupled with a highly limited priority system which will always be expensive to parse, and brings nothing new to the game that couldn’t easily be done in TT or Mason or the Alloy family or… And they all have documents, community, examples, tests, profiling, and a really noticeable lack of ego about how effing Earth shattering their approach to solving this well-trod problem space is.

If you would slow down and read some of the constructive, friendly replies you’ve got in the past on this topic instead of charging in here swinging a bag of insults on a stick, alternately swearing you’re done with us because we’re too dim to see your masterful insights that solve all web dev problems with perfect grace and asking for help with code you believe to be too awful to post.

The simple rules–

  1. You do not talk about PerlMonks like it’s a code service.
  2. You do not talk about PerlMonks like it’s a code service that can be badgered, bullied, or emotionally extorted into building your spec.
  3. If someone says “troll,” invokes Godwin, or demands to have his account closed, the thread is over.
  4. Only two Monks to a fight.
  5. One thread at a time, fellas.
  6. Posts show your code. Show what your actually ran, the errors you got, and the output you expected.
  7. Threads will go on as long as long as two senior monks refuse to give in… …uh, how did that get in here?
  8. Final rule: if this is your first post at PerlMonks, someone has to explain to you that it’s Perl not PERL.

lc("YOU CAN DO WHATEVER YOU WANT WITH IT")

Round-filed!

IT WILL BE INTERESTING TO SEE IF ANY OF YOU ARE CODER ENOUGH TO WRITE AN IMPLEMENTATION OF THOSE RULES WHICH IS MORE EFFICIENT THAN MINE.

It will be uninteresting to see the follow-up post. But it might be fun to write another reply.

Update: s/// bugfix from Tux++.


Comment on Re: Pulling Fingers
Select or Download Code
Re^2: Pulling Punches
by simonodell (Acolyte) on Jul 12, 2011 at 12:23 UTC
    >You’ve described a system that can’t be stream parsed,

    Yes it can, your just not smart enough to figure out how! having said that, stream parsing is a lame way of dealing with it.

    >can’t be readily consumed by available tools,

    Sure it can, but there is no need for that.

    >has an inflexible file-only input system,

    LOL.. you can store the data anyway you want, I was specifying a ruleset, not a framework!

    >will require running eval on raw Perl,

    You might think that, but you would be wrong... Again! I'm guessing you haven't read Higher Order Perl by Mark Jason Dominus then?

    >seems to have arbitrary grammar

    Oh so arbitary, horror of horrors it adds just 2 extra characters to the existing standard. PHP has <?, TT has [% how arbitary is that?

    >coupled with a highly limited priority system

    ROFL!!! Highly limited is a description of your imagination, not the system I proposed.

    >which will always be expensive to parse,

    Are you rabid about parsing or something? Parsing is always expensive no matter what, and besides its very old fashioned, insert COBOL joke here.

    >and brings nothing new to the game

    That's what you think, my dear little living the past perl monk.

    >that couldn’t easily be done in TT or Mason or the Alloy family or…

    It cannot be done in those or any other package I have found hence the reason I don't just use those packages... DUH!!!

    >And they all have documents, community, examples, tests, profiling,

    All of which takes time and effort I really can't be bothered to make. I have better things to do than to spoon feed you.

    >and a really noticeable lack of ego about how effing Earth >shattering their approach to solving this well-trod problem >space is.

    Cause and effect, showing humility here and lack of ego gets one response, going at it like a bull in a china shop gets an altogether more interesting (and useful) response.
      > And they all have documents, community, examples, tests, profiling,

      All of which takes time and effort I really can't be bothered to make. I have better things to do than to spoon feed you.

      This has nothing to do with spoonfeeding. Documentation (and exambles) offer a way to make the (end-)user understand what the module has to offer. If an example is clear and understandable, the possible (new) end-user can take a (quick) decision on the usefulness of the module and if it is going to help solving his/her problem.

      The better your examples are, the less errors the user will make, and the less bug reports you get.

      From your tone, also in other posts, I however think that you are not interested in bug reports, as your code - d'uh! of course - is without errors and self-explaining. So it doesn't need examples or documentation, as it will solve the problem on it's own. By pure magic. This is what the world was really waiting for.

      > and a really noticeable lack of ego about how effing Earth shattering their approach to solving this well-trod problem space is.

      Cause and effect, showing humility here and lack of ego gets one response, going at it like a bull in a china shop gets an altogether more interesting (and useful) response.

      That attitude might be what is causing your feelings here. The average monk here thinks that he/she can learn even from the most stupid post or question. By giving an explaining answer, it quite often happens that the poster gets a moment of WOW! which is most likely one of the reasons they post here.

      I came here years ago after taking ownership of an abandoned module, just to seek opinions of what other people thought that had to be improved or fixed. Meanwhile I learned that there is much more here that is worth learning about, even if I thought that I already knew all about that.

      Questions here make me sometimes re-read my own documentation to see where I was unclear. Sometimes that causes the docs to improve, sometimes I just have to tell the other person to re-read that part of the docs. Eventually examples and docs together make perfect sense.


      Enjoy, Have FUN! H.Merijn
        "I came here years ago"

        So did I, infact I think I first started trying to explain what I was upto way back in 2007. Since then I have made huge advancements in the efficiency of my own private implementation of the system, and in all that time I have yet to find any problem which has no elegant solution using the simple rules.

        I don't know how many times I have to say it before it sinks in, but I will try once again;

        I'm not trying to plug a framework, or a proprietary language, or a module. I am talking about another level of abstraction above the code which is unprecedented in all of existing modules and systems I have looked into. Having worked for years on it, and having deployed many sites using it, I absolutely REFUSE to use anything less.

        I'm sharing a quantum leap forwards and I get attitude from dimwitted backwards looking low brow coders who don't get it and would rather bitch and moan about my attitude.

        I'M THE ONE IN THE RIGHT... PERIOD.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://913850]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (4)
As of 2014-04-20 09:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (485 votes), past polls