Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

Welcome Will_the_Chill,

From my observations, Perl gets better with each new version, and if you use Perl's strengths, you can leave many 'off-the-shelf' 'C' programs in the dust.

But, I would love to see a Perl compiler, but not for speed or concealing the code from hackers, but for code security, revision control and simplicity of deployment. ( and probably a few more. )

Before Perl, I used 'C' and 'uxbasic', a 'compiler' that mimicked the Z80 based 'oasis/theos' basic from the '80s but could run on most AIX/Unix systems. It could be run from source (BASIC), from an interpreter compiled code (BASICOBJ), and from pseudo compiled code (BASICCOM). As a developer you tested with the first 2 modes and then shipped the final version as the pseudo compiled code (think bytecode). And guess what, if the run time version of 'uxbasic' was installed, the code you shipped worked.

Now I'm not comparing this '80s code to Perl, but that concept of distributing code would improve the user experience with Perl. Why?

Since the '80s, I have sold and supported software for companies, the majority of which have 10 to 100 employees. They also have 1 or more people who have used Perl to print "Hello World". Since I started shipping Perl modules, I've had some of the funniest (maybe tragic) updates to my software. For example:

  • One site removed the rounding on invoices to make it faster. Why? "...don't need it for 2 decimal places..." So after 400+ invoices are incorrect, the president calls and says '...your lousy software screwed up, everyone told me to go with a 'C' or 'VB' or ... solution... FIX IT"
  • One site changed one screen, and then removed 'use strict' so the code would compile.
  • Another changed the copyright notice, and it stopped working. The 'expert' couldn't find the problem, and wanted us to fix it.

If you work in an environment where you control everything, then you wouldn't understand the 'user' frustrations from 'brilliant' coders.

So why can't Perl have a '-Compile' like the '-cw' compiler flags that produces a bitecode that can be shipped and run. Every one knows that someone that wants to get the code can, but the casual 'expert' would be deterred by '...It looks like 'C' to me!'

Thank you

"Well done is better than well said." - Benjamin Franklin

In reply to Re: Perl 5 Optimizing Compiler by flexvault
in thread Perl 5 Optimizing Compiler by Will_the_Chill

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    [choroba]: Hasn't someone forgot to tell the weather about it?

    How do I use this? | Other CB clients
    Other Users?
    Others chilling in the Monastery: (5)
    As of 2018-03-21 08:08 GMT
    Find Nodes?
      Voting Booth?
      When I think of a mole I think of:

      Results (265 votes). Check out past polls.