On Thu, Aug 09, 2012 at 10:50:11AM -0400, Hendrik Boom wrote:
> 
> There have been better systems langauges, mostly little used and 
> forgotten because of the overwhelming inertia that C has.  My 
> favorite is Modula 3.  It is suitable for writing operating systems, 
> and has been so used.  It tends to lead to efficient, reliable 
> code.  There have been others.
> 
> Modula 3's specific handicap is that it's distributed under a 
> free-sofware licence that happens to be incompatible with the GPL and 
> after a series of  corporate takeovers, the entity that now owns the 
> copyright no longer has any interest in it, so it's impossible to get 
> the licence changed.  And it's not popular enough to make it worth-while 
> to write a new implementation. 

By the way, I now use Modula 3 for personal stuff that needs to be fast, 
and reliable, and which I never plan to distribute or make available to 
others.  Bouht a month ago I've started using OCaml for  stuff that has 
to be compatible with the GPL.  I don't know yet if it's really, really 
fast.  So far it's been fast enough.

OCaml is a descendant of ML, a language designed for writing theorem 
provers and proof-checkers for formal logics.  The whole point of ML was 
to make it impossible for a bug to enable a nontheorem to appear to 
have been "proved"; therefore an emphasis on security that made 
debugging really easy.

I used OCaml in July to write a video game that I entered in the 
Liberated Pizel Cup (http://lpc.opengameart.org/contest) -- a 
contest to write a free/libre video game in a month.  I learned OCaml 
and relearned the use of OpenGL during that same month.  Despite a 
number of OCaml's annoying peculiarities and mmy initial ignorance of 
it, it turned out to be a surprisingly productive tool.

Although the O in Ocaml is there because it's an object-oriented 
version of its predecessor, Caml, I never had ooccasion to use any of 
its OO features.  It doesn't force it on you like, say, Java or Eiffel.
Nor does Modula 3, by the way.  I prefer to use objects and inheritance 
only when the application fits those techniques, and a lot don't.
Neither do most applications don't require  bit- or byte-level storage 
management or low-level control of the hardware, which is what C was 
designed for originally.
 
-- hendrik
_______________________________________________
mlug mailing list
[email protected]
https://listes.koumbit.net/cgi-bin/mailman/listinfo/mlug-listserv.mlug.ca

Reply via email to