This appendix provides a list of publications related to the Code Farms libraries. Reprints of the papers are available from Code Farms for a nominal charge covering printing and postage.
[1] Weiss R.: Software Manages C Data Structures, Electronic Engineering Times, Feb.5, 1990, pp.39-45.
Early, popular article explaining the advantages of our approach.
[2] Soukup J.: Organized C: A Unified Method of Handling Data in CAD Algorithms and Databases, 27-th ACM/IEEE Design Automation Conference, 1990, pp.425-430.
Describes the main idea, using three examples: netlist for electrical circuits, classical ER example, and a database for a VLSI layout system. All code examples are in C. This paper was written at the time when the C++ version of the library was not developed to its current advanced level.
[3] Soukup J.: Selecting a C++ Library, C++ Report, Jan.1992
This article does not describe our library, but it lists features and priorities that we considered important in our design. It also contains a description of a benchmark suitable for a quick evaluation of a class library.
[4] Soukup J.: Memory Resident Databases, C++ Report, Feb.1992
Describes how persistent data, such as that provided by our library, can be used for fast, flexible databases.
[5] Soukup J.: Beyond Templates, C++ Report, two parts (April and May 1992)
This is a detailed, theoretical analysis with numerous C++ examples.
It explains the advantages of our approach compared to classical C++ libraries and templates, in both run-time performance, code clarity and ease of maintenance.
[6] Galbiati L.: Comparing Different Implementations of a VLSI Simulation Database, submitted to fall ICCAD 92
A user report on evaluation and benchmarks of Code Farms C library, with comparisons to commercial object-oriented databases and a custom-designed database. The performance of the program coded with our library was comparable to the custom-designed database; it needed 5 times less memory and had 20-times faster data access than a leading commercial database.
[7] Hutchings B.L.: Achieving CAD Data Persistence With C++,submitted to 1992 OOPSLA Conference
A user report on a difficult case of a large database (250+ classes), which was originally designed without storage to disk. The author selected Code Farms' library to add persistency to the database, and the paper describes his approach and experience.
[8] Soukup J.: Maze Router Without A Grid Map, submitted to the fall ICCAD 1992
Decription of a special algorithm finding routes through a maze of complex obstacles. The paper includes a full listing of the program coded with the C version of our library.
[9] Soukup J.: The Secret Of Efficient Software Design: Internal Data Organization, Electro Convention, Boston, May 12-14, 1992
Describes the advantage of separating data objects from data relations, and how easily this is done with the Code Farms library.
The paper evolves around a sample problem involving towns connected by highways. The task is to find the fastest route between two given towns. The paper includes a full C++ listing of the program.
[10] Soukup J.: Taming C++: Pattern Classes and Persistence for Large Projects, Addison-Wesley, July 1994, ISBN 0-201-52826-6.
The book describes a new approach to the implementation of data structure libraries, and patterns in general. Also, various forms of persistent data are discussed in detail.
[11] Soukup J.: Implementing Patterns, in Pattern Languages of Program Design (edited by Complien & Schmidt), Addison-Wesley 1995, pp.395-415, ISBN 0-201-60734-4.
This paper from the the first PLoP conference shows that structural patterns can be implemented in the style which we use in the OrgC++ library.
[12] Soukup J.: Intrusive Data Structures (3 part article), C++ Report, May, July, Oct.1998
[13] Soukup J.: Quality Patterns, C++ Report, Oct.1996 also Managing Groups of Cooperating Classes in the same issue.
[14] Vadaparty K.: Memory Resident Databases 1997.
| Chapter 1: Introduction |