[M3devel] Heartbleed, initialization, and Modula-3

Hendrik Boom hendrik at topoi.pooq.com
Fri Jun 6 23:36:06 CEST 2014


On Fri, Jun 06, 2014 at 09:47:15AM -0500, Rodney M. Bates wrote:
> 
> 
> On 06/05/2014 03:51 AM, Henning Thielemann wrote:
> 
> Prior to the last 3 or so years, I kept logs of every bug, classified and
> periodically tabulated them.  One thing I found is the distribution has
> steadily been skewing more toward simple oversights that I knew perfectly
> well better than, leaving the subtle algorithmic bugs less frequent.  I
> consider this good news, because it is exactly the huge volume of trivial
> little things that a language can help with, leaving more of my limited
> attention to those it cannot.
> 
> The situation tilts even more in favor of safe languages when doing maintenance.
> Here, the information about what needs to be checked-on is just so widely distributed
> over so much code.  In practice, it's hardly possible to dig it all out, though
> I certainly give it a good try.  A safe language helps immensely.

Yes.  I found a bug log to be quite interesting.  In the early 70's I 
kept a bug log while writing an Algol 68 compiler.  I found that almost 
all my bugs could have been caught by the compiler at compile time if I 
had written it *in* Algol 68.

Sometime later I had the opportunity to use a commercially written 
Algol 68 on the CDC Cyber, and found that my bugs *were* caught at 
comile time.

Algol 68 and Modula 3 are the only languages in which I have written 
substantial blocks of code (500 lines or more) that ran correctly first 
time.

I suspect that OCaml is another such language.

I think that all programming lnguage designers should keep bug logs, 
and let the results influnce their language designs in an iterative 
desiign process.

-- hendrik



More information about the M3devel mailing list