Version 4 of the ArcGIS API for JavaScript is a radical reimagining of the API by Esri in order to achieve a number of aims. Why start over? Basically, because the API has grown greatly in capability and therefore in complexity. Esri has been under pressure to add more and more features and, as with any development project that outlives its original scope, the API has become a mass of complex and often contradicting classes, methods, and workflows.
If you have been reading this book thinking Oh great! I've just spent hours of my life learning about v3, when v4 is out already and it's totally different! then rest assured. Although it's undoubtedly possible that Esri will, at some point, pull the plug on v3.x and pressure developers to go and learn v4, that time is not now. The reason is that there is plenty...