Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does "powerful" mean, when discussing programming languages?

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?

Say if someone says "language X is more powerful than language Y" or asks the same as a question, what do they mean - or what information are they trying to find out?

like image 833
Andrew Russell Avatar asked Jun 12 '10 05:06

Andrew Russell


People also ask

Why Python is called powerful language?

That's because the language emphasizes readability and makes coding very easy. Python is also the fastest-growing programming language in the world. Its high-level, interpreted, and object-oriented architecture makes it ideal for all types of software solutions.

What makes C++ so powerful?

The control C++ gives the user over system resources enables a skilled coder to write a program that is quicker and more powerful than a similar program written in another programming language. This makes C++ the language of choice for writing game engines, games, and other resource-hungry applications.

Is C++ a powerful language?

C++ is known to be a very powerful language. C++ allows you to have a lot of control as to how you use computer resources, so in the right hands, its speed and ability to cheaply use resources should be able to surpass other languages.

Which language is more powerful C or C++?

For instance, C++ offers a stronger type checking and allows more programming styles than C. Additionally, detecting bugs and other issues in the C++ code is easier than in C since C does not offer exceptions. The term exception refers to problems that appear while the program runs.


2 Answers

It does not have a well-defined meaning. In these types of discussions, "language X is more powerful than language Y" usually means little more than "I like language X more than language Y." On the other end of the spectrum, you'll also usually have someone chime in about how any Turing-complete language can accomplish the same tasks as any other Turing-complete language, so that neither is strictly more powerful than the other.

I think a good meaning for it is expressivity. When a language is highly expressive, it means less code is required to express concepts. To me, this doesn't just mean that you have to write less code to accomplish the same tasks, but also that the code is easily readable by humans. Of course, generally (to a point), having fewer lines of code to read makes the task of reading and understanding easier for humans.

Having a "powerful" standard library comes into play here along the same lines. If a language comes equipped with thorough, complete libraries, then idiomatic code in that language will be able to benefit from the existing library code and not have to repeat or reinvent common functionality in application code. The end result is, again, having to write and read less code to accomplish the same tasks.

I keep saying "generally" and "to a point", because once a language gets too terse, it gets more difficult for humans to decipher. I suppose at this extreme, a language may still be considered "more powerful" (or even "too powerful"). So I guess I'm saying my personal interpretation of "powerful" includes some aspects of "useful" and "readable" in it as well.

like image 195
Vineet Avatar answered Sep 19 '22 21:09

Vineet


C is powerful, because it is low level and gives you access to hardware. Python is powerful because you can prototype quickly. Lisp is powerful because its REPL gives you fantastic debugging opportunities. SQL is powerful because you say what you want and the DMBS will figure out the best way to do it for you. Haskell is powerful because each function can be tested in isolation. C++ is powerful because it has ten times the number of syntactic constructs that any one person ever needs or uses. APL is powerful since it can squeeze a ten-screen program into ten characters. Hell, COBOL is powerful because... why else would all the banks be using it? :)

like image 35
Amadan Avatar answered Sep 22 '22 21:09

Amadan