In Java you would use packages to group together class definitions
same as with C++, C# where you would use namespaces to do that
aka define the scope of classes
in AS3, the packages are used the same, group collection of definitions, not only classes and interfaces but also variables, constants.
The namespaces in AS3 are used to define the visibility of definitions at the class level, a bit like being able to define your own "public" attribute.
In ActionScript 3, by default the AS3 namespace is open, for example with a builtin like Array instead of using the push() method defined in the prototype, it uses the push() method defined in the AS3 namespace.
And yet a good part of ES4 been realistically implemented in ActionScript 3 and used by many developers for over a decade.
And those namespaces in AS3 (much simpler than in ES4) I think are quite a good idea, they allow to control what is visible or not and/or to switch which implementation you use.
For example when some AS3 builtins do not support some methods defined later in ES5.1 then ES6 etc.
ES5 function trim():String
ES6 function repeat(count:Number):String
So yeah you not gonna use namespaces everyday for everything, but they do have allow to solve specific problems while "programming in the large".
where you will be able to find FastCGI Developer's Kit sources and documentations