Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^2: Reverse Engeering of Learning

by sfink (Deacon)
on Feb 26, 2003 at 04:28 UTC ( #238654=note: print w/replies, xml ) Need Help??


in reply to Re: Reverse Engeering of Learning
in thread Reverse Engeering of Learning

I've had the same feeling, and I think my unease arises from a simple problem: people often aren't thinking of the right job.

By that, I mean that many times a particular tool my be a perfect fit for the exact job at hand -- but if after a dozen jobs, you find you've used a dozen different tools, then you have an extension and maintenance nightmare.

The problem is that the immediate job that you're thinking of is usually only a part of a larger job, which is usually something like "get all of these jobs done, and working, and maintainable, and done in such a way that we'll be able to do the next set of jobs well too." And that argues strongly for using a very minimal set of languages, so you can share code and have the various solutions interoperate well, and also so that you can draw upon the existing solutions in crafting new ones. This will necessarily mean that some jobs will be solved with suboptimal tools.

Extending the "job" further, you may also want to consider other people -- it's a lot easier to find people who know Perl and C than people who know Perl and C and Java and Python and Lisp and Intercal and....

All that is not to say that "the right tool for the job" isn't a useful metaphor. My manager recently asked why my engineering team had chosen use Perl rather than Java to write a set of command-line tools for managing our system. I looked at him with the same air of puzzlement that I would use if someone had asked me why I didn't use a dead fish to pound in a nail.

Replies are listed 'Best First'.
Re: Re^2: Reverse Engeering of Learning
by John M. Dlugosz (Monsignor) on Feb 27, 2003 at 22:25 UTC
    For the real-world, sometimes I'll use my pocket knife for something instead of going to the garrage for the "proper" tool. Why?

    1) it's handy. That's like the overhead needed to write hello-world in C++. For simple jobs, the overhead is more than the job itself.

    2) regular tools are very specialized. A multi-tool swiss-army-knife might have something that's good enough. But if using a good (expensive) screwdriver I don't want to use the wrong one! I might need several box wrenches to figure out which one I need, when an adjustible wrench (the VB of tools) would work.

    Now some tools are general without being toys. A good strapwrench, a "gator grip", vise grips, a 6-tip ratcheting screwdriver, a dremel tool.

    But, in the garrage, I see nothing wrong with having more tools! There is a big benifit to using the right tool for the job, and figuring out how to use a specialized tool is often easier than getting the job done without it.

    I think that last point changes everything. Tools or accessories that are too much trouble don't get used. They naturally find their way to the back of the shelf and are eventually forgotten.

    As for maintainance, that's not an issue with building things, but can be for household repairs. If a plumber fixed my sink, I might need to go out and get the same kind of tool he used next time I work on it myself. As it is, I know that anything I put together I have to right tool to take apart again. The first step to upgrading a Tivo digital video recorder is "go buy Torx #10 and #20 screwdrivers".

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (3)
As of 2021-12-01 18:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    R or B?



    Results (13 votes). Check out past polls.

    Notices?