5 ms·
You realize, I assume, that you're making a lot of quixotic choices in this library, many of which appear to be different for personal (and, in some cases, I wo
by curveship 13y ago
You realize, I assume, that you're making a lot of quixotic choices in this library, many of which appear to be different for personal (and, in some cases, I would say dubious) reasons. 1-indexed arrays? Arrays are no longer objects? An 'each' function that uses it's own way of combining what countless languages before you have split into 'map', 'filter' and 'each' functions? Etc etc.
I'm going to hazard a guess that your work has been predominately if not exclusively as a solo dev. This is effectively your personal utility library. That's cool. The problem is that virtually all software eventually ends up being a team effort, if nothing else than by the guy/gal who has to work on it after you. You may not like how JS does some things (like zero-indexing), but that guy already knows JS, he doesn't know your library. By revamping core semantics of JS, you're forcing him to learn your opinions. Are you so sure of your opinions that you can confidently say it's worth everyone else undergoing that effort? Are your opinions really so important as to break compatibility with every other piece of JS?
I gather from your comments that you intend this library as the base of a larger project. I'd encourage you to base that project on more widely known foundations -- pick your favorite module system, and use underscore.js or one of the other widely vetted and tested utility libraries.
- marknadal 13y agoYes, it is the base for a lot more. Unfortunately I have tried and used countless other libraries for the last 3 years, and they always wind up breaking - in fact even underscore failed to pass some of my tests, and I had to patch a bug with it. The only library I have been able to consistently trust is jquery. At a certain point as a developer you have to decide what is best for you and your code, and in my case it is relying on this library, because I know I can trust it.
- curveship 13y agoThat sounds a lot like the definition of NIH attitude. You might like lodash.js if cross-browser consistency is your true goal.
- marknadal 13y agoI would love to use other libraries, unfortunately I wasted too much time (years) trying to fix them up for what I needed and they still become unmanageable. I am glad your projects are simpler and don't push the limits of existing libraries, but don't dismiss my goals or act like you know what they are just because yours are not as intense. Generally I have found that the libraries that are loud and popular wind up performing inferior to more obscure libraries which I use. Not that the loud ones are bad, they just can't handle my specific projects.