ILLUSTRATING SHADOWS
focusing on education and interesting practical aspects of sundial design
My PayPal page has the different options and prices
Book purchase
options are
here...
OUR SPREADSHEETS ALSO                                                 
MAIN COBOL PAGE
Email comments or questions to the author at:  illustratingshadows at yahoo dot com
MAIN Visual BASIC PAGE                                             
MAIN VIRTUAL REALITY PAGE                                                
MAIN DELTA-CAD FILE PAGE                                             
MAIN SCILAB PAGE
MAIN PDA or Palm Pilot PAGE
MAIN Octave PAGE
programming JAVA sundials sun dials
MAIN FORTRAN PAGE                                             
The excellent NASS java page
MAIN TURBO-CAD FILE PAGE      ( vbs macros, notes, and tcw files )
MAIN PASCAL PAGE                                             
MAIN BASIC (JustBASIC) PAGE                                             
MAIN C or CPP [c++] PAGE                                             
MAIN LISP PAGE                                              (ProgeCAD and AutoCAD)
MAIN PYTHON PAGE                                       (competitor to JAVA)        
MAIN Euler PAGE
JAVA                    (free system available from... Sun... see url below)

The simplest way to have success is to use an IDE (integrated development environment) such as NetBeans

http://www.netbeans.info/downloads/index.php

and NetBeans requires the SDK (or JDK) but one of the download options is to include both the SDK (sorry, JDK) and the IDE.  NOTE: The words SDK (software development kit) has been replaced with JDK.

Once you have the free NetBeans and its required JDK, install them. They are both needed.

Then download these notes on how anyone can write a JAVA program. I have put the code in these notes for a graphic display for a PC based application.  

Simon's JAVA notes                  These use my PBE model of programming, see below.   This has the code development in the same way that
                                               the Visual Basic code was developed and documented.   This has excellent screen images of NetBeans
                                               as code is developed, shows how to do graphics and buttons etc on the same window, and has the source
                                               code for the h-dial using graphics, as well as some critical notes not mentioned in the java books.
                                               Updated Jan 16, 2008

Simon's notes and program       In ZIP format this is the notes as above, plus the library structure for the h-dial producing graphic output.
                                               The notes and this entire java folder structure (which is quite small) are synergistic. The programs do both
                                               data plus graphical portrayal of a horizontal dial. These notes have things you will not  find in many books on
                                               Java.  The code and the notes assume NetBeans 5.5
                                               Programs tested with the current version of JAVA as of  Jan 16, 2008  

NOTE: The CD that you can separately order, or the CD that comes with the printed books have more code examples that in the above.
                       ___________________________________________________________________


PBE model of programming  ~ ~ ~ (programming by example)

There are several books that are helpful, one is "JAVA In Easy Steps" by Mike McGrath, and is based on a text based non graphical development environment, called the "command line". Steam engine stuff.
Another includes an SDK on a CD and is "Programming With JAVA in 24 Hours" by Rogers Cadenhead, this gets into graphical IDEs. The SDK (software development kit), renamed JDK (JAVA development kit) is
required whether you want to do non graphical nurd type programming using antiquated UNIX ideas, or, whether you want to use a WYSIWYG system, one that graphically hels you see what you want, and makes
your life easier by generating code for the uer interaction "forms", and stubs for the associated code.

This section continues the "PBE" philosophy, namely "Programming By Example". Having started programming in 1966, and having written code for BAL, PL/I, RPG, COBOL, ALGOL, APL, FORTRAN, C, BASIC,
C++, and for operating systems from mainframe DOS, MFT, MVT, VS1, MVS, GCP (under VM), UNIX, and various PC operating systems, I have become jaded enough to wade right in and see what works, rather
than read several hundred pages of text that mix the language with the object oriented concepts with the development system. PBE it is.

JAVA is strictly typed, so work has to be done to explicitely convert FLOAT to DOUBLE and so on. Similarly going between text and numeric present challenges.These types of problems are in my opinion a
function of poor original language design, and its revisionism, and thus a growth that is programmer driven rather than driven by language architects. There is no reason whatsoever for any modern language not to
provide consistent predictable methods for converting data between types.

Do not misunderstand me, JAVA excels in being multi platform and in allowing web or computer based applications. It is strongly typed (converting between data types is a hemrod), it is event driven as is Visual
Basic, and it is very object oriented.

Enough of my rantings on the state of programming today, I feel that 40 years programming (some part time but paid commercial programming, while I flew for the airlines) give me the privilege of commenting.
Here are my
JAVA notes.

But I do encourage the language designers to properly design languages up front, to properly define their language, to allow for logical open ended architecture, while providing meaningful language
specifications, meaningful language examples, and stop having versions every few weeks, and thus obsoleting code written the previous year. The modern language community, the people who design a
language, would do well to see how things were done 40, 30, and 20 years ago. Based on the feedback that I get, I do not believe I am alone in believing there is a need for more predictable language
development, and effective (not more) documentation usable by the average person.
Illustrating Time's Shadow

ISBN 0-9765286-8-1  plus  0-9765286-9-X

Lib Cong 2005900674  plus  2006930654

Merges Illustrating Shadows and Illustrating More Shadows, deletes duplicated material, and techniques that are complex and
replaced by easier methods, adds new material.

Hands on, empirical, geometric, trigonometric, CAD,  and spreadsheet dial design for small dials plus garden dials using common masonry supplies, clay, and glass, with emphasis
on many calendar line techniques, and inclined decliners, while providing details on the use of DeltaCAD programming including the animation of many sheets as parameters vary.  
Case studies abound with associated problems solved, and cover the infamous inclined decliner, as well as all the other kinds of outdoor dials.  The printed book comes with a CD of
booklets, spreadsheets, VRML/WRL files, templates, etc with the printed book. The CD has all books and booklets and programs along with source code.  
You can get the printed book
and CD, just the CD, or an online download here.