Reference articles on history, science, culture and more
Encyclopedia

IBM Open Class

Image credit is listed at the end of this article.

IBM Open Class (IOC) is an IBM C++ product originally developed by Kevin Leong and originally known under several names in the C++ industry, including ICL (IBM Class Library), UICL (User Interface Class Library), and OCL (Open Class Library).

IOC was an extensive set of C++ classes used to build CLI and GUI applications which could then be easily cross-compiled to OS/2, Microsoft Windows, and AIX. IOC also formed the basis for IBM's VisualAge for C++ graphical application builder. The non-GUI portions of IOC were available for z/OS and OS/400.

01History of IOC

The IOC was included as part of IBM's C++ compiler environment. Applications developed with IOC could be distributed with a royalty-free runtime, or could be statically linked against the IOC libraries. Initially only available for OS/2, the IOC was eventually made available for Windows, AIX, z/OS, and OS/400. Support for the OS/2 and Windows VisualAge for C++ compiler, as well as the accompanying IOC, was officially withdrawn by IBM on April 27, 2001. IOC was removed from z/OS 1.9, introduced in 2007.

  • C/Set++ v2.01 for OS/2 (1993)
  • VisualAge C++ for OS/2, version 3.0
  • VisualAge for C++ for Windows, version 3.5
  • C and C++ Compilers for OS/2, AIX, and for Windows NT, version 3.6
  • C and C++ Compilers for OS/2 and Windows, version 3.65 (1998?)
  • VisualAge C++ Professional for OS/2 and Windows NT, version 4.0 (1998)
Promotional poster from 1993 showing parts of the class hierarchy for the IUICL v2.01
Promotional poster from 1993 showing parts of the class hierarchy for the IUICL v2.01

02Examples

The most widely recognized example of a simple application that uses the IOC is hello world:

#include <iframe.hpp> int main() { IFrameWindow frame ("Hello, World!"); frame.showModally(); }

Other examples of commonly used IOC classes and methods include:

#include <istring.hpp> IString someText ("hello world"); #include <icmdhdr.hpp> virtual Boolean MyHandler::command (ICommandEvent &event);
Watch videos about IBM Open ClassExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article IBM Open Class, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Images, from Wikimedia Commons:

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.