What does “powerful” mean, when discussing programming languages?

后端 未结 14 543
梦毁少年i
梦毁少年i 2021-01-31 04:15

In the context of programming language discussion/comparison, what does the term \"power\" mean?

Does it have a well defined meaning? Even a poorly defined meaning?

14条回答
  •  粉色の甜心
    2021-01-31 04:29

    A precise answer can be tried to reach, by not assuming that the elements that define "powerful" (in the context of languages) come from so many dimensions.

    See how many could be, and a lot will be missing:

    • runtime speed
    • code size
    • expressiveness
    • supported paradigms
    • development / debugging time
    • domain specialization
    • standard libs
    • codebase
    • toolchain ecosystem
    • portability
    • community
    • support / documentation
    • popularity
    • (add more here)

    These and more parameters draw together X picture of how "programming in some language" would be like at X level. That will be only the definition, though, the only real knowledge comes with the actual practice of using the language, but i digress.

    The question comes down to which parameter will represent the intrinsic quality of a language. If you refer to a language in itself, its ultimate, intrinsic purpose is "express things", and thus the most representative parameter is rightfully expressiveness, and is also one that resonates frequently when someone talks about how powerful a language is.

    At the moment you try to widen the question/answer to cover more than the expressiveness of the language "as a language, as a tongue", you are more talking about different kinds of "environment", social environment, development environment, commercial environment, etc.

    Depending of the complexity of the environment to be defined you'll have to mix more parameters that come from multiple, vast, overlapping and sometimes contradictory dimensions, and eventually the point of getting the definition will be lost or the question will have to be narrowed.

    This approximation still won't answer "what is an expressive language", but, again, a common understanding are the definitions that Vineet well points out in its answer, and Forest remarks in the comments. I agree, for me "expression" is "conveying meaning".

提交回复
热议问题