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

Reply via email to