Whether I’m using a freeware countdown timer, a utorrent client, video player, etc. is there an easy way to find out what programming language it is written in? Especially if it is one of the more mainstream programming languages such as C, C++, Java, Perl, Basic, etc.
I’m familiar with PHP and JavaScript for web use and have no trouble opening and editing those files, but now that I’m looking to pick up a non-web programming language, I would like to increase the scope of my skills a bit. I’m having a bit of difficulty finding out what language the various applications I personally use were written in. I would like to compare languages with real-life examples that I’m familiar with.
Examining the list of shared libraries (DLLs in Windows-speak) of a compiled program can give a clue, because typically each language has a specific distinctive library to provide the runtime environment.
For example, on my Linux PC, running the
lddcommand on an executable produced the following tell-tale output:The use of
libc.sosuggests C or C++. The use oflibstdc++.sosuggests C++. In fact that was a C++ program.Searching the program executable for human readable strings can also given clues, especially if it has debugging information present.
For example, running the
stringscommand on that same executable revealled (among much other text) the following tell-tale strings:The first three look like fragments of C++, the last looks like the name of a C++ source code file.