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 <