Author: T.J. Duchene Date: To: dng Subject: Re: [Dng] [OT] Debian problems with Jesse - was simple backgrounds
On 03/02/2015 09:11 AM, Tor Myklebust wrote: >
> I'm even more confused by your position than I was before.
>
> I can see your point. I'll try to explain more concisely.
When I call something "overuse", I am referring to the ideas that an
interpreted language must be used as "glue" between two bits of C code,
that C is to be used "only as needed" or that interpreted languages are
the preferential language choice for writing basic system utilities.
These ideas has become more and more acceptable. They didn't used to
be. I remember when interpreted languages were either hobbyist playtoys
or teaching tools. Perl was used only for small jobs, and while shell
was used extensively in System 5 init files, you were expected to do all
serious work in C.
A respectable percentage of today's Linux distribution is a kludge of
rapid pre-existing hacks that do not always work well when layered. You
have something like adduser or other command utilities written in Perl,
which are then called by init scripts, which can then be called by still
more scripting in the form of a X GUI application to manage users. At
any stage it can be prone to unforeseen interpretation problems.
I'm just asking at what point would it be more beneficial to simply code
a library in something like C, and be done with it?
Perl, Python, and Java,and a number of other languages just do not
function well for certain kinds of tasks that require efficient resource
management over time, yet they are constantly being used by the
opensource community today in places were it might be advisable to
reconsider.
>
> Why pick on perl? Only because Perl makes itself the biggest target for example. I don't
HATE Perl. I've even written a lot of Perl code in my day. I also
recognize it for what it is. Perl is something that should be
restricted to unimportant, small user jobs that won't be used too often,
and most certainly never used with root permission. As everyone knows,
Perl has a very ugly history of permissions flaws, that can rear its
head if someone does not compile it properly.
> Why not pick on the huge number of low-quality C libraries that are
> out there? Yes, there can be low quality libraries in C. The main argument for
using Perl, or other similar languages, instead of C is that there is
less chance of errors (and thus better software) and you spend less time
using it. If as you point out you can have can have crappy code
anywhere so that tosses out the first argument. The second, that Perl
is a timesaver is entirely subjective. With the right libraries, and
enough actual use, anyone can write a small utility just as efficiently
in C or a similar language.
. >
> I don't think you said what you were trying to say. Judicious use of
> abstraction is what lets us write useful software in the first place.
True, however, there also comes a point where writing software in highly
abstracted languages (usually the interpreted sort) has diminishing
returns. I feel that they have been overused in the Linux ecosystem as
whole. My whole rant is really just chatting with the community and
seeing if anyone else shares that opinion. If you don't personally,
that's just fine by me. =)