[Info-vax] VAX Macro to C conversion

Dave Froble davef at tsoft-inc.com
Wed Jul 10 11:47:53 EDT 2019


On 7/10/2019 10:50 AM, Bill Gunshannon wrote:
> On 7/10/19 10:06 AM, Scott Dorsey wrote:
>> Bill Gunshannon  <bill.gunshannon at gmail.com> wrote:
>>>
>>>> * no string type
>>>
>>> So what?  What's so great about a string type?  Fortran
>>> didn't have it until 77.  Pascal didn't have it until UCSD.
>>
>> Some of Arne's complaints about C are kind of silly, but this is a really
>> huge one.
>>
>> If you look at CERT advisories regarding security vulnerabilities in the
>> past few decades, you will see that the vast majority of them are the
>> direct
>> consequence of poor management of null-terminated strings.
>>
>> I know, the null-terminated string thing seemed like a good idea, and
>> easy
>> to graft onto C, but in the end it has been a terrible, terrible plan and
>> has cost us greatly.
>
> 1.  Null Terminated Strings are not unique to C.
> 2.  The competent programmer knows all of this in the first place
>     and should write his programs accordingly.  Just because the
>     language doesn't range check automatically (COBOL doesn't
>     either, probably for the same reason) doesn't mean the
>     programmer can't  or shouldn't.

A competent programmer may be competent because he/she picks the better 
tools for the job.  Applies to computer languages.

Progress is usually trying ideas, adopting those that work well, and 
leaving behind those that don't work so well.

Yes, null terminated strings pre-date C.  They were a poor idea then, 
and a poorer idea today.  Perhaps you still wish to use buggy whips?

> Read  my lips.  It's not the language.


Ok, then it's the programmer's fault for choosing a poor language.

No test should ever change data.  Even when coded improperly.


-- 
David Froble                       Tel: 724-529-0450
Dave Froble Enterprises, Inc.      E-Mail: davef at tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA  15486



More information about the Info-vax mailing list