Forked from jashkenas/backbone-ember-back-and-forth-transcript.txt
Created
June 13, 2012 06:16
-
-
Save dmzza/2922188 to your computer and use it in GitHub Desktop.
Backbone.js vs Ember.js [Jeremy Ashkenas (jashkenas) and Yehuda Katz (wycats)] - Abridged Version
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
For those folks not already hanging out in #documentcloud... here's the log of this afternoon's Ember/Backbone politics discussion. | |
12:21 PM <wycats> how would you like me to describe backbone? | |
12:21 PM <wycats> let's work this out for once and for all :) | |
12:21 PM <wycats> I'm definitely not intentionally saying incorrect things about backbone | |
12:24 PM <jashkenas> don't worry about it too much -- I'm just not terribly pleased with backbone being continued to be used as the strawman... | |
12:24 PM <wycats> jashkenas: I am worried about it a lot | |
12:25 PM <wycats> jashkenas: what particularly am I saying that is unfair? | |
12:25 PM <jashkenas> If we're going to continue making intentionally slanted direct comparisons, then perhaps we should just add "Why Ember and not Backbone" and "Why Backbone and not Ember" sections to our respective sites ... so folks can at least read both sides. | |
12:27 PM <jashkenas> The main point is that all of the specific bits that you call out as limitations of Backbone, that Ember tries to address -- are all there willfully (at least the ones you mentioned in the podcast). | |
12:28 PM <wycats> jashkenas: of course that's true | |
12:28 PM <wycats> that doesn't make them not limitations, right? | |
12:28 PM <jashkenas> It's Backbone's take that Ember's more complex data binding model, intermediate controllers, run loop etc. ... are all interesting approaches, but are *not* actually helpful in building a real site. | |
12:29 PM <jashkenas> What's the the points of view diverge. | |
12:29 PM <jashkenas> sorry. | |
12:29 PM <jashkenas> That's where... | |
12:29 PM <wycats> jashkenas: I find it difficult for backbone developers who have not tried Ember to make that argument, when many Ember developers who come from previous attempts at backbone disagree | |
12:29 PM <andrewdeandrade> my favorite comparison was Addy Osmani's github repo with a Todo app built in each framework | |
12:30 PM <jashkenas> And if you present it in that way, I think it's fair to draw direct comparisons.. but that's not the way I hear you presenting it. | |
12:30 PM <wycats> in other words "*not* actually helpful in building a real site" is something that people who used both backbone and ember disagree with | |
12:30 PM <jashkenas> wycats: and I find quite the opposite -- self-selecting sample pools, as you'd expect. | |
12:31 PM <wycats> jashkenas: you have a lot of people who wrote entire apps in Ember, then went to backbone and say that Ember's approach was completely useless and superfluous? | |
12:31 PM <wycats> obviously, people who dabbled in one or the other aren't useful in answering the question | |
12:31 PM <andrewdeandrade> wycats: backbone.js' philosophies are more inline with the philosophies in the node.js community than in the rails community. | |
12:31 PM <jashkenas> yes. I don't know of a *lot* of people who have tried both in anger. | |
12:31 PM <jashkenas> but the ones who have. | |
12:31 PM <wycats> jashkenas: so then it's fair to say that for *some* people, Ember's approach is overkill | |
12:32 PM <wycats> and those are the people you know | |
12:32 PM <wycats> but you're saying it like an absolute | |
12:32 PM <wycats> it's ALWAYS overkill | |
12:32 PM <jashkenas> likewise, people who just drink the @wycats kool-aid aren't useful in answering the question, as tasty as it may be ;) | |
12:32 PM <wycats> jashkenas: trolololololol | |
12:32 PM <wycats> jashkenas: backbone is 600 lines of code | |
12:32 PM <wycats> jashkenas: the idea that there are things missing in it that are common should not be controversial | |
12:33 PM <wycats> "in some complex cases, Ember's approach will pay dividends" | |
12:33 PM <andrewdeandrade> I haven't used ember.js myself, but I think the best explanation for people is drawing upon comparisons with past frameworks. "If you like how rails works, you'll probably like how ember.js works. If you find that convention over configuration gets in your way, you'll like how backbone.js works" | |
12:34 PM <wycats> your argument is | |
12:34 PM <wycats> "it is never useful" | |
12:34 PM <wycats> so you finding a few people who find it as overkill is less useful than me finding a few people who find it useful | |
12:35 PM <wycats> andrewdeandrade: I doubt that Rails/Backbone evangelists would agree with that argument | |
12:35 PM <knowtheory> wycats: that doesn't sound quite like the case you're making incidentally. There's a difference between saying "you should use ember over backbone because ember has advanced bindings" and saying "If you find backbone's facilities for bindings inadequate, you should use ember" | |
12:36 PM <wycats> knowtheory: I would argue that they are often inadequate | |
12:36 PM <wycats> and often error-prone | |
12:36 PM <wycats> not that they are ALWAYS inadequate | |
12:36 PM <wycats> jQuery is often not inadequate | |
12:36 PM <wycats> jQuery has evented facilities | |
12:38 PM <andrewdeandrade> wycats: I don't see why would they disagree with that. Philosophically the development of rails and backbone.js has been very different | |
12:39 PM <andrewdeandrade> backbone.js development has been cautious about including what isn't code (like node.js development) and rails development has been an eager adopter of new ways of doing things (e.g. sass and coffeescript inclusion by default) | |
12:39 PM <wycats> andrewdeandrade: lots of people who love Rails have drunk the jashkenas cool-aid (BAM) | |
12:40 PM <andrewdeandrade> wycats: i don't dispute that, but you do see that the design philosophies are very different | |
12:40 PM <jashkenas> wycats: in terms of not getting my goat, the main thing is just to put in a preface while you talk about it ... | |
12:40 PM <wycats> I doubt Rails/backbone adherents would be willing to accept that Backbone differs philosophically from Rails | |
12:40 PM <wookiehangover> wycats: to wit, pre-asset pipeline IMO jammit is by far the best solution | |
12:41 PM <wycats> "if you like Rails, you'll like Ember" is not something Backbone folks in Rails would agree with, and I'm not even sure Jeremy would | |
12:41 PM <jashkenas> feel free to say backbone is always or often as inadequate as you like ... just mention that the backbone opinion is that its that way for good reasons, and have similar critiques of ember. | |
12:41 PM <wycats> sure… no problem | |
12:42 PM <wycats> my style is to make my position as strongly as I can, and let someone with the opposite position argue back -- unfortunately, there is nobody willing to take the strong Backbone position on JS Jabber | |
12:42 PM <andrewdeandrade> i didn't mean "if you like rails, you'll like ember"... I meant "if you like the convention over configuration way that rails handles things, you'll like ember" | |
12:42 PM <wycats> andrewdeandrade: now you're just parsing words, no? | |
12:42 PM <wycats> people like Rails because of CoC | |
12:42 PM <andrewdeandrade> backbone.js isn't convention over configuration | |
12:42 PM <wycats> end result: my normal style makes me look like I'm steamrolling Backbone | |
12:42 PM <jashkenas> right -- which is a fine style as long as you make that clear. I think that in many circles (Ruby at least, less so with JS) wycats' words are taken as gospel. | |
12:42 PM <wycats> andrewdeandrade: then if you like CoC, which Rails people do, you should be disappointed in backbone | |
12:43 PM <wycats> jashkenas: that is obviously not the case ;) | |
12:43 PM <wycats> or serializers would be in Rails | |
12:43 PM <jashkenas> oh, did they get blocked? | |
12:43 PM <wycats> yeps | |
12:43 PM <jashkenas> on what grounds? | |
12:43 PM <knowtheory> wat | |
12:43 PM <wycats> he prefers the jbuilder API | |
12:43 PM <wycats> DHH | |
12:43 PM <jashkenas> ah, interesting. | |
12:43 PM <wycats> my argument is that consistency is important when talking to clients | |
12:44 PM <wycats> and that hand-crafting JSON is not a win, especially in the CoC world of Rails | |
12:44 PM <wycats> anyway, DHH gets to win | |
12:44 PM <wookiehangover> wycats: that's interesting | |
12:44 PM <wycats> but if there were as many kool-aid drinkers as you think, it would be in | |
12:45 PM <wookiehangover> cause we spend a lot of time working with presenters these days, but it always feels silly hand-crafting JSON | |
12:46 PM <wycats> wookiehangover: confirm | |
12:46 PM <wycats> wookiehangover: serializers are basically presenters for your JSON | |
12:46 PM <wycats> with conventional rules | |
12:46 PM <wycats> you can specify in your ApplicationSerializer what rules should exist | |
12:46 PM <andrewdeandrade> wycats: in the CoC world I agree, but if you are not doing basic CRUD, then you want handcrafted JSON. | |
12:46 PM <wycats> andrewdeandrade: not necessarily | |
12:46 PM <wycats> serializers map onto REST, not CRUD | |
12:47 PM <wycats> if you have a REST client, consistency is still important | |
12:47 PM <phaedryx> is this what you're referring to? https://github.com/josevalim/active_model_serializers | |
12:47 PM <wycats> for Livingsocial, our Ember models map directly on Rails *resources*, which may or many not be backed by Rails *models* | |
12:47 PM <wycats> phaedryx: yessir | |
12:47 PM <wookiehangover> wycats: ya, we've ended up re-implementing something similar, +1 for getting in rails >_< | |
12:47 PM <wycats> documentation could be better | |
12:47 PM <phaedryx> wycats: awesome, thanks | |
12:48 PM <knowtheory> yeah serializers ftw | |
12:48 PM <wycats> the main reason I ended up wanting this was that the easy ember pattern is: { posts: [ { id: 1, comments: [ 1,2,3 ] }, … ], comments: [ { id: 1, … }, … ] } | |
12:48 PM <wycats> and doing that in Rails is annoying | |
12:48 PM <wycats> especially when auth is involved | |
12:48 PM <wycats> I wanted a separate object to control it | |
12:55 PM <andrewdeandrade> wycats: I think part of the appeal of backbone.js and the reason it was successful early on is because (1) it's small so the learning curve was small and the investment to get into it was low when all the other options looked riskier; (2) it's still very unclear how the relationship between the server and the client will turn out | |
12:59 PM <wycats> andrewdeandrade: I don't agree that the learning curve is small | |
12:59 PM <wycats> andrewdeandrade: the surface area of the API is large | |
1:00 PM <wycats> andrewdeandrade: I agree on (2) | |
1:07 PM <wycats> jashkenas: are you sure you wanted to take the absolutist "Ember is never useful" position? | |
1:07 PM <jashkenas> no -- I definitely don't take that position. | |
1:07 PM <jashkenas> I take the same one you do ;) | |
1:07 PM <jashkenas> usually not useful. | |
1:08 PM <jashkenas> often not what you're looking for ... ;) | |
1:08 PM <jashkenas> will get you in trouble in many places. | |
1:08 PM <jashkenas> etc. | |
1:08 PM <wycats> here's what you said: "It's Backbone's take that Ember's more complex data binding model, intermediate controllers, run loop etc. ... are all interesting approaches, but are *not* actually helpful in building a real site" | |
1:09 PM <wycats> do you want: "It's Backbone's take that Ember's more complex data binding model, intermediate controllers, run loop etc. ... are all interesting approaches, but are *not* usually helpful in building a real site" | |
1:09 PM <jashkenas> sure, that's better. | |
1:09 PM <jocafa> maybe the differentiation is "site" vs "web application"…? | |
1:09 PM <wycats> seems ok… more reasonable to have an argument on those terms | |
1:09 PM <wycats> jocafa: nah | |
1:09 PM <wycats> backbone apps are apps | |
1:09 PM <wycats> not sites | |
1:09 PM <knowtheory> jocafa: there are strong and weak claims on both sides. | |
1:09 PM <wycats> sites are brochure sites | |
1:09 PM <jashkenas> yes -- we're both talking about apps here. | |
1:09 PM <tvpmb> ...definitely make that distinction...backbone is for an app, not a site. | |
1:10 PM <wycats> knowtheory: I don't ever make the claim that backbone is useless for simple'ish apps | |
1:10 PM <wycats> jashkenas definitely does make the claim that ember is useless for complicated'ish apps | |
1:10 PM <wycats> or at least, way more trouble than it's worth | |
1:10 PM <wycats> I used to be the guy trying to convince jQuery people to write evented code and use jQuery.data() on plain objects more | |
1:13 PM <wycats> jashkenas: here's the thing | |
1:13 PM <wycats> the features you say are "useless" | |
1:14 PM <wycats> are actually selling points of ember | |
1:14 PM <jashkenas> right, they're why you sell ember as a backbone++, and not as a sproutcore-- ;) | |
1:15 PM <wycats> jashkenas: so we need to explain where backbone falls short | |
1:15 PM <wycats> in order to explain why the features that you think are useless matter | |
1:15 PM <wycats> jashkenas: saying it's backbone++ isn't that far off from saying it's vapor++ | |
1:15 PM <wycats> backbone is 600loc | |
1:15 PM <wycats> it's basically structure | |
1:16 PM <wycats> "here's how you should think about your app structure" | |
1:16 PM <knowtheory> wycats: you could make a positive case for Ember w/o reference to backbone though couldn't you? | |
1:16 PM <jashkenas> or you could just talk about Ember? | |
1:16 PM <wycats> I will retract my troll | |
1:16 PM <wycats> jashkenas: maybe | |
1:16 PM <wycats> but for instance, the problems of dealing with intermediate state during a single event handle are best explained with reference to some simpler system | |
1:16 PM <wycats> at jQuery Conf last year I did it vs. $().data() | |
1:18 PM <wycats> jashkenas: I also argue against silent sets often, because backbone is a good point of reference | |
1:18 PM <wycats> for a while I tried to keep it generic, but then I had to explain the context of what backbone is doing without mentioning backbone | |
1:18 PM <wycats> hard to do in a 30 minute talk | |
1:18 PM <jashkenas> $.data is an abomination ;) | |
1:18 PM <jashkenas> It's a great strawman, I understand the temptation. | |
1:19 PM <jashkenas> It's also an easy target when you don't have a countering voice in the room. | |
1:19 PM <jashkenas> But that doesn't mean I have to like it. | |
1:19 PM <wycats> jashkenas: lots of backbone people use data | |
1:19 PM <wycats> search of stackoverflow ;) | |
1:19 PM <andrewdeandrade> jashkenas: As much as you may not agree with it, I think it is fair for wycats to make the comparison to backbone.js in his talks, because I imagine that everyone in the audience has the question "how does ember compare to this backbone.js framework that many people are using" | |
1:19 PM <tbranyen> andrewdeandrade: i think the point is they aren't comparable | |
1:20 PM <jashkenas> andrew: it's totally fair -- I just want him to inform about the differences, not misinform. | |
1:20 PM <tbranyen> can i use ember to power a subset of my blog in node? | |
1:20 PM <tbranyen> no? | |
1:20 PM <wycats> tbranyen: they are though… ember is saying that what people do with <x backbone feature> is better done with bindings, computed properties, or whatever | |
1:20 PM <wycats> tbranyen: you can absolutely use ember-runtime in node | |
1:20 PM <andrewdeandrade> jashkenas: if that's what the audience wants to hear it's fair to at least touch upon the subject (but probably not make the whole talk or most of the talk about it) | |
1:20 PM <tbranyen> wycats: slick, for some reason i was under the impression it was browser only | |
1:20 PM <tbranyen> my bad | |
1:21 PM <wycats> andrewdeandrade: I'm never like "here's why you should use ember instead of backbone" -- it's more like "here's why this feature in ember exists vs. the way you would do it in backbone" | |
1:21 PM <tbranyen> one counter down! | |
1:21 PM <wycats> jashkenas: you should be more explicit in telling me where you think I am misinforming -- I am happy to remove or clarify incorrect things from future talks | |
1:21 PM <tbranyen> wycats: i like how walmart used backbone to create thorax on top of it. i have no opinion of the quality of thorax, but its neat how this library can be built upon | |
1:22 PM <tbranyen> bones is another framework that achieves a specific goal | |
1:22 PM <tbranyen> that i don't think ember would really be a fit for | |
1:22 PM <tbranyen> it seems ember wants to be end-to-end | |
1:22 PM <wycats> not surprised that people can build things on top of backbone :) | |
1:22 PM <jashkenas> ok ... to be specific. | |
1:22 PM <wycats> tbranyen: ember is an end-to-end framework built on top of more modular components | |
1:22 PM <tbranyen> yeah | |
1:22 PM <jashkenas> (although I think we've discussed these things before in person) | |
1:22 PM <wycats> for instance, ebryn wrote a titanium app and built ember-titanium | |
1:23 PM <wycats> andrewdeandrade: "when ember.js is the right tool for the job" is never how my talks go -- I talk about features that ember.js has, and why they need to exist | |
1:23 PM <wycats> I can either compare them to a hypothetical framework that looks like backbone (or spine, or whatever) | |
1:23 PM <wycats> or something concrete | |
1:23 PM <wycats> lately I've been going with concrete to save time | |
1:23 PM <jashkenas> the ember/SC run loop is touted as a feature, but the backbone perspective is that it's an anti-pattern: synchronicity-by-default is an important feature in client-side updates, not to be given up lightly. You can always defer if you want to defer. | |
1:24 PM <tomdale> andrewdeandrade: most people view ember.js through the lens of backbone | |
1:24 PM <wycats> jashkenas: specifically, rendering synchronicity? | |
1:24 PM <andrewdeandrade> I think getting into how ember.js vs how backbone.js is great for people implementing frameworks, but for end-users it's the why that matters | |
1:24 PM <tomdale> I'd say it comes up in 95% of conversations I have with people | |
1:24 PM <tbranyen> tomdale: yeah i can def agree with that | |
1:24 PM <tbranyen> doesn't mean its right :) | |
1:24 PM <wycats> jashkenas: Ember tends to use the run loop much less often than SC1 | |
1:24 PM <wycats> tbranyen: I don't think it's a moral question ;) | |
1:25 PM <jashkenas> so you're admitting it! ;) | |
1:25 PM <wycats> jashkenas: there are different cases -- we defer rendering | |
1:25 PM <jashkenas> ember bindings for events are great, but computed properties are overkill. | |
1:25 PM <wycats> we defer destroying objects | |
1:25 PM <jashkenas> simple functions work better most of the time. | |
1:25 PM <wycats> jashkenas: computed properties are important if you propagate changes | |
1:25 PM <jashkenas> if you want to precompute a value, that's not hard to do. | |
1:26 PM <wycats> simple functions can't know whether to propagate the changes | |
1:26 PM <jashkenas> the firstName, lastName example is a toy. | |
1:26 PM <andrewdeandrade> tomdale: totally agree. most conversations are probably "I want to give my users a better experience. I'm thinking of using backbone.js but want to know more about ember.js. when is ember.js the right tool for the job" | |
1:26 PM <jashkenas> that's correct -- you listen for changes to the source data | |
1:26 PM <jashkenas> and render computed values. | |
1:26 PM <jashkenas> not hard. | |
1:26 PM <wycats> jashkenas: yes… a pattern that happens sufficiently often that it's good to abstract | |
1:26 PM <wycats> not hard, but tedious | |
1:26 PM <andrewdeandrade> discussing the features should be framed by the question "under what use cases will these features be the right tool for the job" | |
1:26 PM <tomdale> andrewdeandrade: exactly | |
1:26 PM <tomdale> jashkenas: if I may quote from the backbone 0.9.0 change log: | |
1:26 PM <tomdale> Two new properties on views: $el — a cached jQuery (or Zepto) reference to the view's element, and setElement, which should be used instead of manually setting a view's el | |
1:27 PM <wycats> computed properties are abstracting "listen for these three properties, and if any of them change, tell anyone listening to me that they have changed" | |
1:27 PM <jashkenas> no -- tedious in Ember -- where you have to specify dependencies. | |
1:27 PM <andrewdeandrade> no feature ever needs to exist but they might be very desirable for certain jobs | |
1:27 PM <tomdale> you know, if you had computed properties, you wouldn't make users think about the distinction here | |
1:27 PM <jashkenas> in the source | |
1:27 PM <wycats> jashkenas: you have to do the same thing in backbone | |
1:27 PM <wycats> but ad hoc | |
1:27 PM <wycats> you can skip the dependencies in Ember if you don't care about invalidation | |
1:27 PM <wycats> but that is basically never the case | |
1:27 PM <tomdale> :P | |
1:28 PM <wycats> jashkenas: do you disagree that the pattern "listen for these properties, and when any of them changes, trigger observers" is very common? | |
1:28 PM <wycats> and that those observers often render | |
1:28 PM <wycats> or trigger more observers? | |
1:28 PM <jashkenas> yes -- and you want to listen to *real* properties. | |
1:28 PM <jashkenas> computed properties are fake properties that you can listen to, but can't set. | |
1:28 PM <wycats> you can set them | |
1:29 PM <jashkenas> if you define a setter function? | |
1:29 PM <wycats> you can implement setting inside a computed property | |
1:29 PM <wycats> it's in the todos tutorial :P | |
1:29 PM <jashkenas> a whole level of complexity that you totally don't need. | |
1:29 PM <wycats> in most cases, they're abstracting the observer pattern so you don't need a setter | |
1:29 PM <jashkenas> anyhow, moving on. | |
1:29 PM <jashkenas> forcing your users to use logic-less templates is *incredibly* constraining. | |
1:30 PM <jashkenas> necessary for embers goals -- for sure. | |
1:30 PM <tomdale> jashkenas: ember supports any templating language you'd like | |
1:30 PM <jashkenas> But not an advantage for most apps. | |
1:30 PM <tomdale> you just don't get auto-updating | |
1:30 PM <jashkenas> right, exactly. | |
1:30 PM <wycats> jashkenas: what % of backbone apps use mustache, handlebars, dust, etc.? | |
1:30 PM <tomdale> we very specifically designed the views to be template engine agnostic | |
1:30 PM <jashkenas> it's all over the place, template wise, as you'd expect. | |
1:30 PM <wycats> jashkenas: yes, but you say "not an advantage" | |
1:30 PM <jashkenas> tomdale: what % of ember apps don't use handlebars? | |
1:30 PM <wycats> many of your users disagree with you | |
1:31 PM <tomdale> jashkenas: all of ebryn's titanium stuff, for example | |
1:31 PM <andrewdeandrade> i think it's all over the place and that's a good thing... everyone chooses what is best for them. | |
1:32 PM <wycats> andrewdeandrade: what do you use? | |
1:32 PM <wycats> jashkenas: anyway, the built-in templating is very explicitly a design choice… I don't think I ever bash backbone for supporting multiple template engines | |
1:33 PM <wycats> Ember's templating support is about as integrated as ERB in Rails | |
1:33 PM <andrewdeandrade> used _ templates first but was forced to switch to handlebars because of problems with Rails asset pipeline and the erb gem | |
1:33 PM <jashkenas> finally, and perhaps most importantly, embers tight coupling of handlebars-ui-with-very-specific-bindings-to-ember-models is trouble, performance-wise. You can't build the really intensive parts of your UI with that level of binding / dom tweaking. | |
1:34 PM <wycats> jashkenas: exposing the performance question to the user is trouble | |
1:34 PM <jashkenas> So backbone makes it easy to zoom in and out from granular updates to bulk-y ones, from aggregate views to very specific ones... | |
1:34 PM <jashkenas> Making it possible for backbone to be helpful in even high-performance JS UIs. | |
1:34 PM <wycats> over the long haul Ember will be able to heuristically decide how bulky to update | |
1:34 PM <jashkenas> sufficiently smart compiler, eh? | |
1:34 PM <wycats> jashkenas: :P | |
1:34 PM <wycats> jashkenas: I feel like the sufficiently smart compiler argument has actually won | |
1:34 PM <wycats> not sure why people make fun of it ;) | |
1:34 PM <jashkenas> so -- those are some of the specific comparisons from my point of view. | |
1:34 PM <andrewdeandrade> On one hand I find mustache to be more restricting, but on the other hand i like the handlebars helpers. so i consider the switch to be net neutral | |
1:35 PM <wycats> jashkenas: but anyway, we can easily have support for bulky updates | |
1:35 PM <andrewdeandrade> oops i mean handlebars not mustache | |
1:35 PM <jashkenas> And the kind of thing that I'd say if we were both in the room... | |
1:35 PM <wycats> I think 0.9.5 or 0.9.6 will have that | |
1:35 PM <jashkenas> I'm not asking you to say any of that... | |
1:35 PM <jashkenas> But at least mention that an opposing point of view does exist. | |
1:35 PM <wycats> jashkenas: no problem -- I always assume people just know that :P | |
1:35 PM <wycats> but sure | |
1:35 PM <wycats> I can be more explicit | |
1:36 PM <jashkenas> Thanks -- much appreciated. | |
1:36 PM <wycats> jashkenas: I have no interest in antagonism | |
1:37 PM <jashkenas> Earlier today, I was tempted to add some of those critiques to backbonejs.org -- would you like to have that happen, or would you prefer me to leave the comparisons alone? | |
1:37 PM <wycats> I think it's fair for people to make strong versions of their arguments, but I'm not interesed in pissing people off | |
1:37 PM <wycats> jashkenas: go for it | |
1:37 PM <wycats> we can add responses | |
1:37 PM <jashkenas> hah. | |
1:37 PM <wycats> jashkenas: it's a high-wire act | |
1:37 PM <wycats> I think it was good for DHH to throw a few bombs Java's way | |
1:37 PM <andrewdeandrade> wycats: that's a hard assumption except when people have some level of familiarity with the different options being discussed | |
1:38 PM <wycats> and I don't think he needed to say "of course, Java disagrees with me here" all the time :P | |
1:38 PM <tomdale> jashkenas: fwiw I have much respect for backbone | |
1:38 PM <wycats> same | |
1:38 PM <tomdale> jashkenas: you guys did what we could never do with sprout core 1 | |
1:38 PM <jashkenas> well, what's good politics, and what's good engineering don't often align ;) | |
1:38 PM <jashkenas> I'd rather not play politician. | |
1:38 PM <andrewdeandrade> wycats: you're viewed as a authority on the subject (which you are) so people assume you're giving a completely balanced view | |
1:38 PM <jashkenas> andrewdeandrade++ | |
1:38 PM <wycats> andrewdeandrade: seems weird, since I'm explicitly advocating a position | |
1:39 PM <wycats> Obama is an authority on foreign policy, but nobody things everything he says is unanimously agreed to | |
1:39 PM <wycats> experts almost by definition take controversial positions | |
1:39 PM <wycats> anyway, I have no problem adding more caveats to what I sad | |
1:39 PM <wycats> say | |
1:40 PM <jashkenas> much appreciated. | |
1:40 PM <andrewdeandrade> wycats: I've only seen one of your talks, the RailsConf BR talk about a year ago and i think that the subject is so new to a lot of people that the newness of the topic at hand overwhelms most people in the audience that they don't get the impression that it's a particluar viewpoint | |
1:40 PM <wycats> jashkenas: I don't like playing politician, but I find that when I don't, other people smash me | |
1:40 PM <wycats> andrewdeandrade: hm | |
1:40 PM <andrewdeandrade> it's hard to perceive advocacy for one side or the other if you still are unsure about what the sides are | |
1:41 PM <wycats> I think bocoup's advocacy has a similar flavor to what you're saying | |
1:41 PM <jashkenas> wycats: I think you've got a pretty solid record at winning code-politics debates. | |
1:41 PM <andrewdeandrade> imagine watching a talk at the republican national convention when you don't know what republicans and democrats are or know very little about them. | |
1:41 PM <jashkenas> wycats: agreed -- I'd like bocoup to tone it down as well. | |
1:41 PM <wycats> jashkenas: I'm persistent | |
1:42 PM <andrewdeandrade> when you know both sides exist and have cursory knowledge and even an opinion on both, advocacy is obvious. but when you don't, you tend to assume authority not advocacy | |
1:42 PM <jashkenas> hey -- for what it's worth, I asked them to not name it "backboneconf" before the announcement ... but to pick a more inclusive name. | |
1:42 PM <jashkenas> and invite all the client-side-js-app folks. | |
1:42 PM <wycats> jashkenas: yeah | |
1:42 PM <wycats> they invited me :) | |
1:42 PM <wycats> I was confused | |
1:43 PM <wycats> backbone == client side MVC? | |
1:43 PM <wycats> seems weird bro | |
1:43 PM <jashkenas> amen. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment