Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

comment on

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

In that link, you wrote (other folks might want to read it for context):

Before I start to talk about framework, I would like to make sure that nobody smell Ovid's class as framework, as if anyone would thought that way. If that is framework, we have all drowned in the sea of frameworks already. Thanks god, not many people are as ignorant as Ovid, and has the guts to call their classes frameworks.

When you (or someone) wrote that, you forgot one thing: to define a framework. Nowhere in your short rant did you provide something which should have been obvious. You see, I defined a framework. What probably surprises many people is that something that small can be a framework (I knew there would be people who jumped at that bait and I'm afraid you're the fish on my hoook). Many people have this silly notion that frameworks have to be huge. They don't. The sooner you get over this misconception, the better. Do you have this strange notion that a framework must have at least 297,173 lines of code and a core of at least 13 developers?

A framework is a merely general solution to a complex problem. By creating said solution, you can gain the benefit of a standard, predictable approach to a problem. The problem space I chose to attack was some difficulties with the Perl 5 language and I created a tiny framework whic attempted to address this. Sure, it's going to be startling to be people who are used to assuming that you must have X number of lines of code to call yourself a framework. Of course, there are also lots of programmers out there who think you have to have an IDE to be a professional programmer.

Or if you want, we can get down to a more specific definition of a software framework:

A software framework is a reusable design for a software system (or subsystem). This is expressed as a set of abstract classes and the way their instances collaborate for a specific type of software.12 Software frameworks can be object-oriented designs. Although designs don't have to be implemented in an object-oriented language, they usually are. A software framework may include support programs, code libraries, a scripting language, or other software to help develop and glue together the different components of a software project. Various parts of the framework may be exposed through an application programming interface (API).

Hmm, let's see: I have provided one abstract class (a set with only one member is still a set). An abstract class isn't enough to be a framework, but my code definitely meets the core criteria of a reusable design for a software system. In fact, it's clearly a general solution to a common problem with a standard API exposed. There are other bits (helper scripts and so on) which people often expect in a framework, but they're certainly not required. Wow, my code meets the definition of a framework! Imagine that, Ovid did his homework. Surprising, eh?

So, if you care to rebut this, please start by providing your definition of a framework. No definition, no rebuttal. Mind you, if you do post a definition, please provide either a source for that definition or why you think your definition is appropriate.

Cheers,
Ovid

New address of my CGI Course.


In reply to Re^3: Tiny Frameworks by Ovid
in thread Tiny Frameworks by Ovid

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 cooling their heels in the Monastery: (6)
As of 2024-03-28 14:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found