A novice to computer programming might try his first steps: use
HicEst as a simple desktop calculator, assigning a symbolic name to a numerical result, and then using that name in another statement, etc.
A person with some experience in Fortran, Basic, Pascal, C, C++ and alike, will find at least the use of the
HicEst standard features to be very simple.
The context sensitive help provide many samples.
Why just Fortran as a base of the script language?
Essentially because it is simple and easy enough to read.
What is the difference to work with
HicEst and a compiler?
A compiler needs all the statements of a program unit before it can compile. It generates machine code. When all program units have been compiled without error the linker produces a very efficient executable file. Only super brains will not have to debug. Lesser mortals have to edit the statements again.
The
HicEst incremental compiler checks each statement while it is written. In case of error it generates a message (remember, the error case is the normal case). Else an intermediate code is produced and stored for later reuse. It is interpreted and executed. From the instant result you decide whether to change the statement again or to proceed.
What happens to my script when a crash occurs?
Start
HicEst again, open your script, see that nothing is lost. Even undo/redo pointers are conserved.
Why does
HicEst only know 1- and 2-dimensional arrays?
HicEst shows the advantages and disadvantages of an interpreter. We think higher-dimensional arrays should either be treated in a
DLL for real fast execution. This also keeps the script from blowing up to much.
Or perhaps more elegant, if feasible, use
ALIAS to address linear array sections as vectors.
Can
HicEst serve as a Windows wrapper for my console type program?
Yes. If you want to just run your program with no changes use
You could interactively set the string parameters.
A more elegant solution is to compile your program as a
DLL.
Can I dynamically allocate a 2-byte integer array of size n?
Yes. Size is only limited by virtual memory.
ALLOCATE a string of length 2*n. (Partial) conversion to 8-byte floating point (as used by
HicEst for all numbers) is via
READ and
WRITE with the binary format "ib2".
Or have the array as a file on disk. If the array has e.g. 23 columns:
Yes, computers with a
COM port can be linked like any other instrument with a RS232 interface. Instruments usually have a protocol for serial communication, so you have to write a "driver" with 1 or more
COM function calls which is very easy to do. If the "instrument" is another PC you are free to design your own protocol (see
COM(Alice_to_Bob).dem.)
My script does not show the F2 to F9 buttons on the
HicEst toolbar.
As soon as any of the F2 to F9 subroutines is defined the button shows e.g.