Does VSI have a preferred or official language for system programming
for OpenVMS?
I know system programming for VAX/VMS was done in MACRO-32 and BLISS-32,
and at least some system programs were written in C when Alpha was introduced.
VSI has the BLISS reference manual on the Legacy shelf.
Have all the MACRO and BLISS programs been ported to C or C++, or will
they be in the future?
About 40% of the operating system is now written in C, 30% in both MACRO-21 and BLISS. ^^^^^^^^
Have all the MACRO and BLISS programs been ported to C or C++, or will
they be in the future?
Does VSI have a preferred or official language for system programming
for OpenVMS?
I know system programming for VAX/VMS was done in MACRO-32 and BLISS-32,
and at least some system programs were written in C when Alpha was introduced.
VSI has the BLISS reference manual on the Legacy shelf.
Have all the MACRO and BLISS programs been ported to C or C++, or will
they be in the future?
Does VSI have a preferred or official language for system programming
for OpenVMS?
I know system programming for VAX/VMS was done in MACRO-32 and
BLISS-32, and at least some system programs were written in C when
Alpha was introduced.
VSI has the BLISS reference manual on the Legacy shelf.
Have all the MACRO and BLISS programs been ported to C or C++, or will
they be in the future?
Starting in the early 1990s, the language choice for DEC OpenVMS was C.
On Thu, 19 Dec 2024 15:56:43 +0900, David Meyer wrote:
Have all the MACRO and BLISS programs been ported to C or C++, or will
they be in the future?
I hear there is this new language called “Java”, that is supposed to take >over from C++ ...
Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
On Thu, 19 Dec 2024 15:56:43 +0900, David Meyer wrote:
Have all the MACRO and BLISS programs been ported to C or C++, or will
they be in the future?
I hear there is this new language called “Java”, that is supposed to take
over from C++ ...
When Java first came out, I had this image in my head of a bunch of
managers sitting around a table asking "What can we do to make computers
more slow? How can we sell people on more expensive hardware?" "I know,
we can get the UCSD P-System for the new millennium!"
generational GC is very efficient at average but it has horrible real
time characteristics due to the dreaded ms GC pauses - got fixed via
special JVM's ...
Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
On Thu, 19 Dec 2024 15:56:43 +0900, David Meyer wrote:
Have all the MACRO and BLISS programs been ported to C or C++, or will
they be in the future?
I hear there is this new language called “Java”, that is supposed to take >>over from C++ ...
When Java first came out, I had this image in my head of a bunch of
managers sitting around a table asking "What can we do to make computers
more slow? How can we sell people on more expensive hardware?" "I know,
we can get the UCSD P-System for the new millennium!"
On 2025-02-23, Scott Dorsey <kludge@panix.com> wrote:
Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
On Thu, 19 Dec 2024 15:56:43 +0900, David Meyer wrote:
Have all the MACRO and BLISS programs been ported to C or C++, or will >>>> they be in the future?
I hear there is this new language called “Javaâ€, that is supposed to take
over from C++ ...
When Java first came out, I had this image in my head of a bunch of
managers sitting around a table asking "What can we do to make computers
more slow? How can we sell people on more expensive hardware?" "I know,
we can get the UCSD P-System for the new millennium!"
As Arne is well aware, my number one issue with Java is how the bloody
^&^%*& JNI interface was designed. It's utter crap, especially when you
are trying to get it working on Android. There is a replacement in the
works, but you still have legacy device issues to deal with so that
will not really make a difference for a few years
My number two issue is the lack of actual unsigned integers in Java.
Some hacks have been added to later Java versions to support unsigned integer operations, but it's still signed integers at the core as I understand it.
The lack of unsigned integers is a PITA.
The decision to implement generics in a backwards compatible way in Java
5 had some immediate benefits, but we are also paying the price today.
On Mon, 24 Feb 2025 14:37:54 -0500, Arne Vajhøj wrote:
The lack of unsigned integers is a PITA.
Also the lack of typedefs. A basic convenience, but such an important one.
The decision to implement generics in a backwards compatible way in Java
5 had some immediate benefits, but we are also paying the price today.
It seemed to be done to maintain backward binary compatibility with older bytecode that could not be recompiled. Was there a lot of such bytecode? I never realized ...
Type declarations are part of the Pascal way.
But I don't think it is the same in OO languages.
I have never heard a Java developer ask for it.
On Mon, 24 Feb 2025 16:55:31 -0500, Arne Vajhøj wrote:
Type declarations are part of the Pascal way.
But I don't think it is the same in OO languages.
I have never heard a Java developer ask for it.
Never written things like this?
private final HashMap<Integer, ArrowLabel>
SatLabels = new HashMap<Integer, ArrowLabel>();
Or this?
return
new Iterable<Map<String, String>>()
{
public Iterator<Map<String, String>> iterator()
{
return
new ResultMapIterator
(
Resolver.query
(
/*uri =*/ ProviderUri,
/*projection =*/ FieldNames,
/*selection =*/ Selection,
/*selectionArgs =*/ SelectionArgs,
/*sortOrder =*/ SortOrder
),
FieldNames
);
} /*iterator*/
} /*Iterable*/;
But I think it is good code.
And then there’s the long-windedness of code like
static final java.util.Map<Integer, String> TypeNames;
/* mapping from sensor type codes to symbolic names */
static
{
TypeNames = new java.util.HashMap<Integer, String>();
TypeNames.put(Sensor.TYPE_ACCELEROMETER, "accelerometer");
TypeNames.put(Sensor.TYPE_AMBIENT_TEMPERATURE, "ambient temperature");
TypeNames.put(Sensor.TYPE_GRAVITY, "gravity");
TypeNames.put(Sensor.TYPE_GYROSCOPE, "gyroscope");
TypeNames.put(Sensor.TYPE_LIGHT, "light");
TypeNames.put(Sensor.TYPE_LINEAR_ACCELERATION, "linear accel");
TypeNames.put(Sensor.TYPE_MAGNETIC_FIELD, "magnetic");
TypeNames.put(Sensor.TYPE_ORIENTATION, "orientation");
TypeNames.put(Sensor.TYPE_PRESSURE, "pressure");
TypeNames.put(Sensor.TYPE_PROXIMITY, "proximity");
TypeNames.put(Sensor.TYPE_RELATIVE_HUMIDITY, "relative humidity");
TypeNames.put(Sensor.TYPE_ROTATION_VECTOR, "rotation");
TypeNames.put(Sensor.TYPE_TEMPERATURE, "temperature");
} /*static*/
because the language doesn’t provide expressions that evaluate to
common structure types like dictionaries/maps.
On Mon, 24 Feb 2025 20:33:07 -0500, Arne Vajhøj wrote:
But I think it is good code.
I think it is bloody long-winded code.
In C++ I could write things like
typedef std::map<std::string /*section*/, SectionParams>
SectionTable;
typedef std::pair<std::string, SectionParams>
SectionTablePair;
typedef SectionTable::const_iterator
SectionTableLister;
But that just give the reader of the code a few more names to remember
what is.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 437 |
Nodes: | 16 (2 / 14) |
Uptime: | 194:05:08 |
Calls: | 9,135 |
Calls today: | 2 |
Files: | 13,432 |
Messages: | 6,035,425 |