Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

Obviously there is a point where the cost of looking into the black box exceeds the benefit of doing so. If you rarely use the black box, then there is little if any point in investigating how it works, and as you say this point is all the more true if you have access to people who do understand its innards when you get stuck on some bizzare boundary issue.

However, when one uses a tool regularly I believe the benefit of learning the basics of how it works far exceed the costs. Databases are a good example. Most programmers end up having to regularly use some form of relational database. Yet I think a lot refuse to learn even the rudiments of the principles of its operation. This to me is just plain silly. Its not just a matter of dealing with obscure problems, but rather of a more holistic approach. Understanding a bit of how referential integrity works, how indexes work can and should be a guiding force in how you design queries, how you design table relationships, etc. Consider that fully normalizing a database is good for RI purposes but may be very bad for performance as it will typically mean far more joins to get the same data. And as a joins cost increases with the size of data involved this can be a very bad design decision despite its academic idealness.

A different example would be filesystems on your favourite operating system. A programmer will be using and interacting with the filesystem in just about every program they write. Understanding the basics of how a filesystem works enables the programmer to make basic design decisions that in the long term pay off big time. For instance consider the three level directory structure in CPAN. Originally this structure was not employed, however had the programmers considered the scaling potential of CPAN in conjunction with the scaling properties of a flat directory structure they would have avoided the considerable effort required to restructure the data mid way. Im fairly sure that the programmers knew both points, but I suspect that the black box mentality was at least in part behind them not making the connection between the two.

So i guess my point is that if you use a black box regularly you need to apply some kind of multiplier to the immediate benefit you gain from the investigation before considering the cost. Doing your homework earlier will help avoid costly and time consuming changes later.


---
demerphq

    First they ignore you, then they laugh at you, then they fight you, then you win.
    -- Gandhi



In reply to Re^2: Bitten by the worst case (or why it pays to know whats inside the black box) by demerphq
in thread Bitten by the worst case (or why it pays to know whats inside the black box) by demerphq

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 drinking their drinks and smoking their pipes about the Monastery: (7)
As of 2024-04-24 10:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found