Python

Python is a high-level programming languages, first released in 1991. Generally code written in Python is highly readable. Functional, object-oriented as well as imperative programming techniques can be combined. It's similar to Ruby, and it is sometimes compared to Perl, Scheme and Tcl. The development of Python is open and community-based, managed by the non-profit Python Software Foundation.

Python is easy to teach and learn, it's excellent for prototyping new algorithms (and refactoring) and it runs on many platforms ranging from mobile phones to mainframes.

Python vs. Java
Generally, Python code is much more compact than Java, and "the number of lines written per hour is independent of the language". 

For numerical purposes, Python's numpy library attains speeds compared to C, which is generally much better than Java.

NetworkX (NX)
NX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.


 * standard graph-theoretic and statistical physics functions
 * easy exchange of network algorithms between applications, disciplines, and platforms
 * includes many classic graphs and synthetic networks
 * nodes and edges can be "anything" (e.g. time-series, text, images, XML records)
 * exploits existing code from high-quality legacy software in C, C++, Fortran, etc.
 * open source (encourages community input)

numpy

 * numerical analysis in Python
 * all advantages of Python (as opposed to Matlab)
 * free license