3

How do I know what programming languages (I mean their compilers and interpreters) are already pre-installed in Ubuntu? For example, I see that Python is here. If I type python command in the terminal, it turns out that I have python version 2.7.12. But what about other popular programming and scripting languages like Ruby, Perl, C, Lua, awk, Java, PHP, etc. etc. Should I try to launch them in the terminal or try something like language --version one by one, or is there a better way to know this?

1
  • You cannot "install" a language on any system .. there are interpreters and compilers you install and since they are sometimes similar sometimes really different I don't think there is a simple way to check for all of them rather than checking one by one
    – derHugo
    Jul 3, 2017 at 13:46

4 Answers 4

5

An article in Ubuntu's own help pages points out five (perl, python, ruby, awk, and sed) are installed by default.

1
  • Ruby? Note that the community wiki used to be editable by anyone, so it's not authoritative.
    – muru
    May 22, 2018 at 1:05
4

As of latest LTS release , 16.04, Ubuntu comes with Perl 5, GNU awk (used to be mawk), Python 2 and 3 by default. Not entirely sure about C compiler. You may need build-essential package installed

For everything else, use apt-cache policy **package-name** to see if it is installed. You can also view the release manifest files as described in this answer:https://askubuntu.com/a/48894/295286

2
  • 1
    There are also Bash and dash. May 22, 2018 at 7:05
  • @ChaiT.Rex Well, they're shells technically, both conforming to standard Shell Command Language specifications, but bash having more advanced syntax. So technically they're not "programming languages" as in C or Python sense, but yes good mention of the two. May 22, 2018 at 7:40
2

I wrote a small bash script. Its very basic but its something

#!/usr/bin/env bash

languages="php python go perl mysql c c++ java"
binaries="ls /usr/bin"

for i in $languages ; do
    for j in $($binaries); do
        if [[ $i == $j ]]; then
            echo $i
        fi
    done
done
0
1

type whereis [program]. if nothing shows up then it is not installed. A rather silly way,but still usable.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.