Please define these terms

(And add any you think might be missing from the set)

Application
Library
Toolkit
Framework
Package
Project
Program

Thanks,
T.

Trans wrote:

Thanks,
T.

Well, an obvious missing one is “platform”.

On 9/23/06, Trans [email protected] wrote:

Thanks,
T.

Well they are constants of course, probably class names :wink:
ok, ok I will do the work

Application := a software package or set of programs installed on a
dedicated set of machines providing a service to a User, which can be
human
or another machine.
It is kind of “complete”.

Library := books? A set of functions, deemed to be usueful, for some
tasks, not “complete” in the sense of an application, a library is not
useful unless used by
an Application, Program

Framework := close to a library, rather more libraries dedicated to a
metatask, an idea of a domain of tasks, hmmm, maybe a Framework can be
seen
as the smallest common denominator of a set of related Applications and
its
implementation.

Toolkit := just a Framework, somehow I have the impression that a
toolkit
flavors bottom up design and a Framework top down, huu I am far off the
stuff I know :frowning:

Program := an executable that can occupy a Unix task :wink: or the source
thereof.

Project := A vision, illusion, task that can lead to any of the above,
it
can materialize.
If an Application can be seen as the interface between
the
computer doing a job and the user, a Project can be seen as the
interface
between the concept of the computer doing a job and the people trying to
materialize that vision.

Package := (1) A method of mastering the variants of different hardware
in
order to have the same SW run on them and therefore
(2) a wrapper of some (Application Program, Library,
Framework, Toolkit) allowing to adapt it to different contexts (that is
OS,
Hardeware, Middleware, …).

Lots of ideas lots of things to critisize, but I guess it is a start.
Ara that will be an interesting thread (with Delta at the end!!!).

Cheers
Robert


Deux choses sont infinies : l’univers et la bêtise humaine ; en ce qui
concerne l’univers, je n’en ai pas acquis la certitude absolue.

  • Albert Einstein

On Sat, Sep 23, 2006 at 08:39:15AM +0900, Trans wrote:

(And add any you think might be missing from the set)

Application
A process or system of processes

Library
Collection of reusable code tied together by some common theme. Other
code calls out to this code.

Toolkit
Collection of libraries

Framework
Reusable themed code that calls out to other application specific code
in order to create an application.

Package
Container

Project
Set of goals

Program
Application

Thanks,
T.

You’re welcome.

Trans wrote:

(And add any you think might be missing from the set)

http://labs.google.com/sets

Application
Library
Toolkit
Framework
Package
Project
Program

Two useful Google Search types:
http://www.google.com/search?q=define:Application
http://www.google.com/search?q=define+Application
http://www.google.com/search?q=define:Library
http://www.google.com/search?q=define+Library
http://www.google.com/search?q=define:Toolkit
http://www.google.com/search?q=define+Toolkit
http://www.google.com/search?q=define:Framework
http://www.google.com/search?q=define+Framework
http://www.google.com/search?q=define:Package
http://www.google.com/search?q=define+Package
http://www.google.com/search?q=define:Project
http://www.google.com/search?q=define+Project
http://www.google.com/search?q=define:Program
http://www.google.com/search?q=define+Program

M. Edward (Ed) Borasky wrote:

Thanks,
T.

Well, an obvious missing one is “platform”.

distribution, release, version, port, binary, one-click, embedding,
extension,

M. Edward (Ed) Borasky wrote:

Project
extension,

Deployment, architecture, schema …

namespace, callback, protocol, server, client…

Ps. Trans, what’s wrong with the FOLDOC definitions of these words?

Gene T. wrote:

Program

Deployment, architecture, schema …

On 9/23/06, M. Edward (Ed) Borasky [email protected] wrote:

Program

Thanks,
T.

Well, an obvious missing one is “platform”.

This is not the Rails ML :wink:
Platform, maybe not what Trans had in mind (why the hack did I call him
Ara
below???)
Anyhow as I think that you are very right that it might be useful
Platform :=
A (minimal) set of components allowing the implementation
of
common tasks, should not be seen too much as an abstract concept (in the
context of the other definitions) but rather as our “playground”,
“sandbox”
for implementation of the “other” concepts.

R.


Deux choses sont infinies : l’univers et la bêtise humaine ; en ce qui
concerne l’univers, je n’en ai pas acquis la certitude absolue.

  • Albert Einstein

Logan C. wrote:

On Sat, Sep 23, 2006 at 08:39:15AM +0900, Trans wrote:

(And add any you think might be missing from the set)

Application
A process or system of processes

That seems a little to scant, although perhap acurate. It weight heavy
on what you mean by process though. I guess I see an Application as
Program for an end-user, in contrast to a Library.

Library
Collection of reusable code tied together by some common theme. Other
code calls out to this code.

Toolkit
Collection of libraries

Okay. That’s interesting. I was thinking of library being bigger then
that. And a Toolkit for instance being a type of Library --a Library of
many disperate modules. But you have an interesting perspective b/c
indeed any one of the disperate modules can be called a library in
itself. Hmm… so would Facets be a toolkit and not a library then? Not
sure. I guess I rather say there are two overall types of software:
Application and Library. I think with you definition it would have to
be: Application and Toolkit. Then again given your definition of
Application maybe you seem that there is only Application?

Framework
Reusable themed code that calls out to other application specific code in order to create an application.

Not sure what is “other application specific code”. But we agree it is
a type of Library. Guess I see a framework as a library that address
how one structures codes rather then simple addtional compenents to
code with.

Package
Container

This is an intersting one. B/c on one hand I see it as a “release” --a
self contained distribution of a library or application. BUt then I
look at UML’s defintion and that seems more like a Library or Toolkit.

Project
Set of goals

Okay, that’s at least part of it. But in the context of CS – I think a
Project is a Program from the perspective of the developer, i.e. it
include lots of supporting files/code not neccessarily distributed in
the “Package”.

Program
Application

Ah, guess that confirms the point about there being but one type. I see
Program as the one type, ie… Progam == Software, but not Applicaiton.

Intersting.

Btw, the reason I’ve asked about this is becuase I have a naming issue
in my current project. I have project/library/application metadata in
one class, and both a Project class (tools to act on a project) and a
Library class (manages require) that use it. So this metadata thing is
something that encompasses the two and I’m not sure what best to label
it.

T.

People wrote:

blah

I know people consider it a copout when someone shouts “SEMANTICS!”
right about now, but I find it really interesting that I have no
interest whatsoever in this discussion, and yet many others do. Please,
continue your discussion, and don’t take my disinterest as some sort of
arrogant dismissal, but if you’ve got any insight into why I (party like
I) just don’t care (and many others do), I’d love to hear it. Am I a
vocal minority, or are the semantic pedantics a vocal minority?

Thanks/sorry/whatever/continue,
Devin

Trans wrote:

(And add any you think might be missing from the set)

That’s actually harder than it might seem at first (at least to do it
consistently). To quote Russell: “Everything is vague to a degree you
do not realize till you have tried to make it precise.” :wink:

Regards,
Jordan

Devin M. wrote:

People wrote:

blah

I know people consider it a copout when someone shouts “SEMANTICS!”
right about now, but I find it really interesting that I have no
interest whatsoever in this discussion, and yet many others do. Please,
continue your discussion, and don’t take my disinterest as some sort of
arrogant dismissal, but if you’ve got any insight into why I (party like
I) just don’t care (and many others do), I’d love to hear it. Am I a
vocal minority, or are the semantic pedantics a vocal minority?

I’m trying to codify some of these “things”. So it isn’t actaully
padantic at all. Also clearify terminology helps discussion.

T.

Trans wrote:

I’m trying to codify some of these “things”.

s/codify/clarify/ ?

Codifying gets you to where we are now, with terms, though useful to
insiders, that are too terse for decoding by nonspecialists. Clarifying
is
what you seem to be after.

So it isn’t actaully
padantic at all.

s/padantic/pedantic/ !

Also clearify terminology helps discussion.

s/ … what?

Project
Set of goals

Logan, that has got to be the coolest thing I’ve read about projects
in a long time!

Thanks!

M.T.

Beer?

snacktime wrote:

Beer?

+1

Regards,
Jordan

Paul L. wrote:

Trans wrote:

I’m trying to codify some of these “things”.

s/codify/clarify/ ?

Codifying gets you to where we are now, with terms, though useful to
insiders, that are too terse for decoding by nonspecialists. Clarifying is
what you seem to be after.

I mean codify, as in create a program:

class Library

end

So it isn’t actaully
padantic at all.

s/padantic/pedantic/ !

Yea, well, “I don’t give a damn for a man that can only spell a word
one way.” --Mark Twain

Also clearify terminology helps discussion.

s/ … what?

Also clarifying terminology helps discussion.

T.

Trans wrote:

is what you seem to be after.

I mean codify, as in create a program:

Yes, I understand. That was my interpretation also. Programs are not
necessarily meant to clarify – they are applications, not elucidations.

So it isn’t actaully
padantic at all.

s/padantic/pedantic/ !

Yea, well, “I don’t give a damn for a man that can only spell a word
one way.” --Mark Twain

Nice quote, but it does seem to conflict with the goal of clarification.

Also clearify terminology helps discussion.

s/ … what?

Also clarifying terminology helps discussion.

Sometimes.

Trans wrote:

Also clarifying terminology helps discussion.

All right, now I feel guilty for derailing the thread.

Application
A set of executable code with a human interface – command-line or GUI.

Program
A more general term than application. A set of executable code which
requires a human to “start it” (so, not a device driver), but might not
have a human interface after that.

Library
A set of executable code with no human interface, an exposed code
interface, a theme of some sort.

Toolkit
Larger in scope than a library, and, I guess, also includes some
programs. Say, a windowing toolkit, which includes an app for generating
resource files.

Framework
A set of executable code that takes control of the main event loop, and
to some extent dictates the structure of your code. Usually includes
library code (and that’s usually the reason you use it), though of a
much wider scope than a library (e.g. “full-stack”).

Package

  1. Collection of files.

  2. Something that The Todd is quite fond of.

    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?

Devin