What is the most powerful programming language?

In this article, the author argues that LISP is a powerful, perhaps the most powerful, language.


In your opinion, what is the most powerful language?  Why?

See also:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Irwin SantosComputer Integration SpecialistCommented:
Machine language based on the processor...Without the low level coding..

NOTHING will work.
Guy Hengel [angelIII / a3]Billing EngineerCommented:
There are only 2 aspects:
* WHAT are you tring to develop as kind of application?
* WHAT os are you developing the application for?

there is not 1 most powerful or 1 best programming language, they all have strong and weak points
How do you define powerful?
In a sense, Turing showed 70 years ago that all programming languages are equally powerful.
(languages that aren't that powerful we generally don't regard as programming languages)
Although if and when anyone writes a language for programming quantum computers,
that may become the most powerful language.
OWASP: Avoiding Hacker Tricks

Learn to build secure applications from the mindset of the hacker and avoid being exploited.

This question is not a good idea. Every language has it's advantages and disadvanteges. Common Lisp has surely some merits, as have Haskell, Ruby, Ocaml, C and even C++ ;-)

So the question is what are you going to do? If you write code for SAP you probably go for ABAP. If you are working on Zope it would be a good idea to use Python etc.

LISP could do something but..
1) I don't think that LISP is the best choice for manipulating hardware for example.
2) I don't think that LISP is the best choice to write something that has to work really fast.

As was said above suitability of a language depends mainly on the problem to be solved.
A programming language is decided of its power and utility value from a wide range of factors. Check out this discussion:

this question is almost meaningless, with being set in context.  It is sort of like asking which is the best car to buy.  If you are planning to enter the Grand Prix of Monaco with your new car, then I would not suggest that you purchase a Hummer H2.  Or if you are planning to journey to the mountains of Tibet, then a Lamborgini would not be a wise choice.  

The concept of 'best' or 'most powerful' is almost completely dependent on the nature of the application for which you plan to use the language.  If you are planning to develop an application to process income tax returns (along the line of TurboTax), then LISP might not be a good choice.  On the other hand, if you are planning. ON the other hand, if you are developing an Atifical Intelligence application LISP would be a very natural choice, while Assembler would not be - Assembler may be considered 'powerful', but does not lend itself to the application need at hand.

should have read: "this question is almost meaningless, withOUT being set in context"

Irwin SantosComputer Integration SpecialistCommented:
How about the most powerful program hasn't been invented yet.

Like Dr. Soon's programming language that created the AI for Data's neuron net on Star Trek - Next Generation....

Leo EikelmanDirector, IT and Business DevelopmentCommented:
I would arguably say that C++ is the most powerful language.  It combines high-level object oriented styles with low level C.  Unlike Java, it does not lack features in templates or operator overloading.

The only problem with this language is that debugging is more difficult then others.

According to the notion of "poweful" as used in the referenced article I would agree that Lisp is the most powerful.
(Although progams that write programs are aslo used in Perl)
Irwin SantosComputer Integration SpecialistCommented:
"powerful", yet ultimate power should be looked at as heirarchy...or say "King of the Mountain" wth subjects.

Consider my first post (first comment in thread)...without the machine language, none of the higher level programming languages will work, C, LISP, whatever...

Therefore the most powerful program is the processor based machine language
Generally, in programming literature I think, powerful is considered a language which gives the programmer possibilities to create powerful applications without too much coding.
But apart from that, everything depends... :)
Mike TomlinsonHigh School Computer Science, Computer Applications, and Mathematics TeachersCommented:
"Therefore the most powerful program is the processor based machine language"

Nobody writes any reasonably complex application in machine language...it is too darned hard to manage for the human brain!

Yes...the higher level languages all eventually get converted to machine language at one point or another, but you're not going to be very productive as a programmer coding in machine language.

I don't even cosider machine language a choice in this discussion...

You wouldn't give someone driving directions to somewhere by describing in excruciating detail how to operate the gas/brake pedals and steering wheel at every point along the trip!
Some might argue that if you are smarter than, and have a lot more time than a compiler,
you may be able to give better details abouts how to operate the gas/brake pedals and steering wheel at every point along the trip than a higher level compiler would.
On the other hand, in the DARPA Grand Challenge race last year where competing programs actually were operating the gas/brake pedals and steering wheel,
the team that tried to specify the trip in the most excruciating detail was not the winner.

I have seen specialized applications running on slow, cheap processors with minimal memory and tight real time constraints that did require manual tuning at the machine level,
But I don't know if I would characterize techniques that are useless on any other machine or in any other application as "powerful".

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Programming Languages-Other

From novice to tech pro — start learning today.