I didn't have the time to respond to this message until now, pardon my
tardiness.
I really didn't want to respond to this thread but since this message
seemed aimed directly at me I felt like I had no choice. This is a public
list and the idea that someone could read this at a later date and infer
things from my failure to respond didn't sit well with me.
So very first off DO NOT, I repeat, *ABSOLUTELY* *DO* *NOT* *PUT* *WORDS*
*IN* *MY* *MOUTH*. You are certainly welcome to speak for yourself, *DO*
*NOT* *TRY* *TO* *SPEAK* *FOR* *ME*. I may absolutely *LOVE* Plus, I may
absolutely *DETEST* Plus, but your assertion of my opinion of Plus is
wholly and completely *BASELESS*, you do not have any evidence or
assertion by me what so ever, either here or any where else on the
internet about my opinion of Plus as a computer programming language,
good, bad or indifferent. On this point you are orders of magnitude
beyond clueless.
MTS is a dead system, there is only one system that I know of in the world
that is still up on a regular basis and doing anything of even minor
consequence. Plus is a dead language, although it could cross compile,
and may have been ported to another operating system/architecture or two,
it was never widely available and is virtually unknown outside of the MTS
community. So the fact is that the resources that are available to invest
in the future of MTS are *severely* limited. As far as any new system
code for MTS is concerned, the only *real* choices are Assembler H, using
*asmh, GOM, and Plus. Assembler H is a legacy, licensed, IBM program
product, which I am pretty certain we have a pretty firm if not final
answer from IBM that we will not be given permission to distribute, even
OCO, even on a dead operating system being distributed for
legacy/educational/hobby purposes only. I don't think anyone is really
interested in discussing GOM. So that leaves Plus, this is not a debate,
this is not a discussion, I didn't get to vote then, then I certainly
don't get to vote now and you absolutely don't get a vote. It just is,
MTS is a legacy system. What I did say and what I will continue to say is
that Plus is the only *reasonable* language for any future work in MTS,
whether I like it not, whether I think it is a good language or not or
whether you or anyone else thinks it's just a "warmed over Pascal".
The other reason that I felt it was important to respond is that I think
it is critical for anyone who reads this thread or seeks to look at/learn
about MTS, this person's opinion of Plus is completely immaterial, and
their criticism is a pointless straw man argument. For what purpose, some
casual, ancient MTS user that by his own admission hasn't even bothered to
install/run the currently available system, who appears to simply want to
hear himself talk, or trot old war stories about people that did something
that he disagreed with? Please, save your breath. You want to really be
honest?? Really, you trot out several paragraphs of criticism of a
computer language that was designed more than 4 decades ago and only came
in to modest usage 3 1/2 decades ago and argue about those design
decisions like there are decisions to me made today. Have you totally
lost it???? The fact is that these kinds of arguments/criticism/debate
only make sense in the context of resources to be allocated, there are
*NO* resources to be allocated, this is a *LEGACY* system, you want be
honest, then you need to get a grip on reality, while many things are
possible, only some things are realistic, and using any other language for
system development on MTS is *NOT* realistic. For an extra dose of
honesty, your opinion of Plus, my opinion of Plus, everyone else in the
*world's* opinion of Plus is complete immaterial, it *DOESN'T* matter, it
is not going to change a damn thing. There are no resources to port GCC
to MTS, to license *Asmh, or to come up with any other solution for system
development for MTS. We can barely find the resources to build a test
pack, and finish the Hercules/MTS TCP/IP work.
I know I am starting to repeat myself at this point, so I think I'll just
finish this up with this. You are way past annoying, you are completely
out of your element with your comments, you are mostly ignorant of any MTS
development history prior to it's shutdown and completely and totally
ignorant of what happened between the MTS shutdown announcement and it's
public availability several years ago. So unless and until you have
something to say that materially, positively contributes to maintaining
MTS as an interesting, living legacy/footnote in the history of computing,
please keep your stupid straw man arguments and other totally ignorant
opinions to yourself.
Thomas Valerio
p.s. I have tried to be polite and civilized, but this message really made
me livid. I apologize to others on this list if this message is upsetting
or bothersome, but I absolutely could not let this person's
assertions/opinions go unchallenged.
Post by ***@yahoo.com [hercules-390]Thomas, I understand you're a true believer in Plus. Hey, there was a
time when I could do anything in COBOL, given enough effort. That
included doing dynamic memory allocation and pointer arithmetic before the
compiler supported it. I also speak from experience in using Pascal on
MTS as part of my undergraduate computer science program.
I want you to understand that I don't say these things simply to annoy
you. I am just trying to be honest. I have worked with many languages,
and with compiler technology, so I understand languages both from an end
user standpoint and from how compilers deal with them.
We must be honest; Plus is just a warmed-over Pascal, and not all that
good of one. You are unhappy that people would want or need ASMH
workarounds, but to me, I'd feel the same way around Plus workarounds.
The only saving grace about Plus is that an MTS compiler for it still
exists. Other than that, Plus is ugly, clumsy and awkward. It is hard
to type, needlessly wordy with no compensating advantages. They can't
make up their mind whether they want to require semicolons or not, so
there's two pages of explanation on how to decide this, or if that
doesn't help, you can flip a coin.
It makes a lot of assumptions I would call "paternalistic" in the IBM
fashion - you know, where it makes arbitrary language decisions because
the designers think they know better, whether that is true or not. One
aspect of that is that source listings automatically reformat the source
according to some algorithm, and this cannot be disabled. I am sorry,
but if I choose to generate a source listing, I want my code to look
identical to the files it came from, and even if reformatting is
possible, it should be my choice, and not mandated by force.
Plus starts out by making the claim that it is platform independent, but
then when you get to how a real implementation works, it is very
dependent on platform specifics, word sizes, etc. They provide a
platform independent means of describing the precision of an integer, and
then lock their implementation into the limits of their platform. For
instance, the language could describe a 64-bit integer, but the compiler
doesn't support it because their platform doesn't. Platform independence
is nice in theory, but it's meaningless if you don't follow through on
it.
The claim about independence is all but meaningless. Further, since it
is a proprietary language that was never widely used or standardized
(unlike something like C) the task of porting it elsewhere is far more
difficult than should be necessary.
I observed a number of aspects of Plus that seem archaic, inflexible or just strange.
It is derived from Pascal, yet uses /* */ as comments. Part of the
appeal of deriving one language from another is to build on familiarity,
yet this is a change merely for the sake of change. So, let's use C
style /* */ comments. Well, if you're going to do that, why not support
// comments like C++, which are more reliable, less likely to be used
incorrectly, and are easier to type? No, Plus doesn't go there.
Then it decides to hold on to := as assignment, even though a simple = is
much easier to type. But, not satisfied with that, it bolts on a C-style
assignment operator syntax, but rather than using += for an increment
assignment, it stubbornly hangs on to the colon, giving us the much more
clumsy +:= instead. Why?
Plus claims to downplay punctuation in favor of keywords, and defines
many of them. Yet, it uses punctuation for comparisons like <= when they
could have used LE, etc. Not content with this, they defined the
language to use the proprietary IBM not symbol ¬ instead of a more
portable ~ or ^ but then they ALSO define a "not" keyword as an
alternative, again because they cannot make up their minds.
Then, this language you love so much is a dead language; there's no more
development being done on it, is there? Correct me, if I'm wrong. So
you are stuck with all these dumb language design decisions that will
never be corrected, because Plus is cast in stone.
Then there are all the good-intentions parts of the design that never got
implemented, and never will, evidently. Apparently most or all of
floating point math never got implemented. If we had something better
than a half-finished compiler, there would more on which to judge its
merits.
I know how difficult it is to write a compiler and get it working. I
have nothing but respect for anyone that can accomplish such a task.
And, clearly, Plus works because pieces of MTS are written in it.
However, having said that, simply because a compiler works it doesn't
mean that it's good or that it should be used. I could write code in
binary that worked, but that wouldn't be good either.
It is a shame that the designers of Plus didn't try harder to consider
contemporary language design paradigms. With a better insight into what
makes one language good and another not, a much better Plus could have
been designed.
I once had heard about an IBM/370 system that an auto company was
running, at a time when the 370's were first coming out. They had a vast
supply of "Autocoder" programs, which I understand was the assembler for
the 1401 machines. The long-time programmers just loved their Autocoder,
so they ran an IBM emulator to continue running Autocoder on this 370
machine that was initially IPL'd as DOS/VS, but once that was done, they
ran the Autocoder emulator 24/7.
To me, running Plus on MTS is like writing in Autocoder. The only reason
to do it is because you have a pile of legacy code, and you are
infatuated with a dinosaur language of the past. Hey, we are all
infatuated with dinosaur systems around here, and some of us are nearly
as OLD as dinosaurs; or at least we feel that way on bad days. That
doesn't mean it's a good thing. It's just a habit, a convention, it's
what you are comfortable with. You are more than welcome to be fond of
anything you like, but please don't act like Plus or MTS or any old
system is the only way to do things. It's not.