The following code is available under the terms of the
Academic Free License v3.0.
I've been writing code as a hobby and professionally since I was
12-years-old (1980) in a number of different programming languages.
Of all of those, there were 4 that I fell in love with enough to
to build my personal libraries in. In order as the years went by,
they are Turbo Basic, Turbo Pascal, Ada, and now Java.
I am now completely sold on Java now as I find it to be the most
highly evolved in a natural progression. I never plan to go back
to any of these other languages, as good as they were, so feel
free to browse through the links to my old personal source code
libraries if you think you can learn from them.
In light of the rapid advances of Java, the history of wcCODE
bears special mention. Before Java, wcCODE was the only way to
write portable, online, multi-user bytecode for the online community
that I found accessible.
Just as Java code is propagated in portable bytecode .class files,
wcCODE was installed as a Bulletin Board System (BBS) extension
in the form of a bytecode .wcx file. This proprietary programming
language derived from BASIC for the Wildcat! BBS software allowed
the programmer to seamlessly integrate new code without having to
worry about serial I/O. Before wcCODE, one had to write and
integrate RS-232 serial communications code or go through software
that would redirect your standard i/o to the modem. Of course,
wcCODE would only run on Wildcat! BBS software and you could
typically only reach an local audience of modem/BBS fans.
Thank God for Java.
Absent from this list is the C programming language. While I
have written about 30,000 lines of C code in my professional
career, the software engineering principles ingrained in me from my
years of Pascal and, especially, Ada programming convinced me that
I should build my personal libraries in programming languages
that could scale up to large, multi-programmer projects.
Whereas the Ada programming language was designed from the start
with robust software design issues in mind and included
the native multithreading support I needed for
multi-user online applications, it lacked the communications
facilities that I required to reach the online community.
Fortunately now, with Java, I can have my cake and eat it too.
David Wallace Croft
Before I reorganized my Open Source Java code library under the com.croftsoft
package hierarchy, it was distributed via ORBS.com.
I have provided a snapshot of that code in an
old code Java subdirectory. This code
is licensed under the terms of the MIT-style or MPL Open Source licenses as
stated at the head of each source code file.
I authored some of the code in the ORBS archive while in the employ of
Analytic Services, Inc.
(ANSER). ANSER management was kind enough to release this code to the public
under the terms of an MIT-style Open Source license at my request.
To prevent confusion with regard to copyright issues, the ANSER code is archived
separately here and is no longer distributed with the main
CroftSoft Code Library.