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

Click For Summary

Discussion Overview

The discussion revolves around the relevance of programming languages in software development, particularly focusing on performance, complexity, and the implications for bugs and security vulnerabilities. Participants explore various languages, including C++, Java, Python, and Ada, and their characteristics in relation to compiled versus interpreted execution.

Discussion Character

  • Debate/contested
  • Technical explanation
  • Conceptual clarification

Main Points Raised

  • Some participants argue that the programming language does not matter much since all software ultimately runs in machine language.
  • Others highlight that certain languages, like Python, lack features such as pointers, which can affect program performance and capabilities.
  • It is noted that interpreted languages generally run slower than compiled languages, although advancements in computer speed have made interpreted languages more favorable over time.
  • Participants mention that the choice of programming language often depends on the programmer's fluency or organizational preferences rather than technical superiority.
  • Some contributions suggest that languages with more concise syntax may lead to fewer bugs and vulnerabilities, linking this to software complexity and lines of code.
  • A specific mention of Ada is made, emphasizing its strong typing and structured nature, which are purported to enhance readability and maintainability, particularly in military aerospace applications.

Areas of Agreement / Disagreement

Participants express differing views on the significance of programming languages, with some asserting that language choice is largely inconsequential while others emphasize its importance in terms of performance and software quality. No consensus is reached on the overall impact of programming languages.

Contextual Notes

Discussions include various assumptions about performance, complexity, and the relationship between language features and software reliability. The debate remains unresolved regarding the extent to which language choice affects software development outcomes.

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.
 

Similar threads

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