matz / ruby-lang.org (Yukihiro Matsumoto) writes: > |I have a vision for the libraries in 2.0 which I'm sure will never see > |the light of day. > > I think the builtin libraries for scripting languages should provide > "illusion" of portablility. Feature set should not dangle in the wind > on each platforms. So, we have to "polish" the abstract model for the > libraries, not separate them platform to platfrom, at least for basic > feature set. I chose UNIX model, and it might be too close to UNIX. I think everyone agrees on the first point - we should provide portability. And to 95% of the scripts out there, the kind of basic facilities I was suggesting _are_ portable: reading and writing files, running external commands through #system, and so on. But file modes, ACL lists, symbolic links, and the like are not portable, and never will be. They can be emulated to greater or lesser extents, but you always lose something in that emulation. So, to my mind, we actually achieve _better_ portability by providing a common set of functions that we guarantee work across all platforms, and then by providing platform-specific personalities for the less commonly used features that are platform-specific. I think Ruby has an opportunity here to show other languages just _how_ to be a portable scripting language. Let's not just blindly follow Perl into the "Unix everywhere" model, but instead let's think about what's best for our users. Regards Dave