D3.js is a JavaScript library for programming data driven visualisations. It has a steep learning curve but the key is to fully undersatnd it’s main pattern (the gerneral update loop) and the style of the layout and shape generators.

JavaScript is an object orientated language (e.g. see OOP In JavaScript) however, JavaScript is a losely typed language and can be used to program in many styles!! It is quite dufferent from Java, and Java programmers can find it and the associated tools extremely frustrating!