[Ilugc] Language metrics (Was Re: .a-tip-a-day patch etc.)

  • From: kapil@xxxxxxxxxxx (Kapil Hari Paranjape)
  • Date: Wed Sep 30 22:06:51 2009

Hello,

Since naming specific languages seems to activate the sensitive
spots, I will restrict myself to "abstract nonsense" here.

There are a number of terms that are used when measuring (programming)
languages. Sometimes these are called "language metrics":

 1. Popularity: The number of people reading/writing programs
    in the language.
 2. Efficiency: The speed with which programs written in the
    language can be run. (This might or might not include the time
    taken to compile the programs).
 3. Readability: How easy it is to figure out what a program is doing
    by reading the `bare' code. (Explanatory comments not included!)
 4. Writeability: How easy it is to convert a given algorithm into a
    program in that language.
 5. High level/structured: How many different logical/mathematical/end-user
    concepts are embedded in the language.

While there is doubtless a certain amount of subjectivity in assigning
values to these metrics, the real subjectivity in our judgement about
languages arises from how much weightage we assign to each of these.

 1. If we are writing for a specialised developer community,
    popularity has little value.
 2. If we are writing small programs, efficiency of the running
    code may not bother us at all. Also compiler efficiency is of little
    relevance for daemons even if it is just-in-time compilation.
 3. If we do not really care whether others read our programs (e.g.
    throwaway code) then readability is not an issue.
 4. If a large library of efficient builtin functions is provided, we
    don't mind having to look up an index to use these functions. So
    implementing algorithms is not "our job"; gluing together these
    functions _is_.
 5. If we are manipulating very simple data objects in a
    straightforward manner (such as reading/writing from devices) then
    high-level concepts may even be a hinderance!

Regards,

Kapil.
--

Other related posts: