[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