13

I just downloaded and installed the latest version of Ubuntu 18.04 (ISO was ubuntu-18.04-desktop-amd64.iso). I noticed that no development tools are installed by default (git, gcc, g++, make). Is there a developer ISO that has the distribution with the usual development tools installed or do I have to manually install all of these?

JKelly
  • 139
  • @muru I interpreted the question as Are developer tools installed by default? (ps not saying this because I wrote an answer :) – fosslinux May 19 '18 at 00:28
  • @ubashu and it seems to me that the answers to the other question will always directly lead to an answer to this question (if they were installed by default, the other question would have had an answer: these tools are installed by default). This q is just a minor rephrasing. – muru May 19 '18 at 02:04
  • If by manually install you mean go out and find some binary tarball and install that, nope. APT has nice and easy packages for that. Takes about a minute to install everything if you have a fast Internet connection. – Chai T. Rex May 19 '18 at 08:07

2 Answers2

17

No, there is no developer ISO. Yes, you do have to manually install them. Ubuntu is made to be a distribution aimed at ease of use on the desktop meaning that the main use is word processing, etc.

To install basic development tools, run:

sudo apt install build-essential

Any other tools can be installed with:

sudo apt install tool-name
fosslinux
  • 3,831
  • How is it "ease of use" if I have to manually install 200 little pieces of software to make it useable for work? – James Nov 09 '18 at 11:01
  • 1
    @James as i said, on the desktop. This means for the average home user, nto for developers. – fosslinux Feb 23 '19 at 02:23
  • But people who use their computer for work use the desktop as well. The success of Windows was exactly due to people being able to use the same system both for work and for home use. I don't see why 'ease of use on the desktop' should exclude 'ease of use for developers'. Desktop includes development work. – James Feb 25 '19 at 14:13
  • 2
    @James, using that analogy, when you are done installing Windows, do you have Visual Studio, all the windows SDK's, etc? Would kind of be upsetting if that was the case for most people to have that must disk chewed up. Oh, and if you aren't a Windows developer, perhaps you'd prefer Eclipse etc. That really is the point.... to be productive developing on any OS, you need to install what you know you need. The good news is, once you know what you need it is all a snap or apt away: https://www.ubuntu.com/desktop/developers – Thomas Carlisle Apr 18 '19 at 13:37
2

DKMS installs gcc and make automatically

DKMS (Dynamic Kernel Module Support) automatically installs gcc and make in order to compile kernel modules from manufacturer's source code. It's often necessary to compile source for some WiFi Drivers, Graphics cards, etc.

$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ g++ --version g++ (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ make --version GNU Make 4.1 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

You are definitely correct that git is not installed by default however I don't consider it a programming language, more of a library system.


Development Tools included by default

The preferred (IMO) methods of development within the Ubuntu family is using interpretive languages like Bash, Python and Perl. These are all installed by default. With additional GUI interfaces such as dialog, zenity and yad (this one requires manual installation), there is more than enough development tools to keep people busy learning and experimenting.