Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^3: Tiny Frameworks

by tye (Sage)
on Sep 30, 2007 at 17:04 UTC ( [id://641786]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Tiny Frameworks
in thread Tiny Frameworks

Is pointillism a frame? Pointillism is a technique to use when making paintings. A frame gives you a structure to put your painting inside of. It is not a coincidence that the word "framework" contains the word "frame". BrowserUK's definition was not just "more verbose". It was also certainly less vague. It made great points about the type of structure a framework is.

Even our persistent anonymous idiots in this thread got the distinction.
Ugh1

I'll either somewhat disagree with or somewhat augment what BrowserUK said by saying that his definition sounds like what I would call an "application framework" and there certainly could be a "library framework". But a "library framework" would need to define the "outer shell" and over-all structure of the library and provide ways for people to put different guts inside of that. And the term "framework" as applied to software is most often used to mean "application framework" (IMHO, of course).

I'm unsure whether using "framework" for non-application frameworks is desirable / useful terminology. Certainly, people shouldn't be afraid of developing software in a structured manner, though.

- tye        

1 Update: Ooh, that could be taken quite harshly; like I was saying Ovid is worse than an idiot. That certainly wasn't my intent and I apologize. I certainly don't belive Ovid is an idiot. I think Ovid should re-read BrowserUK's description. And I made note of the fact that one anonymous reply re-stressing part of the distinction that I think Ovid may not have fully appreciated.

Replies are listed 'Best First'.
Re^4: Tiny Frameworks
by Ovid (Cardinal) on Sep 30, 2007 at 17:34 UTC

    In making the distinction between application framework and library framework, I can see the best counter-argument to what I've put forward. However, I still don't particularly see when something "flips the framework bit" from library to application. Had I merely posted something like HTML::TokeParser::Simple and claimed this was an "HTML parsing framework", people would have rightfully laughed at me. That would definitely be something I would call into.

    With what I posted, it's clearly a "frame" which constrains code. It seems to me, though, (correct me if I'm wrong) that the key thing you two suggest for what makes a framework is that there is a particular target application type the framework is designed to support. As a result, since my code is designed to usefully constrain Perl 5's somewhat simplistic OO model in predetermined manner, are you saying that someone unlimited scope of the code is what makes it not a framework? I would think that flexible constraints are what is desirable in a framework. After all, how many times do people complain that their framework of choice limits them too much?

    Mine (again, being a toy example), satisfies BrowserUK's definition "that it provides the structure of an application and leaves the application programmer to fill in the details of the specific application." I'm just stepping back and a bit and widening the class (no pun intended) of applications for this this structure is provided. As I asked elsewhere, if someone else adds integrated exception handling, someone else adds multi-method dispatch, someone else adds persistence, at what point can we call it a "framework"?

    (I see where this is going, though. Most people seem to think that if I don't have a specific target application type in mind, I'm not allowed to use the word "framework".)

    Update: And no worries. I didn't take the "idiot" comment as a personal attack :)

    Cheers,
    Ovid

    New address of my CGI Course.

    A reply falls below the community's threshold of quality. You may see it by logging in.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://641786]
help
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: (3)
As of 2024-04-19 21:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found