Updated: 1/26/2015
I've laid out a fairly detailed over-arching rationale for how my software will be organized in this post: "Update: New Mac Mini - Baseline Software Stack Setup"
Categorizing and Listing all the Useful Development Tools that I install and use (regularly) on my Mac OS X MacBook Pro Laptop (my main personal development platform). Tools are free except where labeled green for one-time purchased tools, and red for subscription tools. A link "[*]" is provided ahead of each item for additional personal notes on the tool where applicable.
Package/Software Management
- Apple's appstore (shipped)
- [*] homebrew (http://brew.sh/)
- homebrew cask extensions (http://caskroom.io/)
- [*] Modules software installation switcher (http://modules.sourceforge.net/)
- git software repository management (via homebrew - 1/16/2015 Yosemite:yes) [brew install git] (for gitk)
- svn software repository management (shipped - 1/16/2015 Yosemite:yes)
- cvs software repository management (shipped - 1/16/2015 Yosemite:no)
[brew install cvs] - mercurial software repository management (I forgot! - 1/16/2015 Yosemite:no) [brew install hg (with caveats)]
Programming Languages
- clang compiler (via Apple's xcode from the appstore)
- gcc/g++/gfortran compilers (via homebrew) [brew install gcc --without-multilib] (annoyingly, the caveat pops after 35m of building gcc to tell you OpenMP may not work if multilib is enabled)
- java 8 (via Oracle)
- python (via homebrew - 1/16/2015 Yosemite:yes)
- perl (shipped)
- ruby (shipped - and a prerequisite for Homebrew
- octave math scripting (via homebrew - 1/26/2015 Yosemite: homebrew with cask extension) [brew cask install octave]
Parallel Programming Models/Runtimes
- OpenMpi (via homebrew)
- Charm++ (via http://charm.cs.uiuc.edu/software)
- pthreads (shipped with GNU compilers)
- openmp (shipped with GNU compilers)
Editors/IDEs
- emacs (via homebrew 1/16/2015 Yosemite:yes)
- vi/vim (shipped? - 1/16/2015 Yosemite:yes)
- eclipse (via homebrew with cask extension) - needs java 7+ [brew cask install eclipse-ide]. Requires sudo. When built, available as an Apple Application.
- xcode IDE (via xcode from the appstore)
Build Tools
- GNU autotools (via homebrew) [brew install automake] (automatically pulls in autoconf as a dependency)
- cmake (via http://www.cmake.org/). Turns out Homebrew supports cmake too! [brew install cmake] (automatically pulls in xz as a dependency)
- make (shipped)
- ant (for Java - via homebrew) [brew install ant]
Debugging Support
- valgrind (via homebrew - brew install valgrind) 1/16/2015 - Unsupported on Yosemite. Valgrind has to be built from scratch on Yosemite, instructions here: http://ranf.tl/2014/11/28/valgrind-on-mac-os-x-10-10-yosemite/.
- mantis bug tracker (from https://www.mantisbt.org/)
Supporting Tools/Extensions
- boost libraries (via homebrew) [brew install boost]
- libxml2 libraries (via homebrew) [brew install libxml2] (requires modules environment)
- swig language wrapper generator (via homebrew) [brew install swig]
- mysql database (from http://dev.mysql.com/downloads/)
- virtualbox virtual machine support (via https://www.virtualbox.org/)
File/Data Sharing Frameworks
- Google Drive (http://drive.google.com)
- Dropbox (http://dropbox.com)
Documentation Tools
- [*] latex (via homebrew - 1/26/2015 Yosemite:MacTex via cask instead. See notes.)
- doxygen documentation generator (via homebrew) [brew install doxygen]
- gimp 2.8 graphics manipulation tool (via http://www.gimp.org/downloads/)
- jfreechart (via http://www.jfree.org/jfreechart/download.html)
- gnuplot (via homebrew)