Team. As you know,
our goal is producing a general purpose web-script for the controller portion
of layered type-II model-view-controller web applications. The first iteration
of this script will be in JAVA and will take the form of a servlet.
There have been some recent discussions in the Communications
of the ACM about the fallacy of general-purpose processors. The article
discussed forms of central processing units which are commonly found on a
computer’s internal circuit boards. The premise of the article was that calling
something such as a graphics processor “general-purpose” was misleading. This
is because that author had the fixed notion in his mind that anything which is
general-purpose and used for computing should work in any computing
application. He felt that these should be considered "special-purpose" processors. There is some validity in this argument; however, it is somewhat
overly” rule-based”. In other words, the argument is pedantic.
As you know, processors can be in the form of hardware or
software. Also, there are many categories of computing problems. Each category
represents a set for which one might produce an application that meets the
needs of one or more of its problem instances. If one produces an application that
meets the needs of all of the problems within a given set, it is a
general-purpose processor for that domain.
So, when one discusses general-purposeness, one must
consider the universe of discussion. This also is necessary when one discusses
any set. Our universe of discussion is controllers that process text-based
markup descriptions of interface views. It might seem somewhat narrow; however,
it literally contains an infitude of possible application instances.
This approach in computing is very worthwhile. For one, it
promotes a very natural form of code reuse. A general-purpose processor driven
by configuration files is much like a method with its parameter list. For those of you
who are computing students, remember those lessons on computing history that
discussed the advantages of using functions in structured programming versus
large monolithic programs. Structured programming is often an after-thought and
likely rarely mentioned in many current classrooms with the inherent structure
in objects. But the evolution from unstructured-ness through structure that
resulted in objects and aspects is worth teaching.
One of the design goals of a popular operating system is
expediting the common case of computing. This means that for the normal case,
ninety-five percent of the applications it sees, it will perform well and
quickly. This is also a wise goal of software engineering processes, accelerating
the common case of development. This can be done quite well if one looks for
applications in which he might apply the tenets of general-purposeness. These
rules are fairly simple. One must balance ease of use and the breadth of the
domain. A wider the domain signals a more likely increase in the complexity of
the general-purpose engine.
There are a number of places within the JEE technologies
that one might create one of these processor. For instance, one might be for
JAX-RS root resources. an engineer might also consider developing a framework for
creating this. Such a template could be used by different organizations for
their unique needs.
We hope that this posting length is not overly tedious. We should also add that the ACM is a wonderful organization. Consider joining, www.acm.org. The ACM needs more participation especially from women and under-represented minority groups. Hunt.Peck.Think.
Daydream. Create. La-La.
No comments:
Post a Comment