3 ms·
It's nothing compared to the pain of debugging in a language that doesn't have/encourage proper namespaces. Ruby has Modules, but many, many common libraries d
by kaffeinecoma 14y ago
It's nothing compared to the pain of debugging in a language that doesn't have/encourage proper namespaces.
Ruby has Modules, but many, many common libraries do not use them. I had fun recently debugging a project that (through transitive dependencies) relied on two different "progress bar" libraries, both with a class called "Progress", and neither of which was namespaced. Namespaces solve a real problem.
- pmr_ 14y agoThe thing with namespaces is that they also introduce a problem through the various using clauses programming languages provide and how that interacts with common tools like grep. An API that uses a naming-convention that emulates namespaces (e.g. as in Emacs Lisp) removes that problem. This also makes good harder to follow when reading, especially when C++ things like SFINAE are around and suddenly everybody is calling everything fully qualified again to make code look and be unambiguous. Of course, that can be solved with proper tooling, but some people are just averse to using something more heavyweight than necessary.