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

Click For Summary
SUMMARY

The discussion centers on the relevance of programming languages in software development, emphasizing that while the underlying machine language is universal, the choice of language can significantly impact performance and development processes. Compiled languages like C++ and Fortran generally offer better runtime efficiencies compared to interpreted languages such as Python and Java, particularly in real-time applications. The complexity and conciseness of a language also influence the likelihood of bugs and security vulnerabilities, with languages like Ada being favored in critical sectors for their strong typing and readability. Ultimately, the choice of programming language often reflects the developer's familiarity and organizational standards rather than inherent superiority.

PREREQUISITES
  • Understanding of compiled vs. interpreted languages
  • Familiarity with programming concepts such as pointers and memory management
  • Knowledge of software development processes and debugging techniques
  • Awareness of specific programming languages like C++, Python, Java, and Ada
NEXT STEPS
  • Research the performance differences between compiled languages (C++, Fortran) and interpreted languages (Python, Java)
  • Explore the role of language complexity in software security and bug reduction
  • Learn about strong typing and its benefits in programming languages like Ada
  • Investigate the impact of specialty libraries on interpreted language performance
USEFUL FOR

Software developers, system architects, and project managers interested in optimizing software performance and understanding the implications of programming language choices in development processes.

Avichal
Messages
294
Reaction score
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
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.
 
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.
 
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.
 
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.
 
We have many threads on AI, which are mostly AI/LLM, e.g,. ChatGPT, Claude, etc. It is important to draw a distinction between AI/LLM and AI/ML/DL, where ML - Machine Learning and DL = Deep Learning. AI is a broad technology; the AI/ML/DL is being developed to handle large data sets, and even seemingly disparate datasets to rapidly evaluated the data and determine the quantitative relationships in order to understand what those relationships (about the variaboles) mean. At the Harvard &...

Similar threads

Replies
22
Views
3K
  • · Replies 29 ·
Replies
29
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
38
Views
3K
Replies
16
Views
3K
Replies
6
Views
2K
  • · Replies 14 ·
Replies
14
Views
3K
  • · Replies 17 ·
Replies
17
Views
3K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K