Jeff -
> There are many new features, and improved structure, in R3.14 which
> would increase the size of iocCore independent of the use of C++.
While I don't doubt either the intent of improved structure,
or the observed increase in executable size, I question that
one implies the other. To me, one obvious metric for an improved
structure would be an efficiency increase.
> With RAM memory selling for about 50 cents per megabyte, and with new
> VME processors arriving with either 32 MB or 64 MB of RAM, it's becoming
> less important to dwell on code size changes of this magnitude.
> Nevertheless, there are many legacy 16 MB 68k based IOCs ...
This brings to mind the apocryphal "frog in the kettle" story.
As long as EPICS memory usage creeps up to fill the memory available
in the latest VME cards, it is doomed to only run on high-end
embedded hardware. Some (like me) would like to communicate
with an EPICS-based network from physically smaller and smaller
devices, as they become available.
The EPICS host we observed this effect on, and which runs R3.14
xcas in all its C++ glory with room to spare, measures
1.4" x 2.4" x 0.3" and dissipates 2 Watts. Still, it is a board
that is distinct from the data acquisition and control circuitry,
a boundary that I would like very much to erase.
> What are the benefits of C++? Probably the most significant benefit is
> the reduced likelihood of making mistakes when maintaining large source
> codes.
My limited experience with C++ suggests that its programming paradigm
encourages the expansion of both the source code and binary size, and
makes debugging harder.
- Larry