[Info-vax] Status of the PostgreSQL port?
David Froble
davef at tsoft-inc.com
Mon Jun 29 16:16:08 EDT 2015
John Reagan wrote:
> On Monday, June 29, 2015 at 12:25:56 PM UTC-4, David Froble wrote:
>> Stephen Hoffman wrote:
>>> On 2015-06-29 02:47:11 +0000, BillPedersen said:
>>>
>>>> ...I look forward to continuing to work with them and VSI Engineering
>>>> as we get this project moving again.
>>> Or maybe looking at the lack of C11, at what SSIO and the jackets and
>>> the other limitations of the current CRTL are intended to address -- and
>>> how could I ever forget my old friend, the spectacularly modular and
>>> infinitely supportable and maintainable use of logical names as an RTL
>>> feature control mechanism? -- and just nuke it all from orbit. Deploy a
>>> new and modern C RTL VSIC$CRTL, either the existing C bits rethought and
>>> rewritten and re-architected, or possibly based on the musl C library,
>>> and schedule the existing DECC$CRTL for deprecation.
>> While I detest the language in general, I feel that I've got to agree
>> with Steve on this issue, and further, I have strong opinions on how
>> such options should be handled.
>>
>> In every program I write in Basic, the following can be found:
>>
>> OPTION SIZE = ( INTEGER WORD , REAL DOUBLE )
>
> BASIC is very good at providing compiler source options to match the command line options.
>
>> Do I count on some logical to indicate I want Word integers and D_Float?
>> No freeking way!
>
> The DECC$ logicals do not control that behavior. They control RUN-TIME behavior, not COMPILE-TIME compiler options.
I used an example. My contention is that sources should always control
anything that if not happening as intended, the program will do very bad
things. Just as the example for integers. Pretty bad if the program is
compiled with the wrong integer size. Gee, I wonder what was in that
high 16 bits I just stomped on?
>> Do I count on compiler switches to use Word integers and D_Float? No
>> freeking way!
>
> True that there isn't a "#pragma float" or such to encode such requirement in the source code. However, programs usually compile with build instructions (a makefile, a build.com, etc.). That isn't just a C-ism. You see the same thing with most the other languages on OpenVMS that don't have source options that correspond to the command line options.
Yes, I've seen build procedures. But, can the sources be compiled
without the build procedure? If so, look out, downhill runaway train.
>> A programmer must know what he's doing, and control everything about the
>> programs he writes. To depend upon something in the local environment
>> to control such things is much worse than stupid. It's reckless and
>> negligence. As soon as that program gets build in a different
>> environment, things don't go downhill, things are in a free fall drop.
>>
> If you have run-time requirements (certain CRTL behaviors, certain minimum quotas, etc.), your program can check for those at startup (some CRTL feature logicals require that you set them in a LIB$INITIALIZE routine). However, features like SET PROC/PARSE=EXTENDED which might impact the invocation, you have to set on your own.
>
Yep, that's more of what I'd expect. If things ain't right, throw out
the anchor.
More information about the Info-vax
mailing list