OH: "bro the JS community really needs to get a dose of convention over configuration. not every effing thing needs to be a choice that every single project evaluates for 10 weeks."
38 plus ones
Shared publicly•View activity
- I've been thinking about this a lot recently. The problem with convention over configuration is that it requires you to have everything available just in case you invoke some thing that requires some esoteric behavior that happens by magic. Large js projects have to be careful not to stuff in the kitchen sink or the app gets bulky and sluggish. CoC makes it difficult to strip things down the bare essentials, which is always attractive in a browser and even more so with the rise of mobile.Mar 2, 2012
- Reminds me of what happened in the Java community around 2003. Every new project started with a "so what new frameworks do we want to try?" There's at least two problems with that. 1) Developers end up spending effort integrating libraries instead of building solutions. 2) Each and every project looks different, so developers have to ramp up on new projects.
If Rails did anything, it was that convention over configuration was an acceptable strategy. Perhaps more importantly, though, was that it showed there is tremendous value in different projects across different organization looking and acting approximately the same.
Of course, once you start adding in plugins and business logic, there's less similarity. A common foundation goes a long way in decreasing knowledge transfer time.Mar 2, 2012
- We came close with jQuery. For a while (in the browser, at least) it was as close as we've come to having a standard library. I have to believe that we'll eventually settle on a few, insanely great microlibs as the basis for most projects, but for now we should enjoy the ride as some extremely creative people push the limits of what's possible with the world's most popular programming language.Mar 3, 2012
- Maybe more problematic than lack of CoC is that the js community has a tendency to rewrite things constantly. Think about how many templating langs, routing modules, script loaders, event libraries, animation libraries or various combinations of all these things pollute the landscape. Yes the innovation is great. But it might be nicer if we could innovate around a really solid handful of projects by continuing to improve them. Rather than making a whole new thing that has some really good ideas not found elsewhere, but is always missing some critical 10-20%. A good illustration is a helpful little thing put together recently by
http://garann.github.com/template-chooser/Mar 3, 2012
- Marco, I totally agree. The issue isn't really CoC per se, that's really a design choice over how much boilerplate you want to reduce, the big problem is the lack of well established standard libraries. With Java, people tended to keep inventing frameworks, then every so often, they'd realize they all do the same thing with just slightly different setup or DSL, so they'd standardize them (yes, and sometimes they made big mistakes like EJB). Then a new burst of libraries at a higher layer that sit on top of the established standard would evolve, or ones to fix problems in the standard.
Think of the simplicity a iOS, Android, or Windows Metro developer faces, with a single set of APIs, and a good set of tools targeting these APIs. Developers have a blessed set of platform APIs (but can ignore many of them if they want), which makes it easier for programmers to have a common vocabulary to talk about. Web programming is an exercise in the Paradox of Choice. There's too many ways to do something, and although the freedom is enjoyable when you are working alone on something simple, I don't think it scales as well to large projects.Mar 3, 2012
- I completely agree with the general consensus here, we really need a central spot where JS devs can go to find these types of common functionality that everyone keeps rewriting.Mar 3, 2012
- Close? I'd say that is the standard library. Last i checked i think 50% of the top 20,000 sites use jQuery. That's more than Flash :)Mar 4, 2012