Having written all that, I cannot let pass the> \ ?
opportunity to point out that you have chosen the
wrong language for your task. PL/I is supported on all
the platforms you have mentioned and its SELECT
statement allows everything BASIC's does and more. For
me, the choice of PL/I would have taken very few brain
cycles.
David really works hard at proselytizing for PL/I :-). He got me hooked in 1995 and I've never turned back; I have forgotten most of the
C that I ever knew.
I'm not sure about a PL/I for DOS, but there is a subset of PL/I for CP/M, if you are still using that system, somewhere :-).
However, if you are not in too much of a hurry at run time, you
could write your application in REXX.
(Due to unfortunate circumstances
that should have been under my control, I now need Object Rexx for
Windows in a Win98 partition; you will find it on one of the DevCon
discs in that suitcase.)
REXX has the same SELECT construct as does
PL/I. (REXX was derived, in part, from PL/I; in the same sense that the original line-by-line-compiled Dartmouth BASIC was derived from
FORTRAN.) I got my copy of REXX for DOS (Personal REXX v 3.0 by Quercus Systems) in 1991. It may still be available.
It is fairly easy to port applications between PL/I and REXX,
although there are constructs in REXX that are not available in PL/I (e.g., I had to write a PL/I subroutine using a KBD API call to get an equivalent to SysGetKey('noecho') in order to program "Press any key to continue" in PL/I).
Oh yes: I have a few programs written in BASIC PDS 7.1, compiled for DOS, that run fine under OS/2 in a VDM. One of these days, if I live
long enough, I will reprogram them in PL/I for OS/2.
David really works hard at proselytizing for PL/I :-). He got me hooked in 1995 and I've never turned back; I have forgotten most of the
C that I ever knew.
That's a strong statement.
As a matter of fact, my H-89 has CP/M as well as HDOS, I think! You>know that Gordon Letwin who was the architect for the original
Oh yes: I have a few programs written in BASIC PDS 7.1, compiled for DOS, that run fine under OS/2 in a VDM. One of these days, if I live
long enough, I will reprogram them in PL/I for OS/2.
Because of the way that PDS 7.1 was written to integrate the>assembler operations for the HEX21 interrupt work so well into
That and another of Gordon's diamond sharp gifts, variable>length string arrays with the assembly language automatic
Can REXX, for example, and PL/1, in one easy common source>code caper,provide me with full support for OS/2, WIN-ugh,
PL/1(i), whatever, OS/2, Win-ugh, DOS .. and REXX, are they>really suitable tools for poor Mikey?
Due to the coincidental initials, I have transliterated the code
that identifies things of mine that you quoted in yours, to "ml."
... Once, I rewrote one of
my DOS compiled BASIC utilities in C; both the new source code and the executable code files turned out be be about double the size of their BASIC equivalents, which taught me that C was a lousy language for data-processing applications. When C++ came along, I read a couple of books about it and decided that it was not for me.
Gates bought the origin of MDOS from a Seattle outfit called Seattle Computer Products. It was a 16-bit port from Digital Research's 8-bit CP/M. Letwin glides gracefully around this fact in his book on OS/2. Do not believe much, if any, of the Microsoft propaganda about "Microsoft Innovations!"
The Forward to Gordon Letwin's "Inside OS/2" (ISBN 1-55615-112-9), signed by Bill gates, carefully states that Letwin was "Microsoft's architect for OS/2." The only place in that book that says that IBM personnel contributed to the design (architecture) of the product is in the Introduction. In spite of what you may have heard, or understood
from what you read in that book, Microsoft did not write OS/2 1.0 all by itself. After MS picked up its marbles and left the game, IBM wrote
OS/2 1.3, and all following versions, without any help from Microsoft. (Next time you boot Warp 4, note that "OS/2" is a registered IBM trademark!)
I don't want to denigrate Letwin's contributions. After all, the patent for HPFS was issued to Letwin and assigned to Microsoft. (It is too bad that Microsoft has abandoned it for its own products.)
.. supported by OS/2 for "system integrity" reasons. You can find out which DOS constructs are not supported in an OS/2 VDM if you can find a copy of the out-of-print "OS/2 2.0 Technical Library" manual
"Application Design Guide" (IBM p/n 10G6260).
One could "integrate" assembly-language subroutines into programs written in the original MS BASIC compiler for CP/M, by linking them as called subroutines.
Similarly, you could link assembled subroutines
calling INT 21h functions in the first MS compiler for DOS. (To my knowledge, the later "MS Business BASIC" was the first MS BASIC compiler that let you call separately-compiled, as well as assembled, procedures, as either functions or subroutines.)
You are too young :-).
.. Variable-length string arrays were available
in CP/M BASCOM 7, as was built-in garbage collection. PL/I (and a few other languages other than C) also provide for variable-length strings, although you may have to specify the _longest_ string length you expect
to see.
The only "modern" language (other than BASIC) I know of that
provides for automatic garbage collection is Java.
Can REXX, for example, and PL/1, in one easy common source
code caper,provide me with full support for OS/2, WIN-ugh,
and DOS, for these?
Of course not. There is no such thing as true cross-platform compatibility at the source-code level unless the language is simple enough to not call on any operating system (or hardware) constructs that are not available in all of the platforms under consideration, and
unless all the platforms use the same word length for arithmetic operations.
You probably don't remember the anguish expressed by some
users when they learned that their Fortran programs, when run on the new 32-bit (numeric word length) System/360 machines, produced different results from when they had been run on the 36-bit 700/7000 series machines. (This is largely a result of doing arithmetic in floating point.) If you want more-or-less cross-platform capability, write
your application in Java. If you want arithmetic operations to be independent of hardware word length, use REXX. Otherwise, you are on your own.
Does PL/I have automatic garbage collection? Is the fact>that you don't consider PL/I to be a "modern" language, the
... I look at the issue of threading and DOS as probably>the worst problem in going forward in OS/2 and so on, yet
He noted FDA didn't really think about what really had to be>addressed for pure computer system use in medicine until the fatal
The application here is used, among other test-bed scenarios, in>medical environments. If I get trapped in the business of
To my knowledge, PL/I does not have automatic garbage collection. AFAIK, no language that requires a "FREE" (or equivalent) statement to recover memory otherwise lost in "the heap" has automatic garbage collection. I've never written a program (except in C) that required a "free" statement, so I really don't know.
I consider all of these (even BASIC) to be "modern"
languages. But then, I am very old.
There is no multithreading built in to any programming language that
I know other than PL/I (for "workstations") and Java. (I'm not sure
that one can write a Java interpreter or a PL/I compiler with built-in multithreading, that will work under an operating system that doesn't intrinsically support multithreading. For other languages, one makes calls on the operating-system API if one wishes to implement multithreading. The PL/I manuals warn _not_ to make such calls; use the appropriate PL/I functions, instead. IBM "host" [big iron] versions of PL/I implement multitasking within the same application, rather than multithreading, because the host hardware and operating systems support such constructs.
But I don't see how DOS can support multitheading per se.
OS/2 supports DOS multitasking in separate VDMs, but communication
between the DOS tasks is (intentionally) very difficult (and somewhat dangerous to the health of your system).
If I understand what you are talking about, "certification" means proving the whole system is bug free!!! For one thing, that is both theoretically and practically impossible!!
For more on the themes you expressed, see my message to David,
topic: "Extending PL/I," that I am uploading to this same echo at the
same time as this one.
The only way to catch a run-away pony in the near future will be
to get it as it leaves the barn, I think. And since we are
operating in near-real time with concurrent reasonable standard GAP
accounting double-entry scorecard work, that's, as far as I can
see, far beyond the intent or proposed scope of AMC- X12.
That should be GAAP (Generally Accepted Accounting Principles) GAP I believe sells blue jeans. <VBG>
Thank you very much for taking time with a very less>capable person than either of you two gents.
Sysop: | digital man |
---|---|
Location: | Riverside County, California |
Users: | 1,028 |
Nodes: | 17 (0 / 17) |
Uptime: | 180:44:41 |
Calls: | 503,705 |
Calls today: | 8 |
Files: | 158,903 |
D/L today: |
13,153 files (4,000M bytes) |
Messages: | 444,324 |
Posted today: | 2 |