·Home·

·About· ·Development· ·Support/FAQ· ·Services· ·Careers·


O.P.P.

Stable: 0.2.5
Development: 0.3

OPP

OPP (Open Plus Plus) is a different kind of class library. OPP is aggressively designed to take full advantage of the latest and most powerful features of the C++ language. Despite its relative youth, its functionality in many areas already surpasses that of expensive commercial competitors.

The current stable version is 0.2.5. Read the file INSTALL for installation instructions. The library and its public interface are undergoing a radical change for the next release - see the development page.

More information about OPP and Odin Consulting is available by following the links at the top of this page. Read below for OPP news and announcements.

This site is designed to be accessible to all browsers. However, it looks better when viewed with a recent version of Mozilla (Netscape 6) or Internet Explorer.

Questions and comments can be sent to opp@odin-consulting.com.

Page Index

Current News
Schedule
Status
Old News

Current News

Jan 13, 2003

Better late than never! OPP 0.3 development is now open.

Version 0.3 was originally intended to be an interim release that implemented a new public interface that would enable the addition of substantial new functionality in future releases. However, due largely to outside events that have delayed implementation but allowed high level design to proceed; the original schedule has been revised and the feature set for 0.3 has been extended.

Version 0.3 features a new public interface with a defined standard; transparent persistence; a redesigned and optimized embedded object database; a vastly improved I/O, socket and internet architecturel; improved thread support and many other enhancements.

Much work remains to complete 0.3 for release. However; thanks to an improved test suite, it already exceeds 0.2.5 in stability in many ways. Read the development page for more information; including important caveats to 0.3.

Oct 14, 2000

OPP 0.2.5 is released: opp-0.2.5.tar.gz (~437K). We haven't had enough time to work on version 0.3, so it is lagging terribly. This release fixes some bugs in OPP 0.2 and includes some new features that were intended for 0.3. It's been pretty well tested, but some last minute changes also made it in so there may be bugs lurking.

See CHANGES for a summary of changes made to each version of OPP.

In 0.2.5:

  • HTML parser that can interpret HTML as a human reader can, understanding tables, fonts and so on. It can also "fix" broken HTML. This is a proof of concept implementation, with better and more compliant versions to come.
  • Enhanced thread support including RecursiveMutex, SpinLock, PCQueue (template message queue) and ThreadPool.
  • Internet address classes (InetAddress, InetHost, InetPort, URL).
  • Client and server side support for HTTP Cookies.
  • Abstracted URL retrieval incorporating the HTTP class along with the new File and FTP classes.
  • Name and abbreviation matching algorithm.

Schedule

The following schedule is obsolete. A new one will be posted in the near future.

ProductVersionAnticipated
Release
Milestones
PathWays Q3 2002Open Development Release
OPP0.3Q3 2002Complete Rearchitecture
OPP0.4Q2 2003Strings, JNI, ACID Transactions
OPP1.0Q2 2003Portability, Refinements
OPP1.1Q3 2003Bug Fixes
PathWays1.0Q4 2003IDL Compiler, native messaging infrastructure
OPP2.02004Replicated collections, Remote message queues, CORBA/RMI, Internationalization
PathWays2.02004Customer driven enhancements
OPP3.02005Database access framework, GUI support
Enterprise PathWays1.02005Classified
OPP4.02006Classified
Enterprise PathWays2.02006Classified

Status

Status from January 13, 2003

OPP 0.3 is now publicly available for development purposes. The Template, Database, IO and System packages have been most thoroughly tested. The Base, Net and Thread packages has been reasonably well tested. Utility, Collection, Parser and Document have not yet been tested. Utility and Parser shouldn't have a lot of bugs as they have not been changed too much. Collection and Document are likely to not work. Not all functionality scheduled for OPP 0.3 has been completed yet. See the development page for more details.

Old News

Jan 30, 2000

Work on OPP has been delayed because of other work commitments.

Jul 18, 1999

New look and content for the website.

I've decided to add transparent persistent storage to the collection classes for version 0.3. As a result, the 0.3 release date is going to be pushed back a couple of weeks. It's the right time to add this feature, since I was already rewriting all the collection classes for allocators and iterators.

Jun 23, 1999

Features coming in OPP 0.3:

  • Portable to multiple UNIX platforms (at least Linux and Solaris).
  • HTML parser that can interpret HTML as a human reader can, understanding tables, fonts and so on. It can also "fix" broken HTML. Version 0.3 should be considered a proof of concept implementation, with better and more compliant versions to come.
  • Enhanced thread support including RecursiveMutex, SpinLock, PCQueue (template message queue) and ThreadPool.
  • Internet address classes (InetAddress, InetHost, InetPort, URL).
  • Client and server side support for HTTP Cookies.
  • Java and Standard C++ Library style interfaces to OPP classes.
  • Object database performance enhancements.
  • Iterator and allocator support in OPP collection classes.
  • New template collections for Vectors and Heaps.
  • Documentation
  • Standardized interface (common naming conventions, standard methods for common functionality, etc.)
  • May include rearchitected Strings with enhanced functionality and usability.
Mar 13, 1999

OPP Version 0.2 is now available.

Brave souls willing to risk vile bugs, hideous misfeatures and an architecture and interface that may change daily can download opp-0.2.tar.gz (~242K). OPP Version 0.2 requires Linux and GNU make and is known to work with egcs version 2.91.60 (aka 2.1.1). It is believed that OPP requires a recent version of egcs in order to compile (egcs 1.0.3 is known to have bugs that prevent OPP from compiling and/or working correctly).

Version 0.2 adds many bug fixes, enhanced parsing, HTTP and EMail. Read CHANGES for the complete set of changes.

Jan 3, 1999

OPP Version 0.1a is now available.

Version 0.1a is mostly a bug fix release of OPP version 0.1. Besides bug fixes, version 0.1a includes a class for date and time parsing. Read CHANGES for the complete set of changes.

Dec 30, 1998

Announcing the first public release of OPP. OPP Version 0.1 has template and object rooted collection classes and a variety of string, I/O, network and thread classes.

OPP aims to provide:

  1. An object oriented framework for cross-platform application development.
  2. The functionality found in the Rogue Wave class libraries; especially Tools.h++, Threads.h++ and the network classes now part of Net.h++
  3. An interface familiar to Java programmers and suitable for easy porting of Java code to C++.
  4. A multithreaded embedded Object Database and corresponding database server.
  5. An object oriented container framework. This functionality overlaps with the capabilities of the standard C++ library, but follows a decidedly different philosophy.

The 0.1 release of OPP fails to meet any of these goals in a meaningful way. It does work, and Odin Properties is using it to develop the next generation of Web Portal software, as used by the Index of Alternative Operating Systems.

Contacts

Questions and Comments: opp@odin-consulting.com
Development Mailing List: listserver@odin-consulting.com
Primary Maintainer: Joel Peterson


Modified Sun Jan 26 10:15:55 EST 2003
Copyright 2003, Odin Consulting, Inc. This document may be freely redistributed in its entirety so long as this copyright notice remains in place.