:: Re: [DNG] Debugging netman auto-con…
Top Page
Delete this message
Reply to this message
Author: Hendrik Boom
Date:  
To: dng
Subject: Re: [DNG] Debugging netman auto-connect.
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! <tilt@???> 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@???
> https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng
>
>
>


> _______________________________________________
> Dng mailing list
> Dng@???
> https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng