"Good software, like wine, takes time." - Joel Spolsky

Advanced General Platform

Advanced General Platform is a portable, open-source C++ programming library. It attempts to model a new programming environment based on alternative conventions to those implemented by the ISO C++ Standard Library (ISO/IEC 14882:1998). As such, Advanced General Platform makes no claim to be compliant with the Standard but to be a viable substitute of it.

Efficiency, flexibility, portability and implementation of a safe programming environment have been the major contenders of libagp's design. Furthermore, some of the features which were omitted from the Standard, such as support for Unicode and Multi-threading, are integral parts of the Advanced General Platform. A large focus had been placed on the ease of use of the library and a great deal of effort was invested in assuring the simplicity and symmetry of the API, syntactical as well as semantical.


Advanced General Platform heavily utilizes such paradigms as Template metaprogramming and Polymorphism in order to implement many of its features and APIs including TypeTraits, Containers, Strings, Io and more. Additionally, libagp acts as an abstraction layer of the underlying hardware architecture, operating system and compiler in use allowing applications to access system specific functions in a consistent manner on all supported platforms. In some respects (although, quite naturally, not in scope of magnitude) Advanced General Platform is similar to such programming environments as Sun Microsystem's J2SE and Microsoft's .NET Framework.

Advanced General Platform has been in development since around late 2002; three designs were discarded during the production (around 100K lines of code) before the current one was deemed as successful. As such, libagp can perhaps be qualified as largely an academic project which studies different aspects of software development, mathematical models and algorithms, levels of abstraction, efficiency of Object Oriented design (as implemented by the C++) and front- and back-ends of various compilers in order to ensure that the library compiles to as efficient code as possible. Nevertheless I sincerely hope to have the stamina, motivation and will to carry out the profound task of completing this project and, once done, publish it on this website.

Advanced General Platform is not a "vapourware", it is a real project focusing on delivering software of ultimate quality (as humanly possible). Sunsys Dox is the demonstration of a project developed entirely with libagp, and quite conviniently it also serves as a regression test for the Advanced General Platform.

libagp is free software -- NO WARRANTY.
Copyright 2006 by Narech K.
All Rights Reserved.
Advanced General Platform v1.5.1 :: status: development hell
Website last updated on 2006-01-27