Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: Appropriate amount of abstraction

by chromatic (Archbishop)
on Nov 15, 2004 at 01:46 UTC ( [id://407752]=note: print w/replies, xml ) Need Help??


in reply to Appropriate amount of abstraction

Why stop with a "root connection with core Perl code"? Perl is an abstraction. SQL is an abstraction. Files and sockets and environment variables are all abstractions.

At some level you have to talk about something more than which direction electrons flow. Me (not "we"), I like to explain just enough to beginners to help them solve the kinds of problems they face in ways that help them create other solutions on their own.

Replies are listed 'Best First'.
Re^2: Appropriate amount of abstraction
by gunzip (Pilgrim) on Nov 15, 2004 at 03:38 UTC

    Why stop with a "root connection with core Perl code"? Perl is an abstraction. SQL is an abstraction.

    Because Perl and SQL are my starting-points as a programmer. I'm not interested in the details below my point of entry but neither do I wish to do most of my work in an abstraction layer which is too far removed from the core language. I know TIMTOWTDI at the end of the day but I just wonder how far the abstracting goes before you get layers built with, say, Maypole as one of the dependencies and all you have to write is:

    #!/usr/bin/perl use Application; use strict; my $app = new Application; $app->build($data);
      Perl and SQL are my starting-points as a programmer. I'm not interested in the details below my point of entry but neither do I wish to do most of my work in an abstraction layer which is too far removed from the core language.

      Your meditation asks, "what is an appropriate level of abstraction?" It sounds to me like you've already decided this. For you, the highest appropriate level of abstraction is Perl and SQL. That's a fine choice to make, but it makes your question seem a bit misleading.

      I think chromatic was simply trying to make the point that choosing the level that's "abstract enough" is somewhat arbitrary. I'm sure you have reasons for choosing where to draw the line, but, at the end of the day, the most important thing is whether the application does its intended job.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (3)
As of 2024-04-16 14:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found