there is no perfect language for coding

you can joke that x is “perfect” or that a language is close enough, but theres no such thing.

if i were to pick a perfect language, i would probably single out python. but its not the fastest, i dont like the direction its going in, its not the best language for low-level tasks like writing drivers or an operating system (youd probably want c for that) and its not even the best language for teaching first-time coders, but it does pretty well in that regard.

then theres fig. its designed for teaching, it addresses a number of things that make python less ideal sometimes, its heavily integrated with python (even allows inline python code and translates into python code) but its got tons of design decisions that are for a range of specific uses. i love using fig and i use it all the time, but its good for what its good for– it isnt perfect either.

one of the surest ways to improve (or ruin) a language is to try to make it perfect. people dont know (im not sure they can know) what “perfect” would be, but that doesnt stop them from trying. occasionally, that effort goes well. more often, it seems like they break more than they fix.

this is subjective of course, but thats really the point– the cons are subjective, but so are the pros. and so really no language can be “perfect.” people could never agree what that would even mean, and many notions of perfection are so impractical, they might as well be impossible.

the more elaborate your notion of quality is, the more work it takes to maintain it if you update it. the amount of work that will actually get done depends on the level of resources and interest towards that effort.

this is a highly variable thing, more than people seem to realize. they take for granted that monumental efforts require monumental interest– whether to volunteer time, or spend money, or both. and that level of interest can change any time the nature of the result changes.

some people clearly build large languages on the assumption that there will be substantial interest– at least their own. its difficult to predict the amount of interest even you will have in something in the future. im still very interested in fig, 2 years later. and ive been using python for most of a decade.

but if trends are easy to predict, no one is releasing much data on them– or almost no one is paying much attention to the data. if any language were perfect, the data probably wouldnt be as spread out as it is.





10 thoughts on “there is no perfect language for coding

  1. i agree that currently the situation is like that

    your language if good on one issue, is bad on another

    but i am still waiting for an all domain lang, with which web designing and os writing can be done

    even with such a lang, you will have to make decisions which will impact satisfaction

    but then customisation will reduce the gap

    syntax customisation
    design decisions customisation

    the language will be flexible enough to be a langage maker

    the resultant lang will be half the original dev decisions and half user decisions

    what i have attempted to include to a lesser degree in newB

    Liked by 1 person

    1. you could always try combining all the languages into one. be wary though, that seems to be the real goal of .net/visual studio (and also why no one can figure out what it is.) then again, i think to a more limited degree, thats what gcc became about.

      Liked by 1 person

  2. Yeah, there is no perfect language, but at least, there is nearly perfect choice, that can varies from different people. Some says, it’s Python, because that is their first language (first language will give you the biggest impact through your programming career/hobby), and the features it has made them happy and of course, easy to learn also a bonus.

    So far, the best language to a person, is the language that the person knows well and better than any other, which is why it can be ‘absolute perfect’ for the user.

    Sometimes, as a sysadmin, your ‘best’ language is either Bash, Tcl, or Perl, for other domain, their best is Java, C++ and Python. The problem you gonna solve really can make your best overall language worser than anything else in specific domain.

    I’m not convinced that general-purpose language in reality can do ‘everything’ with limited time and resources, which is why we need to play the strength of a certain tools, to cover up the wasted time using our ‘perfect’ language.

    Liked by 1 person

  3. Indeed, though yes, it does depend on what “perfect” means. Perfect for coding what? Web? Apps? OS? Everything? Everything, no. Sure, I agree. But I think pinning the web on a single language may be better than what we’re doing now: trying to use 3: HTML, CSS, and JS.

    But rather than arguing semantics, one wonders if we can’t combine certain language features to make what we ultimately want. What it really feels like is that we have a bunch of compromises for various reasons. “Won’t fix” “Not backwards compatible” “Can’t be minified” etc. Some things can’t be improved, admittedly. JavaScript could never be modified to use some of the most convenient features of Copper. So we keep dreaming about something better.

    When people say “perfect” they probably mean a language you can do anything in without a headache. “Ideal” would be a better word.

    Liked by 1 person

    1. i find css loathesome. the only thing i really like it for is the interface between javascript and html.

      the idea is alright– a hierarchy of attributes to colour an formerly imperative sequence of attributes, but browsers will *never* catch up to the over-the-top corporate whims of whatwg and w3c.

      imo what really happened is this:

      we had a symphony of kludges that was denounced as noise, then replaced with an industrial cacophony of kludges.

      is it possible to ride moores law and even newer technology into a level of abstraction to rival complete machine-cities of frameworks? or will things like css start to fall off as we put more and more and more on top? if the future of the web is anything like the current trajectory of cpu/gpu/bios/uefi/kernel/os/network/shell/application/scripting/ui/user, we are in serious trouble, and “everyone” is going to love it 😦


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s