:: Re: [Dng] system scriptinng languag…
Top Page
Delete this message
Reply to this message
Author: Isaac Dunham
Date:  
To: T.J. Duchene
CC: dng
Subject: Re: [Dng] system scriptinng language.
On Fri, Dec 05, 2014 at 10:03:42PM -0600, T.J. Duchene wrote:
> Thanks for the comments! Those were some great thoughts.
>
> As I said in my original post, it was geared more toward discussion
> material - and I'm very pleased that Henrik and Vlad decided to speak.
> There really is no right answer to the language question, no perfect tool.
> My opinions of Python still stand. I've never felt comfortable with the way
> that Python has wiggled its way into becoming a Linux dependency,
> especially given its status as a "de-facto" language with no official
> standard that can be backward compatible. It is a fact that dynamically


At least it has multiple implementations (cython/pypy/jython/ironpython).
Perl, the other unspecified language, has only one implementation
that works the way it's expected to; Perl6 is still not the official Perl.

> typed languages are somewhat unpredictable in comparison to statically
> typed. Python is not a bad language, but it has what an "old school"
> programmer like myself would consider to be several flaws. For example, I
> despise garbage collection with extreme prejudice. Flaws in the garbage
> collector can lead to memory leaks that cannot be corrected until a new
> runtime is issued upstream, offering developers using the language a
> freaking nightmare in the meantime.



> > Oh, and Microsoft is planning to open source and port .NET to Linux,
> > please everybody hold the 'M$ is Cancer' comments for a sec, C# is a
> > pretty decent language for application development,
> > IMO it blows Java out of the water and it might have its uses.
>
> I wouldn't hold your breath on that one. C# has not been part of an
> official standard since version 2. Versions 3 and 4 are not covered,
> except by whatever "half a loaf" terms that Microsoft decides to offer.
> Even so, what has been released as an ISO standard with an explicit patent
> grant is a piecemeal standard of version 2 with several critical libraries
> missing from being a full cross-platform implementation. As for this new
> "open" version, I'll believe it when I see it. Microsoft can be as much of
> a "patent monger" as Oracle is with Java.


It's MIT-licensed with a patent pledge that covers "the standard plus
everything documented on MSDN":
https://github.com/dotnet/corefx/blob/master/PATENTS.TXT

Not that I'm interested in seeing daemons or system tools written in C# -
I've tried using Jupiter in the past, and it was a slug that took way more
disk than it deserved.
(I would hate to see Java used for that also.)

> In my mind, neither is worthy of trust, unless they want to place the
> current version of C# or Java under the auspices of the ISO/Ecma with an
> explicit RAND grant. As it stands both languages are a lawsuit waiting to
> happen.
>
> Thanks for the thoughts!
> T.J.
>
>
> On Fri, Dec 5, 2014 at 9:17 PM, Vlad <2389vbl@???> wrote:
> > I think that you nailed a lot of the problems still plaguing Python on the
> > head, however OCaml and Modula are a bit obscure and lack the extensive
> > libraries that Python brings to the table, moreover a lot of people know
> > python, it is used extensively in other distros, and it is a relatively
> > easy language to learn, I took a look at OCaml, and while it had some very
> > neat features I really don't think that it is something that many people
> > would like to learn or use.
> > This is of course just a first impression based on a cursory look at it, I
> > might be wrong, I am kind of curious about OCaml.
> >
> > We should also consider Go and Julia IMO.


Of the options that have been mentioned (ocaml, modula, go, julia,
and scheme in its various incarnations),
I'd rather avoid julia *because* of the extensive dependencies it brings in;
Go I'd rather avoid because it's pretty much new distros only;
OCaml without graphics is not too large, but isn't widely installed;
I've not tried Modula but my experiences with TurboPascal 5.5 (a very
distant cousin) don't make it sound like a bad idea;
and scheme seems acceptable in terms of disk space and availability,
though it would be very unfamiliar to many in the non-Emacs crowd
(I have avoided anything Lisp-based because I'd rather use the languages
that I know a little: namely C, sh and associated tools, and python.)

I haven't tried Lua myself, but it looks fairly easy to learn, is widely
portable, is used for system tools (with bindings available for openrc
and systemd), and doesn't use much by way of system resources.
The garbage collector can be stopped and started explicitly.

Thanks,
Isaac Dunham