Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
One thing that always puzzled me on this code-hiding issue is...why bother? Not just from an open-source-is-good-for-progress point of view (although I'm a big subscriber to that too), but from the frustration that people regard source code as a 'product'. A program is much more than its source code; the product is the whole deal - manual, support, logo, pretty box, marketing concepts etc. The code is just *their* programmers' particular implementation of a bunch of solutions to the tasks proposed by the design spec.

I would suggest that > 90% of all the code ever written is single-use applications running on a single machine, designed to do a specific task for a specific company. If it was a different task, company, or even machine, it'd be written again. And again. And again. And that's the point. Programming is about programmers, not code. If asked to write some code that duplicated/improved some existing program, how many of us would ever bother to take a glance at how the internals worked? You may look at / attempt to copy other aspects - the user interface etc., but when it actually comes down to writing the thing, you start a New File and you write your own version. Sure - there may be sticky problems to overcome, but it's *highly* unlikely that the existing program is the only code out there that addresses the issue - true this-is-so-innovative-and-radical-it's-worth-hiding stuff is very rare, and generally patented so you couldn't "steal" it anyway.

When it comes down to it, it's about ignorance and ego. PHBs and marketing people find it had to understand unless presented with a suitable analogy - I generally use the car industry when I can (and it's amazing how far you can stretch it...). You can open the hood of your BMW and look around as much as you like. "Yup" you say..."it's an engine". If you know about engines, you can point out the bits to your friends - "Look - see how beautifully engineered that crankshaft is". You can, if you have the right tools and training, have a tinker about yourself - fix things, change things around...and if you were completely tooled up, you could even build one yourself. But you wouldn't. If you wanted a BMW, it'd be cheaper and easier to buy one. If you wanted something *better* on the other hand, and were capable of doing so,you'd already be one the same level as the Bavarian design team, and would know just as well as they do the problems you would encounter and how you'd solve them - before you even started cutting out any steel.

Ego comes into play when you really really believe that the kit-car you knocked up in the garage is going to be a serious contender in the car world...and your engine design is soooo innovative and clever that you're going to weld that hood down *tight*..."If you want to put water and oil in it - you come to *me*!".

I tend to treat source code as disposable - if bits of it are useful, they'll end up in a library somewhere - but a lot of that stuff is already in libraries, and most likely that's how I put the program together in the first place, because I was hired to solve a *real-world* situation - "We move bits of paper from here to here and carboard boxes from there to there - automate it". That, IMHO, constitutes the majority of 'programming' tasks - once the solution to the task is clear, the code 'writes itself'...or at least screams "this is how I'm going to be written". Once you've done a database schema, writing the queries and their presentation is more about the 'fiddly detail' than problem-solving.

*Phew* - sorry to go on, but this again, like demerphq, this is one of my hobby-horses :) And sorry for all the car stuff - mine got broken into tonight,so that was a little pre-bedtime exorcism :)

cheers,
Ben


In reply to Re: perl2exe - no more secrets by benn
in thread perl2exe - no more secrets by merlyn

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (7)
As of 2024-03-29 00:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found