This page was last updated on March 13th, 2020(UTC) and it is currently May 30th, 2023(UTC).
That means this page is 3 years, 78 days, 16 hours, 6 minutes and 7 seconds old. Please keep that in mind.
The first problem people have is that they think the langauge is the most important feature. In a way, they're right, but odds are, if they're approaching form this angle, they're going at it at the wrong angle: most people think that the language magically optimizes their code. The truth is, some languages inherently use constructions that are impossible to optimize. Take object oriented languages, for exaimple: most of the time, functions are "virtual." What this means is, in order for "X" to be treated like a "Y", the function must be stored as a variable, so that it can be overridden when necessary. But how often is that actually necessary?
Therein lies another problem. "Good coding practice" means less bugs, more portability, and faster development, but this comes at a cost: you're making the computer do work it doesn't need to, just in case. Externally, you would naturally wish for this, but it has this tendancy to do things like that internally, too, because everyone's internal code usually ends up being someone else's external code. This can also be within the same project, too: object files, which treat everything as external, including other object files in the same project. Just like coporations and governments end up corrupt and inefficient by their constant ass covering, programs tend to end up the same way. On the flip side, you tend to hear about it when someone doesn't cover their ass where they should.
So which language is "the fastest?" Well, if you compare apples to apples, you must be comparing similar work by the best programmers of each language when they're not worried about the stability of their code. From there, it becomes a matter of which language has the most ass crack hanging out, because some languages cover your ass way more than others. However, in the real world, we don't have experts of every language on equal footing: expert java coders are making programs that run faster than expert C coders, because the C coders are human and end up writing sloppy memory management schemes for dynamic memory allocation and freeing, resulting in memory leaks and fragmentation that wear down the whole system.
Another angle to the problem, and the one you're likely to take from above is, "Then what is the most appropriate lanaguage to use?" Well, that depends on the task, and often times someone who wants to use your code would say that it needed to be in another language. Ultimately, all the answers are bad, but some are worse than others. The more reasonable approach to this problem seems to be learning how to mix programming languages, which is entirely possible. I've seen code that mixed java with x86 assembly, which most people would say is impossible. But, even there, the challenge of linking can make mixing an issue as well, because maybe that thing you need for your fast GPU code is easier written and optimized in perl, but doing so makes it linked instead of inlined, which significantly slows down your code more than if you would've done it the hard way.
In the end, the correct answer needs to be "use your head and figure it out for your situation, because no general rule is reliable."
Get your own web kitty here!
©Copyright 2010-2023. All rights reserved.