Hi Sudd,
It depends somewhat on definitions, so maybe I'd be most accurate if I tried to summarize what FRP is: It's a functional "wrapping" of event-based logic. If you are used to the normal way of handling events, then a different way of thinking is required. In that respect, it's a different paradigm. It's not a programming language, but it definitely could be described as an EDSL - an embedded domain-specific language, meaning that it is embedded in a host language such as Java. The implementation is simply a small library.
1. The book starts off by explaining the basics of FRP and the thinking behind it, and then it gives examples of how to use it in a wide array of different cases. Each case is illustrated with an example. There are several quite large, involved examples. All the example code is at
https://github.com/SodiumFRP/sodium/tree/master/book
The primary language is Java but there is a chapter devoted to Rx.JS and Javascript, mainly dealing with how to use Rx.JS to write FRP-style code.
2. How good a language is to implement FRP depends on what its syntax is like with typical FRP code - especially lambda syntax. Java, C#, Scala, Typescript and Haskell are all really good. Javascript and C++ are a bit clunky due to lambda syntax (Javascript) and type names (C++). Automatic memory management was a big challenge in Javascript/Typescript and C++ but this was recently solved.
Steve