VisualAge C++

From EDM2
Revision as of 03:36, 1 February 2017 by Ak120 (Talk | contribs)

Jump to: navigation, search
VA.GIF

IBM VisualAge C++ also commonly known in the OS/2 user community as VAC and as VAC++ in the AIX community, is a multi-platform C and C++ development package that replaced the IBM C Set++ for OS/2 package with a more modern visually oriented development system written in Smalltalk like the rest of the VisualAge products. It came with a WPS integrated "Workframe" that replaced the mostly text based WorkFrame/2 and was a integrated product unlike the latter tool, an "Visual Builder" for visual programming of visual and non-visual parts, compiler/linker, a Debugger and sundry build and Make tools and other utilities.

If certain rules were followed code written under the VisualAge C++ system was portable between OS/2, MS Windows and AIX without any changes, and the package offered a number of tools and libraries to ease porting between the supported operating systems.

Versions

  • Version 5 was delivered in 2000 and version 6 in 2003, both were only made available for AIX and both had and additional separate command line only compiler equivalent to the "IBM C and C++ Compilers" that is known as simply "C for AIX".

Version 4

IBM VisualAge C++ Professional 4.0 was a radical update to the VAC product that merges the IDE, compiler and debugger into one program that brings with it a host of benefits that are not really or not easily possible with a traditional C compiler such as incremental compilation, some clever code lookup and on-the-spot debugging tricks. Since the new integrated IDE/Compiler no longer has a workframe integrated into the WPS as it was with 3.0.x compatibility between different OS versions is greatly enhanced, as all workframe functions are replicated or redundant with the new UI the only loss is the ability to integrate third party software into the workframe has been removed. Originally released on 1998-12-18, and in addition to the VAC 4 development kit the package also came with a copy of "IBM C and C++ Compilers Version 3.6.5" (See below).

  • ANSI/ISO 1998 C++ compatible, also supports and comes with ANSI/ISO STL, and Open Class 4.0.
  • Available in Simplified Chinese and Japanese in addition to English.
  • Last known Windows version is 4.0.3, while last known OS/2 versions are 4.0.1.

There was some acrimony towards IBM from OS/2 users of VAC4, IBM initially announced the end of life of the product in 1999 for both MS Windows and OS/2 while it kept updating the AIX version. The announcement was less than a year from the original release of the product and despite the release of Fixpack 1 for both the Windows and OS/2 had some serious bugs that left the tools more or less useless. After an uproar from VAC customers and after it had been pointed out that this could lead to lawsuits since this state of affairs contravened consumer protection laws in a number of countries, IBM decided to extend the support into 2001 and promised a Fixpack 2 for OS/2 and MS Windows, but only delivered fixes for the Windows product, in fact delivered two fixpacks which actually left the Windows version quite usable and a number of third parties used it for some large projects. But the OS/2 version of VAC4 remains mostly unusable and the bulk of OS/2 developers used the 3.6.5 version instead, and indeed that was the version IBM used internally for delivering support up until they EOL'd OS/2 support in 2006.

Although highly innovative and a tool that pointed the way forwards for C and C++ development tools and sported features that have never been replicated in any other system, the release of VAC4 seems to have an all round disaster. A fairly large number of German software houses had taken up the compiler after the release of the Windows version of VAC 3.5, the compiler was available in German, it had a fairly mature object and template library in the form of "Open Class" at a time when the STL was promising, but mostly useless, had better visual development tools in general than the competition and it had a high amount of compatibility with the 3.0.x version of VAC for OS/2 meaning that the task of writing applications that targeted two of the largest 32 bit operating systems on the market was simplified. OS/2 had a relatively large following in the country as the largest local PC manufacturer and retailer ESCOM had delivered their PC's with both Windows 95 and OS/2 Warp installed as standard.

VAC 3.5 was very buggy at its initial release but IBM provided fixes in a timely manner and did so as well for Open Class, but with the release of VAC4 they dropped the German version which felt a bit odd at a time when more than half of the participants on the English language VAC forum were native German speakers, the initial release was extremely buggy and IBM did not release fixes for quite a while, and when they arrived they fixed only a few of the most complained about bugs, likewise Open Class 4 was much buggier than the previous release and no fixes were released for that either, a few software houses persevered using the 3.6.5 compiler, but a year after the release of VAC4 the bulk of German developers, and all of the bigger ones had moved off not just the VAC4 system but off IBM tools altogether.

IBM copyright notice
Desktop folder after 3.6.5 installation

IBM C and C++ Compilers Version 3.6.5

As VisualAge 4.0 was a radical step forward it meant that as it stood the tool-chain was not compatible with earlier C projects that were developed in VAC version 3.x or IBM C Set++ for OS/2, this was in particular problematic for driver development that all relied on code that needed quite a bit of massaging to work with 4. This could become something of a cost issue for IBM since re-writing their entire driver codebase could get expensive and it was decided that releasing an updated version of the 3.x tool that only received limited updates was cheaper than wasting time on updating older code for no other reason. So a command line compiler with a version number 3.6.5 is shipped with VAC4 in versions available for OS/2, AIX and MS Windows. IBM called it the "IBM C & C++ Compiler" rather than VisualAge since it did not feature any visual tools, but actually it is an update of the compiler included in VAC 3.x and has better compatibility with projects created with VAC 3.5 for MS Windows.

  • C & C++ Compilers are command line only and therefore do not support any visual tools built into the IDE, including Visual Builder, Configuration Optimizer, Data Access Builder, IDE debugging. The kit however comes with a separate graphical debugger and text mode debugging using classic IBM or third party tools is supported as well. You could also use visual tools from VisualAge C++ 3.0 with some caveats though.
  • Other v4 IDE bound features such as incremental compilation are not supported.
  • However the improved memory management routines that were introduced with v4 are supplied with 3.6.5, as are separate resource tools for creating and compiling resources and converting resources between platforms.
  • Also includes the full-text online help search engine.
  • Like the rest of the 3.x branch, 3.6 is ANSI C++ 1992 compliant rather than ANSI 1998 as VAC4 is and it does not support ANSI/ISO STL, however unlike the older 3.x versions it does support Open Class 4.0.
  • Available in Simplified Chinese and Japanese in addition to English.
  • Last known OS/2 version is 3.6.5-FP2 for the English version and 3.6.5-FP1 for the Simplified Chinese and Japanese versions. Last known MS Windows version is 3.6.5-FP2-TF2 for the English variant, 3.6.5-FP2 for the Japanese one and 3.6.5-FP1 for the Chinese version.

Version 3.5

Because of the large amount of changes needed to support Windows 95 and NT a version of 3.0.x for MS Windows was never released, however a version 3.5 was introduced that is mostly compatible with the OS/2 v3.0.x variant and is even better supported with 3.6.5.

  • Available in German and Japanese in addition to English.
  • Last known version is 3.5.9-PF1 for the English version, 3.5.9 for the Japanese version and 3.5.2 for the German version.

Version 3.0

Initial release of the VisualAge C++ toolkit, it gets version number 3 since it is a follow on to the IBM C Set++ for OS/2 package, this was an OS/2 only product with Windows and AIX versions not showing up until v3.5 and 4.

  • ANSI 1992 C++ compliant, supports templates but not namespaces that were introduced in a later ANSI STL standard.
  • Available in German and Japanese in addition to English.
  • IBM kept issuing fixes up until 2001 for the compiler which meant that it was in many ways the most stable C toolkit available for OS/2 both in regards to code and app stability, it is for many the most preferred version of the tool especially for driver programming although most application developers that do not need the visual tools that come with 3.0.x prefer using the later 3.6.5.
  • Last known OS/2 version is 3.0.8-TFP2 for the English version, 3.06 for the German and Japanese versions

Links

  • There is a number of optional tools and utilities to be found on the IBM FTP site, these are mostly for the 3.x branch.
  • Updates for the AIX versions of VisualAge C++ can be found here.

VisualAge C++ 3.x updates

Study the readme text files that comes with the fixpack files, the fixpack files need to be installed in a specific order.

VisualAge C++ 4 updates

VAC Extensions and VAC++ specific libraries

Publications

Books

  • Law; Love; Olson; Tsuji: Power Programming with VisualAge C++ - Wiley 1996, ISBN 0-471-16482-8
  • Carrel-Billiard, Jakab, Mauny, Vetter: Object-Oriented Application Development with IBM VisualAge for C++ for OS/2 - Prentice Hall, ISBN 0-13-242447-9
  • Nilsson, Jakab: VisualAge for C++ Visual Programmer's Handbook - Prentice Hall, ISBN 0-13-614322-9
IBM Redbooks
  • SG24-5489 - Getting to Know VisualAge C++ Version 4.0

Local articles

Articles

License

  • Commercial software - Discontinued

Publisher