opinions-programmingLanguages

Programming languages should be

these all go together; the goal is to minimize the amount of time it takes another programmer to read and understand code, and to minimize the amount of time it takes the original guy to write the code.

the code should be concise so that there is less code to read and write.

conciseness must not come at the expense of readability.

using libraries allows you to say in a line what it might have taken a whole function to say without a library. so they are concise. But they confuse other people who don't know the library. so, to be readable, library calls should become standardized.

I am perhaps pretty extreme about this last point. I feel that even common idioms which are only 3 or 4 lines long should be replaced by a single, standardized library call (for instance, in Perl,

    $filename = $_[0];
    local undef $/;
    open(IN, $filename);
    $file = <IN>;
    close(IN);

should be replaced by a single library function (actually, there is one available, "slurp"; but it isn't standardized, so using it might be a wash for readability)

Note that the goal of having a "powerful" language is incorporated into what I call "concise".

I believe that the number of "basic" commands that every programmer "needs to know" will grow by maybe a factor of 6 or so. For instance, in addition to "if" and "while", I think everyone should know the "map" command (and I think there should be a "map" cmd in every language, although perhaps it can be implemented as a function of a small set of simpler commands).