 Date: Mon 9 Jan 95 05:02
 From: Jonathan de Boyne Pollard (2:440/4)

-------------------------------------------------------------------------------
   The (highly unofficial) FIDONET OS2PROG C++ compiler pros and cons list
   -----------------------------------------------------------------------


   EMX 0.9a  --  Contact : mattes@azu.informatik.uni-stuttgart.de

       [ ] OS/2 Developer's Toolkit (*NOTE*) [ ]  IDE
       [ ] PM Class libraries                [ ]  Guidelines
       [ ] Ships on CD-ROM   (*NOTE*)        [ ]  Workframe
       [ ] SOM support                       [ ]  DirectToSOM C++

   NOTES : You have to hunt for EMX.  Most sites are not always up to
   date, or carry the complete distribution.  One of the CD-ROMs of the
   Hobbes OS/2 FTP site comes with EMX pre-installed (the other does
   not).  Unfortunately, there is no author-supported site from which
   EMX can be File Requested or downloaded, making it harder to obtain.
   The author only distributes via FTP from ftp.uni-stuttgart.de.
   Buying the OS/2 Developers' Toolkit is highly recommended for PM
   work, since it includes PM documentation.

   PRO : Free (it's essentially the GNU compiler "rebadged").
   Exceptional support for porting UNIX applications to OS/2.  Will
   develop OS/2 and extended DOS applications.  Lots of UNIX libraries,
   such as curses, available.  Exceptional support for POSIX.1. Good
   optimiser.  Full source to all libraries is available.  Full source
   for the compiler itself is available.

   CON : Free (you get what you pay for, including the support). No 586
   support. Development tools are as horrible as the UNIX originals, and
   are strictly command-line based.  Tools frequently default to UNIX,
   not PC, standards, especially filename conventions (working from OS/2
   programming reference books with EMX C++ is a challenge not
   recommended to the novice).  No PM support tools (help compiler,
   dialogue editor, et al.). The DOS extender supplied doesn't work
   under OS/2 because it uses VCPI.  No printed manuals. No OS/2 API
   documentation. Excessive reliance on extra tools (such as TeX) that
   you have to go hunting for.


   Borland C++ 1.5  --  Contact : sales@borland.com (?)
   (Version 2.0 with OWL/PM is currently shipping.  But I don't have a
   copy yet.  An update to this entry is thus pending.)

       [-] OS/2 Developer's Toolkit (*NOTE*) [*]  IDE
       [ ] PM Class libraries  (*NOTE*)      [*]  Guidelines
       [*] Ships on CD-ROM   (*NOTE*)        [ ]  Workframe
       [ ] SOM support                       [ ]  DirectToSOM C++

   NOTES : Borland has integrated the OS/2 Developer's Toolkit into
   its own toolset.  However, it is the 2.0 version of the Toolkit
   (everyone else is on 2.1) with some glaring errors in the
   documentation.

   PRO : Quick development and fast compilation.  Very cheap.  Neat and
   easy to use IDE, that integrates editor, compiler, linker, debugger,
   and API reference, and that allows you to compile and edit at the same
   time.  Good standalone PM debugger (Turbo Debugger GX).  Comes with
   Borland's own very good PM Resource Workshop.  Upward compatibile with
   Borland C++ for DOS source (apart from recent changes to C++).  Will
   run on an 8Mb machine.  Full source to all libraries available.  32-bit
   in-line assembler (BASM) and standalone assembler (TASM).  Full
   run-time library source available (included in CD version).

   CON : IDE uses MDI paradigm, eating screen space.  No support for
   16-bit development (which rules out device drivers).  Support for
   calling 16-bit code (thunking) has serious bugs in.  No support
   for 586.  A lot of non-standard items in the libraries and
   headers.  Mediocre optimiser.  Resource workshop isn't as good as
   Borland *could* do.  No support for POSIX.1.  Tools are
   counterintuitive for those coming from other compilers/platforms
   (e.g.  they don't use environment variables).  Poor technical
   support (bugs are rarely acknowledged).


   Watcom C++ 10.0  --  Contact : sales@watcom.on.ca  (FIDONET 1:221/186)

       [*] OS/2 Developer's Toolkit          [*]  IDE  (*NOTE*)
       [ ] PM Class libraries                [*]  Guidelines (*NOTE*)
       [*] Ships on CD-ROM (*ONLY*)          [*]  Workframe
       [*] SOM support (*ONLY v1*)           [ ]  DirectToSOM C++

   NOTES : Guidelines officially supports 9.5, but 10.0 should work.
   Some parts of the IDE are Windows programs (although the resource tools
   supplied in the OS/2 Developers' Toolkit may be substituted for them).

   PRO : Highly portable (Windows, extended DOS, OS/2, Netware, QNX).
   Industrial strength optimiser.  Has its own IDE similar to Workframe.
   Develops for both 16 and 32 bit platforms (including 586).  Able to
   generate applications for multiple platforms from OS/2 with little or
   no source changes.  Able to debug DOS and Windows applications
   running in separate sessions within OS/2.  32-bit assembler (WASM).
   Excellent technical support (Watcom will ship patches to major bugs).

   CON : Non-standard linker.  Printed manuals are extra and will almost
   double the price of the product.  You pay Bill Gates for at least
   three of the bundled toolkits.  Although there are fixes available,
   the SOMObjects Developers' Toolkit supplied is only for version 1 of
   SOM, whereas OS/2 WARP requires version 2 (installing version 1
   SOM.DLL will disable Workplace Shell -- be warned!).  The
   documentation is badly edited, repetitive, and in cases misleading.


   Metaware High C++ 3.31a  --  Contact : techsales@metaware.com

       [*] OS/2 Developer's Toolkit          [ ]  IDE
       [ ] PM Class libraries                [ ]  Guidelines
       [ ] Ships on CD-ROM                   [*]  Workframe
       [*] SOM support (*NOTE*)              [*]  DirectToSOM C++

   NOTES: The OS/2 Developers' Toolkit 2.1 supplied supports SOM 1.
   DirectToSOM C++, however, supports SOM 2.  The SOM.DLL supplied with
   High C++ is a later release than the one supplied with WARP, but the
   latter may be used with no ill effect.

   PRO : Highly portable (Windows, extended DOS, OS/2, UNIX).  Supports
   586.  Industrial strength optimiser.  Ships with the excellent Rogue
   Wave Tools.h++ class libraries (with everything from strings to
   databases).  Excellent and detailed manuals.  Proposed ISO C++ features
   not in any other current compiler on any platform (namespaces,
   iterators, case ranges, nested functions, pass-by-name). Supports
   customisable function calling conventions.  Excellent POSIX.1 support.
   Excellent technical support (Metaware will ship patches to major bugs).

   CON : Terrible text-mode debugger.  No 16-bit support at all
   (Pre-thunked versions of VIO16/MOU16/KBD16 are supplied, though).  No
   emitter to translate IDL to DTS C++.


   IBM CSet++ 2.1  --  Contact : cset2@vnet.ibm.com
   (Version 3.0 is currently in closed beta test.)

       [*] OS/2 Developer's Toolkit          [ ]  IDE
       [*] PM Class libraries (ICLUI)        [*]  Guidelines
       [*] Ships on CD-ROM                   [*]  Workframe
       [*] SOM support (*ONLY v1*)           [ ]  DirectToSOM C++

   PRO : *The* standard for OS/2 development.  An industrial strength
   optimiser.  586 support.  Good thunking support.  Excellent PM debugger
   (IPMD).  Toolset is easy to learn for those upgrading from Microsoft
   compilers.  Good technical support (the usual IBM CSD system).

   CON : Demands enormous amounts of memory (16Mb is a working machine!).
   No cross-platform compatibility.  No support for 16-bit development (so
   device drivers are out here too).  No support for POSIX.1.  Requires a
   device driver in CONFIG.SYS for the execution profiler.  The SOM
   support supplied is only for version 1 of SOM, whereas OS/2 WARP
   requires version 2.

-------------------------------------------------------------------------------
   The (highly unofficial) FIDONET OS2PROG C++ compiler pros and cons list
   -----------------------------------------------------------------------

                                GLOSSARY
                                --------

   What is ...

    ...  the OS/2 Developers' Toolkit ?

      Available separately, this comprises the header files, link
      libraries, sample source, API reference, and PM utilities for OS/2
      development.  IBM part number 61G1416.


    ...  the SOMObjects Developers' Toolkit ?

      The OS/2 Developers' Toolkit 2.1 only supports SOM version 1.x.  SOM
      2.x requires a different toolset, works differently, and uses IDL.
      The SOMObjects Developers' Toolkit 2.0 contains a a SOM 2.0
      compiler, IDL files, and documentation.  It is available separately,
      with IBM part number 59G5667 (check the version number when
      ordering).  Version 2.1 is due for release during December 1994, and
      plans are in the works to integrate the SOMObjects toolkit with the
      main developers' toolkit.


    ...  the OS/2 Developers' Assistance Programme ?

      The DAP is a subscription service from IBM that provides BBS
      technical support, marketing and product information, and discounted
      prices on OS/2 development tools to developers of OS/2 products.


    ...  the OS/2 Developers' Connection CD-ROM ?

      A common fallacy is that this is part of the DAP.  Although DAP
      membership gives cheaper subscription rates to DevCon, the DevCon
      CD-ROMs are available on their own as single issues or as a yearly
      subscription.

      The DevCon CD-ROMs contain a wealth of source code, tools,
      development utilities, and documentation for OS/2 programmers.


    ...  Workframe ?

      Again available separately, this is a compiler independent
      development environment.  Workframe is a means of managing projects,
      and uses compiler-supplied DLLs to handle things like generating
      makefiles, and displaying options settings notebooks for the
      compiler, linker, and resource tools.  It integrates with EPM (or
      other editors) to allow you to edit source files at the point of
      error.  I've had two projects, one CSet++ and one High C++, both
      being built *simultaneously* in Workframe.


    ...  SOM ?

      System Object Model.  It's what drives Workplace Shell.  It's a
      language-independent run-time environment for class and object
      support.


    ...  DSOM ?

      Distributed SOM.  This allows programs to share classes and objects
      among themselves.  OS/2 WARP 3.0 is Workstation DSOM enabled, in
      that DSOM operates among processes on one machine.  The DSOM
      Workgroup enabler runtime (IBM part number 59G5679) enables DSOM to
      operate over a LAN using TCP/IP, NETBIOS, or named pipes.


    ...  DirectToSOM C++ ?

      DirectToSOM C++ compilers allow SOM classes to be defined and used
      using standard C++ class syntax.


    **** SOM, DSOM, and DirectToSOM C++ deserve a better explanation   ****
    **** than this, and an additional document will soon be available. ****


    ...  Guidelines ?

       Like Visual BASIC ?  You'll love this ...

       You can obtain GUIDOC.ZIP, the introductory documentation for
       Guidelines via FIDONET File Request from most Fernwood
       Filebone sites, or via FTP from Hobbes.

   > JdeBP <                  > (c) Copyright 1994 All Rights Reserved. <
   > JdeBP@donor2.demon.co.uk                         FIDONET 2:440/4.0 <


