Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs
Known as macro languages, or configuration languages, dynamic execution is the feature that allows an application to be "programmed" by the user. The benefit of having a dynamic execution engine is that tools and applications can be customized to perform complex tasks without replacing the tool. The Java platform offers a wide variety of dynamic execution engine options.
Let's explore briefly some of the dynamic execution engine options available and then look at the implementation of my interpreter in depth. A dynamic execution engine is an embedded interpreter. An interpreter requires three facilities in order to operate:
HotJava
The most famous embedded interpreter has to be the HotJava "applet" environment that has completely reshaped the way people
look at Web browsers.
The HotJava "applet" model was based on the notion that a Java application could create a generic base class with a known interface, and then dynamically load subclasses of that class and execute them at run time. These applets provided new capabilities and, within the confines of the base class, provided dynamic execution. This dynamic execution capability is a fundamental part of the Java environment and one of the things that makes it so special. We'll look at this particular environment in depth in a later column.
GNU EMACS
Before HotJava arrived, perhaps the most successful application with dynamic execution was GNU EMACS. This editor's LISP-like
macro language has become a staple for many programmers. Briefly, the EMACS LISP environment consists of a LISP interpreter
and many editing-type functions that can be used to compose the most complex macros. It should not be considered surprising
that the EMACS editor originally was written in macros designed for an editor called TECO. Thus, the availability of a rich
(if unreadable) macro language in TECO allowed an entirely new editor to be constructed. Today, GNU EMACS is the base editor,
and entire games have been written in nothing more than the EMACS LISP code, known as el-code. This configuration ability
has made GNU EMACS a mainstay editor, while the VT-100 terminals it was designed to run on have become mere footnotes in a
writer's column.