7 ms·
Re-post of what I wrote about this yesterday on Reddit: I think Alan Kay was right: computing, at this point, is pop culture. Articles like this are are kind o
by rpeden 9y ago
Re-post of what I wrote about this yesterday on Reddit:
I think Alan Kay was right: computing, at this point, is pop culture. Articles like this are are kind of like identity politics for programmers.
I don't say that that to disparage the author, because stuff like this is nothing new. Programmers have divided themselves into warring tribes for almost as long have there have been programmers. You used to see C programmers saying that Pascal is for idiots, and Pascal programmers saying that C is for neckbeards. Or similar arguments between C++ and Visual Basic camps or C vs asembler. And there are dozens (probably hundreds or more, actually) of other examples.
So it's not a new phenomenon, and I don't expect it to go away. The way I look at it, it's usually more productive to mostly ignore the pop-culturists and just pick tools that allow you to get things done quickly and happily. I've used Angular 2/4, React, and Vue. I like them all, and I'd be happy to work on a project using any of them. Aurelia looks equally enjoyable.
At this point, I don't think it's especially likely that a project will fail because you chose Angular over React, or vice versa. Pick what works best for you and your team, and don't worry about what the chattering bloggers say you should be using. :)
- Analemma_ 9y agoIt's even dumber than contemporary identity politics, because at least there you (usually) can't choose your identity and so there's a defensible case for firing back at people who try to make your life miserable because of it. But language/platform/framework fanboyism is just pure sunk cost fallacy: you spent a lot of time learning X, but if X was the "wrong" choice, then was all that time wasted? To avoid that outcome, people invest tons of emotional energy defending X.
- rpeden 9y agoI think part of the problem is that much of the job market is language/platform/framework oriented. So there's some value in defending the tools you know and use, because your value on the labor market depends on the market valuing your experience. It seems like this is a bad approach to hiring, and I push back against it whenever I'm in the hiring decision loop any way. In the past, when the company I was at was looking for someone who would be working mainly with .NET, I wouldn't hesitate to being a strong advocate for a great candidate who has really only worked with Java. In my experience, such a candidate would take a week or two to really get up to speed and sort out the differences between the two ecosystems. I'd have been just as strong an advocate for good candidates whose main experience was Python, or Ruby, or Node, or Haskell, or anything. I don't think I ever saw any of those, though. The company was using a recruitment agency to bring in candidates, and so we mostly ended up seeing people who fit a pretty specific archetype. And I don't think that led to us seeing the best candidates who might have been interested in us. Not that we didn't find some great people; we most certainly did. But we also found an awesome one via a post on an HN "Who's hiring" thread.
- Yhippa 9y ago> But language/platform/framework fanboyism is just pure sunk cost fallacy: you spent a lot of time learning X, but if X was the "wrong" choice, then was all that time wasted? A lot of these articles give me this vibe. So what if a competing technology is "bad". What does the author get out of saying "X technology is the best and Y is fail"? Are these guys now thought leaders? Also I tend to see these more often in front-end land. Not sure why. Possibly because the cost of switching technologies is so low that you need to convince people constantly that X is the best so they stick around.
- omginternets 9y ago>A lot of these articles give me this vibe. So what if a competing technology is "bad". What does the author get out of saying "X technology is the best and Y is fail"? Are these guys now thought leaders? I think it has something to do with signaling expertise, often for purposes of self-branding.
- thehardsphere 9y agoI have a hypothesis about this: The lower your skill is at software development (or some subset of it), the more likely you are to be strongly opinionated about these kinds of arguments. If you are highly skilled, you're far less likely to be married to any one bit of technology, even if you have prior preferences. You're also likely to have been through a few fad cycles before, so you probably learned to tune out the holy wars and focus on being productive. And if some stack X is really a giant turd, you should be able to figure that out quickly and avoid it, so you don't have a reason to write about how much it sucks. On the other hand, if you know next to nothing, you're going to be more likely to read "Don't ever use X!" stories because you don't know what to use and are looking for advice. And you may be more dependent on whatever things you do use, because you don't yet know many other things, and you may be more likely to believe that it's better for your career to establish yourself as an expert in whatever you know. I think the "front-end land" sees more of these now because front-end land is a new and bizzare place that only came into being a few years ago; people generally don't understand it as well as they do other things.
- omginternets 9y ago>there you (usually) can't choose your identity The whole premise of identity politics is that you are the sole arbiter of your identity. It's an extension of the post-modern idea that since there is no possible way to favor a given interpretation of the state of the world over another, the only humane course of action is to let the people most immediately concerned by the interpretation set the standard. As such, the individual is given full dominion over his identity. So no, it's equivalent in this respect. (N.B.: the post-modernist could reply to my comment with something equivalent to 'that's just like your opinion, man', thereby illustrating why this reasoning gets us nowhere useful)
- thehardsphere 9y agoIt depends on what the parent was referring to by "identity politics." Some people use that term to mean politics according to demographic factors they cannot directly control, such as their race. So, if it was what was intended, then I don't think your (actually quite excellent) critique of post-modernism is relevant to what they were talking about. Unless of course, you're arguing that it's the underlying philosphy even if the participants in it don't know it or think that way consciously.
- atom-morgan 9y ago> I've used Angular 2/4, React, and Vue. I like them all, and I'd be happy to work on a project using any of them. Aurelia looks equally enjoyable. I've used AngularJS, Angular2/4, and a bit of Backbone and Ember. I agree about React, Vue, and Aurelia and despite what hiring managers may think, I don't see competent engineers having much of an issue switching from one to the others.
- rpeden 9y agoI agree, and expanded on it in my reply to Analemma_. Hiring has become too framework specific - if someone has built an application using a component oriented framework, I don't think they'd have much trouble moving between them. I'd even cast a wider net when looking for good candidates while hiring - if I came across a great developer who knew JavaScript well and had also worked on WPF apps in the past...I'd probably be inclined to make them an offer, even if they hadn't worked with React or Angular yet. Maybe it's like Moneyball applied to the developer labor market. There are lots of people who would do a great job, but are undervalued because most hiring is fairly buzzword-oriented at most companies. Frameworks and tools come and go. I think that the real value comes in understanding the underlying concepts and being able to apply them in new situations using new tools.
- emodendroket 9y agoI'm currently working at a place that is basically tech agnostic when it comes to getting and it's pretty good in my experience.
- noir_lord 9y ago> I don't see competent engineers having much of an issue switching from one to the others. I went from been a "dyed in the wool" desktop/enterprise developer to a backend web developer in less than a year and a full stack in two, once you accept the patterns are different, programming is mostly just programming. Here we are in 2017 and if you squint web app development looks a lot more similar to that stuff than it did back in 2009, I picked a fairly good time to move over I think, I missed a lot of the early bullshit around browser incompatibilities (I just caught the tailend of the shitfest that was older IE versions) and the tooling has improved hugely over that time. TypeScript with node and some of the front end tooling is actually pretty pleasant day to day.
- unclebucknasty 9y agoI thought this article was a reasonable assessment of the frameworks discussed and how we got here, without the maniacal hand-waving usually associated with identity programming. I might not agree with it all, and I do think our community is frequently overly-dogmatic. But, I also don't think it's fair or productive to dismiss out of hand any critique of any tech as simple pop-culturalism or tribalism.
- rpeden 9y agoYou're absolutely right that it's neither fair nor productive to dismiss any crituque out of hand. I just found this article to be on dogmatic side of the spectrum. It doesn't seem that the author has enough experience with Angular to back up the negative assertions made about it. I know it's only anecdotal, but I've seen teams that are simultaneously using both Angular and React happily and productively. When I've talked to people working on those teams, they don't really feel that one is drastically better or more fun to use, and they've found that speed of development and codebase maintainability ar comparable between the two.
- hashkb 9y agoWe also have this idea now that spending an afternoon with some tech is enough experience to share with others. Initial learning curve and "am I immediately as productive as I wish I was?" have somehow become key metrics.
- unclebucknasty 9y agoTrue. It cuts both ways though (I guess like most things). That is, once a person has invested in that learning curve and spent significant time working in a tech, tunnel vision tends to set in. It becomes the only tool, which that person fiercely defends. They've now got too much invested to just let it go. It's actually not unreasonable from a raw self-preservation/self-interest perspective, but I do think it contributes to a lot of the emotion-filled tribalism we see. In other words, the intensity comes as much from interest in maintaining self-relevance and personal financial security as from the viability of the actual tech.
- 65827 9y agoYeah this is an old theme for sure, but Google has screwed up with angular so epicly, it's just surprising from the company that invented so much of the web that they would miss the mark so badly. I think that's why the angular/react discussion is a bit more wild than the old ones of yesteryear. It's really more interesting from a perspective of institutional blindness/incompetence/arrogance than any real technical discussion.
- rpeden 9y agoThe transition to Angular 2+ felt like a slow-motion train wreck at first. To their credit, though, I find the Angular development experience to be quite good now. I like that there's interest in the Angular community around generating code that can be aggressively optimized by the Closure compiler.I like to ship as little code as possible to browser as possible, as lots of people are using older computers, tablets, and phones where parsing an unnecessarily large code bundle causes a noticeable delay. Thus far, I've had a lot more success at reducing bundle size when using Angular than when using React. But I still end up using React often, because I enjoy it and I like the size of its ecosystem.
- davidw 9y agoYou must be one of those vim users.
- rpeden 9y agoEven worse.... IntelliJ, Visual Studio, and sometimes even Atom. I imagine that probably makes me seem like a glutton for punishment who loves development environments that require the power of a 90s supercomputer just to display a flashing cursor. :) I do enjoy Emacs for Clojure development work, though.
- pjmlp 9y agoFully agree with you. There is a bunch of tech that I bash all the time, but if that is what makes the customer happy, then that is what I would use. These posts seem like people self assuring they have made the right decision to use whatever technology stack.
- rpeden 9y agoHey, thanks. So many times I've read a post on HN or Reddit that I thought was spot-on, and then looked up and saw that you wrote it. Nice to see that the agreement goes in the other direction - or did on this occasion, at least. :)
- git-pull 9y ago> I don't say that that to disparage the author, because stuff like this is nothing new. Programmers have divided themselves into warring tribes for almost as long have there have been programmers. You used to see C programmers saying that Pascal is for idiots, and Pascal programmers saying that C is for neckbeards. Or similar arguments between C++ and Visual Basic camps or C vs asembler. And there are dozens (probably hundreds or more, actually) of other examples. I don't interpret this article like this. I understand the observation that people have different opinions, but with JS frameworks, there's so many developers who sunk their teeth into a framework to be productive just to lose their edge 6 months later. It's substantive for a developer, a team of developers, a whole community to invest their time into a framework that gets thrown out every 2 years. It's painful to constantly pursue a moving target with JavaScript changing. Meanwhile, web frameworks like Django and Rails remained stable for over a decade. > At this point, I don't think it's especially likely that a project will fail because you chose Angular over React, or vice versa. That sentiment feels rather just-worldish in light that becoming productive at a framework (not just doing small tweaks) is a chore in itself. I recognize that people have their own opinions and philosophies of the framework they pick, but the article also factors in the timeline of these frameworks. When I read through that article, I felt sharp remembrance of being on the roller coaster of continually rebuilding my skills from scratch with the new framework where the action is at. > Pick what works best for you and your team, and don't worry about what the chattering bloggers say you should be using. :) While I do recognize there is also a cargo-cult fanaticism that comes with JS frameworks, the amount of upstream contributions and extensions these frameworks receive back is considerable. The effects are also felt on QA websites like StackOverflow and so on. I don't see the same behavior for every framework in software development. Like for instance, SDL2/allegro/SFML, I don't feel attachment and the API's are somewhat less of a moving target. Potentially, because it's safe to say you can just pin NPM packages and your old Backbone code will build. But will people hire you for that Angular 2.0 position if you're not top tier in that framework? They could pass you up for someone who's already ready for to take up the job. There's economic ramification for workers on what framework they pick.
- Moru 9y agoYes, not a new thing. Car owners do the same thing. And brand clothes. And bike brand owners. And... Mabe just a part of human nature to defend brand buy-in.
- walljm 9y ago> Mabe just a part of human nature to defend brand buy-in. Yup, this is because people invest their identities in the brands they consume/use.