Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: Bitten by the worst case (or why it pays to know whats inside the black box)

by dragonchild (Archbishop)
on Jun 28, 2004 at 03:22 UTC ( [id://370084]=note: print w/replies, xml ) Need Help??


in reply to Bitten by the worst case (or why it pays to know whats inside the black box)

Excellent post! I do have a semantic quibble, though . . .

Anyway, I hope this posting motivates some to inform themselves of the principles by which their regular tools do their jobs.

In my mind, if you use something more than occasionally, you should have a good idea of its strengths and weaknesses. This, however, has nothing to do with cracking open the black box. It has to do with knowing the specs of the black box. That's just doing your homework.

The perfect example, in my mind, is a motherboard. I have an extremely basic, almost monkey-level, understanding of the circuitry my livelihood is based on. But, I do know how to read specs. So, I know what machine makes a better DB vs. web server. Yet, I can't draw a logic gate to save my life.

Another example would be a choice of webserver - Apache vs. IIS. There are very valid reasons to pick one over the other. Yet, I have never looked at a line of source code for either. In fact, I don't know .NET or ASP more than a week's worth of playing around. But, I can confidently recommend IIS over Apache, when it's warranted - because I know the specs.

Buried deep in the docs for 5.6.x is a statement saying that Perl's sort is implemented over qsort(). Back in CS 210, we learned that qsort() is pathological over nearly-sorted lists. That's just knowing the specs. I'm pretty sure you didn't read the code for the implementation of sort and work out how the box does things; you read the specs.

------
We are the carpenters and bricklayers of the Information Age.

Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

I shouldn't have to say this, but any code, unless otherwise stated, is untested

Replies are listed 'Best First'.
Re^2: Bitten by the worst case (or why it pays to know whats inside the black box)
by BrowserUk (Patriarch) on Jun 28, 2004 at 03:26 UTC

    How do you feel about this example of cracking open the black box?


    Examine what is said, not who speaks.
    "Efficiency is intelligent laziness." -David Dunham
    "Think for yourself!" - Abigail
    "Memory, processor, disk in that order on the hardware side. Algorithm, algoritm, algorithm on the code side." - tachyon
      Again semantics, but I would argue that the only time you ever need to crack open the black box is when you feel that the black box's specifications aren't what you need. File::Temp has a certain set of CPU and RAM specifications along with its feature specifications. tachyon obviously felt that the hardware specs for File::Temp were too high for his needs. So, cracking open the black box to find out how it works is appropriate.

      My point is that figuring out how the black box does its work is different from analyzing the low-level specs for the black box. We should all, as we improve in skill, have a greater understanding for the low-level specs. I still argue that I don't need to read the source in order to understand how bucket brigades work in Apache.

      ------
      We are the carpenters and bricklayers of the Information Age.

      Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

      I shouldn't have to say this, but any code, unless otherwise stated, is untested

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (3)
As of 2024-03-29 15:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found