bottom up : Java Glossary

go to home page B words local find full screen, hide local find menu Google search web for more information on this topic jump to foot of page translate this page with Babelfish 2008-08-23 by Roedy Green ©1996-2009 Canadian Mind Products
index page for letter ⇒ punctuation 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z (all)
bottom up
A design philosophy exemplified by FORTH. If you wanted to control a robot, you would write some words, (aka methods) to perform the various micro-movements the robot was cabable of. Then you would immediately try them out by typing strings of commands.

In your playing, you would notice yourself keying some phrases over and over. So you would define abbreviations. These abbreviations give you higher level toys to play with. You then find yourself creating abbeviations of abbreviations. At each stage you exhaustively test your new tools so that you rely on them 100% to build the next level. The tools at each level give you new concrete ideas with which to design the next higher level. This makes the design process relatively painless. It is merely a matter of combining some very clearly defined lego-pieces.

Gradually, without really thinking, you build a high level robot-control program.

In the Java world, bottom up thinking strongly influenced the design of the Java. Gosling and Joy first designed JVM, thinking strongly about how it could be efficiently implemented. Then they invented the Java language to generate JVM code. The first cut at Java was essentially a JVM assembler. It had no features that did not map very directly onto byte code. Later, higher level feautures like autoboxing were added. You can see this sort of thinking most strongly in get/setter attributes, enums, and generics. The odd Java language rules derive from a specific implemenation worked out in detail before the language syntax was nailed down.

The main advantages of such as approach are:

The disadvantages are:

CMP homejump to top
CMP logo
feedback Please email your feedback for publication, errors, omissions, broken/redirected link reports
and suggestions to improve this page to Roedy Green : feedback email
made with CSS
HTML Checked!
ICRA ratings logo
mindprod.com IP:[65.110.21.43]
Your face IP:[38.103.63.58]
You are visitor number 11.
You can get a fresh copy of this page from: or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror)
http://mindprod.com/jgloss/bottomup.html J:\mindprod\jgloss\bottomup.html