"JavaScript is not a complete programming language. It gives so many chances for us to make errors. The code is not very structured. It is very difficult to follow the control flow." This is a common statement one could hear from back-end developers starting to do client side development. While I agree to that statement to some extent. I still believe that JavaScript is a very nice dynamic language with its own good parts. It is a language which has got a larger role to play in the future of the web. It might take sometime for the beginners to get used to some of the core concepts like prototype, closures, etc. But, once mastered, the language will help you to get your things done quickly (especially on the web).