Thanks for these links. Reading through them I am arriving at:
Application
Program that has an end-use, intended for accomplishing Projects.
Library
Program that has no independent usage, intended for building other
Programs.
Toolkit
GUI Library
Framework
Program providing support structure in which another program can be
organized and developed.
Package
Originizational unit of Programs: Module, Folder or Archive.
Project
A set of activities and the collection of data directed to a goal.
More specifically, a network of activities, or file(s) containing
such a network.
(In our case a Programming Project)
Program
[Fundamental term] Computer Instructions; Software.
That’s a limited definition. YAML is a toolkit, as is REXML. The GUI
angle
may or may not be present. I would have defined it as a set of carefully
designed algorithms with wide applicability.
Framework
Program providing support structure in which another program can be
organized and developed.
Too limiting. A framework can also be a class or module definition that
ties
otherwise disparate elements together, or enforces rules in a beneficial
way. And classes are not programs, because they don’t necessarily have a
standalone executable identity (how a program is defined).
Framework
Program providing support structure in which another program can be
organized and developed.
Too limiting. A framework can also be a class or module definition that ties
otherwise disparate elements together, or enforces rules in a beneficial
way. And classes are not programs, because they don’t necessarily have a
standalone executable identity (how a program is defined).
I would say that the distinguishing feature of a Framework is that it
has an overall structure, such as an event loop, which calls back into
the code developed on top of the framework. A GUI library would
typically fit this pattern.
requires a human to “start it” (so, not a device driver), but might not
Project
A set of goals + at least one doer at any time (may not be the same over
time).
T.
Mostly, though, I’ll use a lot of these terms interchangeably. Why are
you codifying this? Is there not a more general approach you can take?
A Project Management Application, i.e. Build Tool. Partly I’m just just
curious but I am also wrestling with one naming issue so I thought it
might help to ask. I have a Project class which contains methods for
acting upon a… er… “Program” (?), and a Library class for utilzing
“it”. Both share much of the same “metadata” so they both delegate to
another class which stores that. Don’t know what to name that class
though. Right now it’s called er… well… Program But then again
maybe I haven’t named any of them optimally. For instance, I was
suprised to see UML refer to what I would call a “library” as a
“package”.
I would say that the distinguishing feature of a Framework is that it
has an overall structure, such as an event loop, which calls back into
the code developed on top of the framework. A GUI library would
typically fit this pattern.
Fair enough. I was thinking of Framework in more general terms, like the
overall design pattern kind of framework. Not necessarily associated
with
GUI design tools.
I say this because I heard the term framework used in this way before
there
was a GUI anything.