Re: [CAD_CAM_EDM_DRO] Re: New CNC software rev finally done...
Posted by
Jon Elson
on 2000-11-25 21:10:58 UTC
Alan Marconett KM6VV wrote:
front panel switches, etc. You really don't want to write assembly
language programs more than a few thousand lines. If you do,
(I have), you will spend months tracking strange bugs, unless you
have very disciplined design habits, and structure your programs
very carefully.
But, the program that reads Gerber files and produces raster data for
the laser photoplotter runs to about 30,000 lines of code, with several
hundred procedures, dozens of data record formats, etc. The chance
of making hard to find errors in plain C are enormous, and the checking
that (plain) C can do on pointer references is quite weak. With Pascal,
the checking at compile time is VERY rigorous, and the checking at
run time can be enabled to catch all sorts of programming flaws that
would lead to erroneous output, unpredictable performance and general
"crashiness" of the programs. I almost NEVER see this sort of
stuff in my Pascal programs, as it is pretty hard to have a haywire
pointer damage a data structure that later causes another part of the
program to blow up. It is EXTREMELY hard to find this sort of
problem, and that is the kind of thing that (plain) C causes ALL the time!
C++ adds the rigor that C lacks, and actually gives you a lot more
rigor, but you have to refrain from going around the C++ restrictions
to do things the 'easy' way.
Jon
> Jon,I've done it all, patched multi-user timesharing systems through the
>
> Just curious, why could you have "NEVER gotten this working in plain C"
> ? I never got up to any great speed on Pascal. I think that was my
> .ASM period!
front panel switches, etc. You really don't want to write assembly
language programs more than a few thousand lines. If you do,
(I have), you will spend months tracking strange bugs, unless you
have very disciplined design habits, and structure your programs
very carefully.
But, the program that reads Gerber files and produces raster data for
the laser photoplotter runs to about 30,000 lines of code, with several
hundred procedures, dozens of data record formats, etc. The chance
of making hard to find errors in plain C are enormous, and the checking
that (plain) C can do on pointer references is quite weak. With Pascal,
the checking at compile time is VERY rigorous, and the checking at
run time can be enabled to catch all sorts of programming flaws that
would lead to erroneous output, unpredictable performance and general
"crashiness" of the programs. I almost NEVER see this sort of
stuff in my Pascal programs, as it is pretty hard to have a haywire
pointer damage a data structure that later causes another part of the
program to blow up. It is EXTREMELY hard to find this sort of
problem, and that is the kind of thing that (plain) C causes ALL the time!
C++ adds the rigor that C lacks, and actually gives you a lot more
rigor, but you have to refrain from going around the C++ restrictions
to do things the 'easy' way.
Jon
Discussion Thread
Dave Kowalczyk
2000-11-23 19:08:23 UTC
New CNC software rev finally done...
Wally K
2000-11-24 10:42:01 UTC
Re: New CNC software rev finally done...
Alan Marconett KM6VV
2000-11-24 15:10:14 UTC
Re: New CNC software rev finally done...
Dave Kowalczyk
2000-11-24 20:13:58 UTC
Re: New CNC software rev finally done...
Jon Elson
2000-11-24 22:38:27 UTC
Re: [CAD_CAM_EDM_DRO] Re: New CNC software rev finally done...
Alan Marconett KM6VV
2000-11-25 09:39:09 UTC
Re: New CNC software rev finally done...
Jon Elson
2000-11-25 21:10:58 UTC
Re: [CAD_CAM_EDM_DRO] Re: New CNC software rev finally done...
ballendo@y...
2000-11-25 21:33:13 UTC
Re: Re: New CNC software rev finally done...
Alan Marconett KM6VV
2000-11-26 14:09:40 UTC
Re: New CNC software rev finally done...
dave engvall
2000-11-26 18:34:14 UTC
Re: [CAD_CAM_EDM_DRO] Re: Re: New CNC software rev finally done...
Jon Elson
2000-11-27 00:34:56 UTC
Re: [CAD_CAM_EDM_DRO] Re: Re: New CNC software rev finally done...
Alan Marconett KM6VV
2000-11-27 11:13:39 UTC
Re: New CNC software rev finally done...