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

Re^3: Tiny Frameworks

by Ovid (Cardinal)
on Sep 30, 2007 at 12:49 UTC ( #641767=note: print w/replies, xml ) Need Help??

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

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.


New address of my CGI Course.

Replies are listed 'Best First'.
Re^4: Tiny Frameworks
by Anonymous Monk on Sep 30, 2007 at 15:49 UTC

    I am not trying to argue with you, I knew that you would insist. We are all human, and he have your face just like everyone.

    Put in this way, I certainly have never seen a framework like this before, and didn't feel any compassion towards it.

    Remember whether that is framework is not for you to say, obviously you can fight back "it's not for you to say either." If you think that way, fair enough, and I am not try to discourage you or anything, you are an over-average Perl programmer, and I respect that. However at this point, you didn't strike me as someone who is qualified to provide a framework.

    To gain some XP points ;-? this is certainly a fine idea, but not as a framework, not even a tiny framework.

    Again, you can sleep on the question "what's framework?". Again, I tell you, this is a different animal than all the frameworks that I have seen, and it is merely a hack for Perlian superclass, which is not even needed in modern lauguages. This brings us back to another recent post here about CPAN and the Ruby repository, no wonder CPAN is big...

    Oh I remember that you were managing some Perl 6 stuff, don\t know whether you are still doing it. If so, please spend more time and focus on that, since I am not seeing much progress. Cheers.</p

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://641767]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (4)
As of 2018-05-27 18:27 GMT
Find Nodes?
    Voting Booth?