Does it matter in which language a given software was written in?

In summary, the choice of programming language does not significantly impact the overall performance of a program. However, it can affect the software development process and the number of bugs and vulnerabilities present. Interpreted languages may run slower than compiled languages, but with modern advancements, this difference has decreased. Ultimately, the choice of language often depends on personal preference or company requirements, and most languages now have free and open-source options available.
  • #1
Avichal
295
0
I have seen many articles stating that some 'xyz' software was written in c++ or java or python.
Does it matter what language it is written in? Ultimately the software is in machine language right? Why should the language matter?
 
Technology news on Phys.org
  • #2
Python doesn't have pointers, so that could have an effect on some programs. Some languages have features that are only natively implemented in some processor instructions sets, such as Cobol and some mainframes (like an IBM 360 to 390 edit and mark instruction, used in Cobols move corresponding operator). In the case of C++, processor specific library functions could be used to duplicate those special features (I don't know if this could be done with Java or Python, unless they can call assembler or C / C++ compiled functions).

Other languages like APL, which is normally intepretive, but with a few compilers, tend to favor using fewer operations on larger amounts of data. This creates more overhead in many cases, but it's the style of that language, and it's mostly used for problems oriented to this type of approach.
 
  • #3
Or looking at it this way: why do you suppose interpreted languages were designed to begin with? Interpreted languages like python were originally designed to avoid having to compile code - and maybe avoid buying a compiler license. The tradeoff is interpreted languages, overall, run more slowly than compiled languages.
15 years ago this was a drawback.

As computers have become much faster interpreted languages have gained favor. Incorporating specialty libraries, like bignum libraries, has also been accelerated as acceptance grows. It is sort of a positive feed back loop. More features == more users == demand for more new features.

Compiled languages take advantage of optimizations performed on the fly by compilers, that may not be easily realized in interpreted languages. Where runtime efficiencies are important - in a realtime applications for example-- compiled languages are close to a must use case.

Bottomline - for most stuff we find out there, coding is done in language Q because the programmer is fluent in language Q or because the place where the coder works insists on language Q. Generally, it does not matter much all that much which language, hardware notwithstanding. But you will always find people taking sides to plug their favorite (usually meaning the language that person is best with) in those 'who cares?' cases.

Pick one and use it.

Because of linux, GNU, and people like Guido van Rossum, many languages are now essentially free of cost and licensing requirements. If you have a Windows PC, try installing cygwin. (www.cygwin.com) The last time I counted there were 20+ open source languages out there.

FWIW - van Rossum was obsessed with Monty Python's Flying Circus, a group of English comedians. Hence the name "python". Eric Idle has a python IDE named after him "idle", same reasoning.
 
  • #4
Depends. Languages that are normally interpreted (Python) and hybrid languages (Java) usually run code slower than languages that are compiled (Fortran). Theoretically, you could compile or interpret any language, so language does not really matter in terms of performance.

Where language does matter is in the software development process. Programs written in more concise, less complex languages should contain less bugs/security vulnerabilities than programs written in less concise, more complex languages. The number of bugs/vulnerabilities has been empirically shown to be function of lines-of-code and software complexity.
 
  • #5
In general no not really. To expand on what ektrules pointed out though there are languages like Ada that are have features like strong typing to reduce bugs/errors and is supposedly structured to be more readable and therefore be easier to maintain and verify functionality. It is popular in military aerospace work for these reasons.
 

FAQ: Does it matter in which language a given software was written in?

1. Does the programming language used affect a software's performance?

Yes, the programming language can affect a software's performance. Some languages are more efficient and have faster execution times, while others may require more resources and have slower speeds.

2. Is it important for a software to be written in a specific language?

It depends on the software's purpose and requirements. Some languages are better suited for certain tasks, so it may be important to choose the right language for optimal performance and functionality.

3. Can a software be translated to a different language without affecting its functionality?

In most cases, yes. As long as the translation is done accurately and all necessary components are included, the software's functionality should not be affected. However, there may be some exceptions depending on the complexity of the software.

4. Does the programming language used affect a software's compatibility with different operating systems?

Yes, it can. Some programming languages are more compatible with certain operating systems, while others may require additional steps to make the software work on different systems.

5. Are there any disadvantages to using a less commonly used programming language for software development?

There may be some disadvantages, such as a smaller community for support and resources, potential compatibility issues, and a learning curve for developers. However, there are also benefits to using less common languages, such as uniqueness and potential for niche markets.

Back
Top