Ubuntu 16.04 — Programming Tools

This is a continuation of my notes on installing Ubuntu 16.04. In this post, I install the programs that I use for programming and technical work.

Series Navigation:

Basic Tools

Here are a few basic tools that I use that are easy to install:

  • GVim: Power text editor — vim is the CLI version, and vim-gnome is the GUI version (I like both for different situations)
  • Git: Version control system … git-cola is the GUI client, installs CLI program as a dependency
  • Meld: compare tool like “Beyond Compare”, etc.  nautilus-compare is an add on to launch from the file manager

<br />
sudo apt-get install \<br />
    vim \<br />
    vim-gnome \<br />
    git-cola \<br />
    meld \<br />
    nautilus-compare<br />

For vim, I have some plugins in my plugin directories and a customized configuration. So, I restored my ~/.vim directory and /.vimrc. I changed the directory for the backup files as well. I have this in my .vimrc:

<br />
set bdir=~/.vimtmp<br />
set directory=~/.vimtmp<br />

So, I needed to create a ~/.vimtmp directory.

Web Development

Brackets has become my favorite editor for developing Angular, Javascript, and HTML.  It is an IDE build by Adobe.

I used WebUpd8’s repository to install Brackets:

<br />
sudo add-apt-repository ppa:webupd8team/brackets<br />
sudo apt-get update<br />
sudo apt-get install brackets<br />

Note: If you don’t install from WebUpd8’s repository, you will need to download and install the libgcrypt11 package from an older version of Ubuntu. See WebUpd8’s article for more information, but I just installed the 64-bit one from here. (I had to do that to test an issue with Brackets 1.7).

After installing the main Brackets application, I installed the following plugins:

I keep Node JS for various tools such as npm and bower. I’ve quit trying to use Bower PHP.

So, this installs: Node JS, the NPM installer, Bower, and Protractor

<br />
sudo apt-get install nodejs<br />
sudo ln -s /usr/bin/nodejs /usr/bin/node<br />
sudo apt-get install npm<br />
sudo npm install bower -g<br />
sudo npm install -g protractor<br />
sudo npm install -g gulp<br />

Note: For some reason, the package installs node as nodejs. I had to run the ln command to make a link to node. Previously I had learned that Bower wouldn’t work without that.

Here are the versions:

<br />
$ nodejs --version<br />
v4.2.6<br />
$ bower --version<br />
1.7.9<br />
$ protractor --version<br />
Version 3.3.0<br />

FYI: In order to list the versions, I used the ls command:

<br />
$ npm -g ls --depth=0<br />
/usr/local/lib<br />
├── bower@1.7.9<br />
├── gulp@3.9.1<br />
├── jspm@0.16.35<br />
├── protractor@3.3.0<br />
├── typescript@1.8.10<br />
└── typings@1.0.4<br />


I dropped off installing Java 7. I just used Web Upd8’s repository.

<br />
sudo add-apt-repository ppa:webupd8team/java<br />
sudo apt-get update<br />
sudo apt-get install oracle-java8-installer<br />

Soap UI

I downloaded Soap UI from their website.

I just ran the shell script without sudo/root access.

<br />
sh SoapUI-x64-5.2.1.sh<br />

I accepted the defaults going through the wizard. On the previous version of Ubuntu, I had to add a parameter to the SoapUI shortcut to get it to work, but I didn’t have to do that this time.

As a note to myself, I’ll have to try Storm later.

Gluon Scene Developer

I downloaded the Scene Developer from the Gluon website. I downloaded the 64-bit version, and installed it from the commandline with:

<br />
sudo dpkg -i scenebuilder-8.2.0_x64_64.deb<br />


I found an issue link claiming that the Eclipse Mars Release was added to Ubuntu Make. Unfortunately, I couldn’t get Make to install Eclipse at all. So, I just went the manual route. In fact, I found that Eclipse now has an installer to make matters easier.

<br />
tar -xzvf eclipse-inst-linux64.tar.gz<br />
cd eclipse-installer<br />
./eclipse-inst<br />

I accepted the defaults on the installer.

Update 6/8/2016: To get it to fully work, I had to update the eclipse.ini file as I learned from an AskUbuntu post.  I updated eclipse/java-latest-released/eclipse/eclipse.ini, and added the following two lines after the first two:

<br />
--launcher.GTK_version<br />
2<br />

After opening Eclipse, I installed the plugins from Help > Install New Software. (using Luna – http://download.eclipse.org/releases/luna):

  • Collaboration > Command Line Interface for Java Implementation of Git
  • Collaboration > Eclipse GitHub Integration with task focused interface
  • Collaboration > Java Implementation of Git
  • Mylyn Integrations > Mylyn Context Connector: Eclipse IDE
  • Mylyn Integrations > Mylyn Context Connector: Java Development
  • Mylyn Integrations > Mylyn Context Connector: Plug-in Development
  • Mylyn Features > Mylyn Task List
  • Mylyn Features > Mylyn Task-Focused Interface
  • Mylyn Integrations > Mylyn Versions Connector: Git
  • Web, XML, Java EE and OSGi Enterprise Development > Eclipse Web Developer Tools
  • Web, XML, Java EE and OSGi Enterprise Development > Eclipse Java Web Developer Tools
  • Web, XML, Java EE and OSGi Enterprise Development > Javascript Development Tools
  • Web, XML, Java EE and OSGi Enterprise Development > PHP Development Tools

Finally, to make developing with Java FX easier, I installed the e(fx)clipse plugin for Eclipse.  Their install page is pretty good and detailed.

I just added two sites to Window > Preferences under Install/Update > Available Software:

  • http://download.eclipse.org/efxclipse/updates-released/2.3.0/site
  • http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/

On the Install Dialog (Help > Install Software), I picked e(fx)clipse – install > e(fx)clipse – IDE.  Then, I just let it do it’s thing.

SQL Developer

I downloaded SQL Developer from Oracle’s SQL Developer website.  They are on version now.  I downloaded the “Other Platforms” version.  Then, I used the sqldeveloper-package program to install it.

sudo apt-get install sqldeveloper-package
make-sqldeveloper-package -b output \
sudo dpkg -i sqldeveloper*all.deb


Leave a Comment

Your email address will not be published. Required fields are marked *