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
