On Sat, Sep 12, 2015 at 04:04:14PM +0000, Jonathan Wilkes wrote: > Hi tilt!Is this a serious response? I ask because the other > candidates-- an obscure language and a dead language-- were not.
Programming language popularity is more a matter of fashion than technical excellence. Modula 3 isn't dead. Moribund, maybe, but not dead. And it easily beats a number of madly popular languages for systems programming. Its one of the few languages I've used in which large programs often (but certainly not always) run correctly the first time they get through the compiler. There is a .deb for Modula 3 available for download, but it's not part of Debian as far as I know. Ocaml is very much alive. It originated in the formal verification and proof-checking community, which very much wants to avoid accepting invalid formal proofs because of program bugs. It is now suitable for a variety of applications. It is maintained by its users, as is much free software, and mostly by Jane Street. They are some kind of financial services company, and they seem to consider that it gives them enough of a competitive edge that they actively work on its maintenance. They actively recruit Lisp and OCaml programmers. For systems work, there are bindins available to a lot of the usual C libraries, and it's normal to make more. OCaml is available in Debian and willl be available in Devuan again when the repositories are fixed. Of the Lisp dialects, I'd recommend implementations of Scheme. Here things get a bit messy. There are a lot of them, and each of them differs significantly in terms of what extra features they provided above and beyond the standard. If you look at Scheme, I'd suggest: * Racket, which is a serious language that has been used, for example, to implement a web server. * Guile, which is the official scripting extension language for GNU, * Gambit, which is compiled to C, and has extensions to make interfacing with C easy. Racket is available in Debian too, and I'd be surprised if it depended on systemd. Guile is probably as available, because it is a GNU project. It is made to be linked with C code, so you can write your program in Scheme while the dirty bits are offloaded to C. > > If so tell me which dialect to use. > -Jonathan Of these, I think Modula 3 is techincally most suited to the task, and OCaml is most likely to be compatibly avilabl into the future. Scheme is a mature language with excellent survivablility, but it changes a lot, and comes in too many dialects. It may not be what you want. But it is a foundatonal language, and one you should be familiar with no matter what language you actually use. Racket is probably the easiest dialect to get into, because there are some excellent introductory textbooks. -- hendrik > > > > > On Saturday, September 12, 2015 11:30 AM, tilt! <t...@linuxfoo.de> wrote: > > > On 09/11/2015 08:57 PM, Jonathan Wilkes wrote: > > [...] > > To anyone else mortified by this thread: name any of the obviously > > preferable languages for this job and I'll try my hand at porting to > > that language. I can't guarantee I'll know exactly what I'm doing, > > but I can guarantee that an entire class of potential bugs will > > magically disappear in whatever I end up with. > > Do it in LISP! It's perfect for list processing! :D > > Best regards, > T. > > _______________________________________________ > Dng mailing list > Dng@lists.dyne.org > https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng > > > > _______________________________________________ > Dng mailing list > Dng@lists.dyne.org > https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng _______________________________________________ Dng mailing list Dng@lists.dyne.org https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng