| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | The SOMObjects Travel Guide |
The (highly unofficial) FIDONET OS2PROG C++ compiler pros and cons list
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
The SOMObjects Travel Guide
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
There have been four major "versions" of SOM, version 1.x, 2.0, 2.1,
and 3.0. SOM 3.0 isn't "officially" here yet, but several tools, such
as MetaWare High C++, have been supporting it for just under a year
now.
SOM 1.x was "ante CORBA", and SOM 2.0 and 2.1 are "post
CORBA". This
means that the two are not strictly compatible. Although IBM has done
its best to allow SOM 1.x applications to continue to work on SOM 2.x,
SOM 1.x is now a lame duck, as is OIDL, the language that it used.
With the advent of SOM 2.x came several standard SOM class libraries,
namely the Persistence, Distribution, Collection, and Replication
frameworks ("framework" is a posey name for class library). These
allow SOM programmers to load and save objects, to use objects
remotely, to make collections of objects, and to keep multiple copies
of objects. There are a couple of more specialised class libraries as
well.
Using the Distribution framework is often known colloquially as DSOM,
Distributed SOM. DSOM can either be Workstation Enabled, meaning that
different processes on one machine can share DSOM classes and objects,
or Workgroup Enabled, meaning that DSOM classes and objects can be
shared across a LAN using TCP/IP, NETBIOS, or IPX/SPX.
The SOM runtime itself ships as standard as part of OS/2, since
Workplace Shell is a SOM application that requires it. OS/2 version
2.1x came with SOM 1.x, and none of the standard SOM class libraries.
OS/2 WARP 3.0 however comes with SOM version 2.1, and all of the
standard SOM class libraries in DLL form (in the \OS2\DLL directory).
The Distribution framework supplied is only Workstation enabled. The
DSOM Workgroup Enabler runtime is available separately as IBM part
number 59G5679. Workplace Shell in OS/2 WARP 3.0 is in fact a DSOM
server.
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
There are various tools available for writing SOM-capable programs.
The OS/2 Developers' Toolkit version 2.1 includes a basic set of SOM
tools for creating SOM 1.x programs. It also contains SOM 1.x OIDL
class definitions for the Workplace Shell classes in OS/2 2.10.
The SOMObjects Developers' Toolkit version 2.1 for OS/2 provides a lot
of SOM development tools for SOM 2.1, including the SOM compiler that
is used to translate class definitions written in IDL into language
bindings for use in programs, all of the class definitions for the
various SOM standard class libraries, and several interface repository
management tools.
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
The SOM support of the various C++ compilers currently breaks down as
follows :
The position of EMX C++ 0.9a respective to SOM is in some doubt.
There are several compiler-specific parts of the SOM header files,
which EMX C++ doesn't seem to have. Certainly EMX C++ is not an
"official" SOM platform.
Borland C++ 2.0 does not ship with any SOM headers either (BC++OS2
version 1.0 used to have them). Confusion seems to reign over this,
since Borland C++ *is* an official SOM platform.
Watcom C++ 10.5 ships with version 2.0 of the SOMObjects Developers'
Toolkit, which allows users of Watcom C++ to write SOM 2.0 programs
using the C/C++ language bindings.
( One warning about Watcom C++ 10.0b : Its installation program is
badly broken, in that it doesn't check that it is actually upgrading
your current level of SOM support. It places its \WATCOM\BINP\DLL
directory at the head of LIBPATH in CONFIG.SYS. On OS/2 WARP 3.0
systems, this results in replacing the SOM 2.1 runtime with the SOM
2.0 runtime, and Workplace Shell is then unable to start. Editing
CONFIG.SYS by hand to move the directory containing the SOM 2.0
runtime to the tail of LIBPATH cures the problem. )
IBM CSet++ 2.1 ships with version 2.1 of the OS/2 Developers' Toolkit,
which only allows users of CSet++ to write SOM 1.x programs. For SOM
2.x programs, the SOMObjects Developers' Toolkit must be purchased
separately.
IBM VisualAge C++ 3.0 is a DirectToSOM C++ compiler, allowing people
to implement and use SOM 2.1 classes as native C++ classes.
MetaWare High C++ 3.32 is also a DirectToSOM C++ compiler, which has
the added advantages of being on its third release, and including more
C++ language features from the proposed Standard C++, such as
namespaces, RTTI, and exceptions. Again, it allows people to
implement and use SOM 2.1 and SOM 3.0 classes as native C++ classes.
¯ JdeBP ® ¯ (c) Copyright 1995-1996 All Rights Reserved. ®
¯ JdeBP{at}donor2.demon.co.uk FIDONET 2:440/4.0 ®
--- FleetStreet 1.16 NR
* Origin: JdeBP's point, using Squish (2:440/4.3)SEEN-BY: 50/99 54/99 270/101 620/243 625/160 711/401 413 430 934 712/311 407 SEEN-BY: 712/505 506 517 623 624 704 713/317 800/1 @PATH: 440/4 141/209 270/101 712/624 711/934 |
|
| SOURCE: echomail via fidonet.ozzmosis.com | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.