r/javascript • u/thejameskyle • Dec 05 '16
Dear JavaScript
https://medium.com/@thejameskyle/dear-javascript-7e14ffcae36c55
u/rictic Dec 05 '16
I think this is really important.
Criticism is necessary and incredibly valuable.
Angry ranting mixes in retribution and schadenfreude. It's not just about pointing out a problem, it's the vicious desire to make someone suffer while you do it.
Ranting is dangerous because it's fun to write and fun to read, so you can get more upvotes and attention with your criticism if you get in a few punches below the belt mixed in with your criticism.
Downvote rants, upvote thoughtfulness. Apply the principle of charity everywhere.
4
Dec 06 '16 edited Dec 06 '16
I feel that rants have their place in the world. They are not meant to be constructive. They are used as an emotional outlet, and maybe provide entertainment for yourself and others. Much like satire about current events, they are still valuable, but not in the way that it provides solutions.
5
u/rictic Dec 06 '16
Agreed, I think it's totally reasonable to let off a rant over beers with some friends. Be as vicious and uncharitable as you like.
Writing a ranty blog post is different because the authors of the subject under rant are pretty likely to read it, and open source runs on passion. Undermine that passion and we're all worse off.
3
u/ligerzero459 Dec 06 '16
Downvote rants, upvote thoughtfulness
That's the way Reddit is supposed to work, but unfortunately people tend to upvote what they like and downvote what disagrees with their opinion/worldview
2
1
u/gurenkagurenda Dec 06 '16
Honestly, show your code to people, and you're lucky if people point out problems. There are plenty of people around who just want shit on everything without bringing up a single note of substance.
11
u/geekygirlhere Dec 05 '16
I do not at all condone the bad behavior, un-realistic requests and negative comments from open source users but I think part of the problem is junior developers think they need to use these frameworks for every project. This results in frustration and running around in circles. They then blame the framework or developers because the framework wasn't really right for their use case or doesn't give them exactly what they want.
Maybe the community needs to do a better job at communicating best use cases for these frameworks.
Are you developing a Gmail type app with multiple devs? Okay, maybe an Angular type framework is a good option.
Are you developing a simple CRUD app? Probably not the best to use a heavy framework then. A framework in this case may actually slow you down.
Single page apps and frameworks are not needed for everything. Probably not even needed for most web apps that people are using them for.
1
Dec 06 '16
I would go so far as to say that Javascript itself is not needed for at least half of the things people are using it for. At least 80% of that being things that really do not need to move, be animated, be interactive, use AJAX,...
39
u/calsosta Dec 05 '16
I agree and maybe to recap it, the problem isn't that people are assholes, we already knew that, the problem is one that we created which is that every asshole now has a voice in the community. It is only natural that leads to politics.
Right now we are politics with zero governance, perhaps if we included some way to democratize the process of majorly impactful changes to large projects it would at least change the vent of hate to EVERYONE instead of a single person.
42
Dec 05 '16
This won't work though. Too many CS 101 students with very vocal opinions regarding things they really don't know much about. There's only maybe five people that know enough about the babel codebase to actually make informed decisions regarding it, for example.
15
u/xaviervia Dec 05 '16
Why wouldn't it? It's not about people not being vocal anymore, is about creating channels for valuable feedback.
If there were channels with good governance available, the OS maintainers could use those for skin-in-the-game discussions about the future of the projects, without having to navigate through rants.
9
u/mcaruso Dec 05 '16
According to the author at least, there was plenty of discussion and feedback prior to the change:
Before publishing Babel 6 this was a non-controversial change that had lots of input. We communicated what the intent was months in advance and asked for community feedback.
2
5
u/danman_d Dec 05 '16
There will always be people with loud opinions and little experience, no one is suggesting that they will ever disappear. The point is to give those voices less attention than levelheaded opinions by experienced contributors, rather than more - and I don't see a good reason why that can't work.
4
u/calsosta Dec 05 '16
That is true however their vote does not need to be weighted the same as that of a contributor, a board member or other key people.
7
u/jacksonmills Dec 05 '16
CS 101 Students?
I honestly would be surprised if most of the comments are coming from CS majors, or first-year ones at that. The longer I've worked in this field, the less likely its been that my co-workers or colleagues went to school for development or computer science.
I'm not saying that's the reason for the negative atmosphere, but I sincerely doubt the cause of the problem is freshman or sophomore college students.
If you rephrased it as "junior web developers", I would completely agree with you.
4
Dec 05 '16
junior web developers
Yeah I completely agree, probably a better choice of words. Same meaning here tho
1
u/SamSlate Dec 06 '16
The longer I've worked in this field, the less likely its been that my co-workers or colleagues went to school for development or computer science.
Do you code, or are you management or something?
1
u/jacksonmills Dec 06 '16
I'm a freelance consultant, so it's really what the client needs. Typically though, no matter what the job, at least 6 hours a day of coding is the norm, even if that's bundled with 6-8 hours of management and meetings.
The last client I had, I was doing 7 hours of code for about 1 hour of meetings per day.
I've done a lot of hiring for clients as well, so I tend to see a lot of resumes.
1
u/SamSlate Dec 06 '16
your saying- applicants are becoming more commonly not college graduates?
2
u/jacksonmills Dec 06 '16
Yes. I'm also hiring more of them.
1
10
Dec 05 '16
Also, asshole has a wildly diverse definition. If I advocate no frameworks as a way of boosting performance and somebody else now feels threatened then I quickly become an asshole. When everybody is hyper sensitive any suggestion that is not immediately the most popular could very easily make you an asshole. Consider CrockfordGate as any example.
To me, however, an asshole is a person whose intention is to incite a negative sensation above and beyond a technical subject... typically expressed as an ad hominem. Really, any ad hominem makes a person an asshole by default.
1
9
u/lhorie Dec 05 '16
some way to democratize
I think that just makes it worse, especially in highly controversial issues. The thing is that "majority wins" rule is orthogonal to "what the not-small minority thinks of it". Trolls will be trolls, and criticism isn't always easy to swallow. You can't change other people, no matter how inspiring a speech you make.
The way for an OSS maintainer to cope w/ negativity, in my opinion, is to first acknowledge that it's very possible to fuck up royally, even after extensive discussions and consensus (heck, I know I've made some incredibly stupid decisions to my projects, when I look in hindsight); and second, to wholeheartedly convince yourself that toxic vitriol comes from puny worthless people (it's an arrogant attitude, I know, but it's kinda true, and I keep these thoughts to myself, and they help shrug off bullshit and maintain my mental health).
I think getting the hell away from the internet to let your brain stew on the problem for a while is actually a good coping mechanism as well. It takes some humility to acknowledge that your big achievements in the internet are actually small in the grand scheme of things, and it can feel "dirty" to waste two weeks playing some lame freemium game on your ipad, but it also helps get some perspective that your well being comes before your trophies. Getting back into the groove of things can be especially hard once you unplug, but you can use the same strategies that you would do against procrastination (tackle easy low hanging fruits, make small achievements)
At least, that's what I try to do
2
u/calsosta Dec 05 '16
Well first an owner would need to opt into the system. I think then they could cede as much power as they want to one or more of the following:
Contributors
Public at large
Change Advisory Board
Prominent developers in the community
In the case of public at large that could function almost as a proxy vote system like with stock ownership, your default position if you do not respond is that of the recommendation of the owner.
I think no matter what the owner has the final say.
1
u/lhorie Dec 05 '16
Isn't that more or less how +1's and issue locking work in github? I'm saying that having a "democratic process" is kind of like doing lip service, because in the end you'll still have a large number of unhappy people when a decision doesn't go their way, and the vast majority of these people are probably not even aware of the decision in the first place, until it lands on a stable release (as was the case with the Babel vitriol situation).
As a community leader, the best you can do is set some guidelines (and really, the rule of thumb of "be civil" is supposed to be a given), but when the discussion bleeds onto large public forums like Reddit and HN, you can't realistically expect people to always behave nicely. I'm not trying to blame the victim here, but at some point, you have no choice but to stop expecting things from others and you have to do what is within your own abilities in order to cope with the undesired situation.
7
u/DatOpenSauce Dec 05 '16
I don't think most maintainers would want to implement a democracy for their projects though. I mean, why should they? It feels like submitting to the vocal pricks.
3
5
u/parlezmoose Dec 05 '16
The problem is tech culture glorifies cocky know-it-all assholes. The average half-witted web dev thinks their ability to write code makes them an engineering savant, and they fashion themselves as a brave no-nonsense truth teller like Linus Torvalds or Steve Jobs. So they say their dumb opinions loudly and with angry, righteous conviction, cause that's what brave savant truth tellers do!
4
u/maiam Dec 05 '16
This is unfortunatley a problem with the world in the social media age and not just the js community
5
u/calsosta Dec 05 '16
I feel like anytime there are more than 2 people you are gonna have some amount of politics.
1
0
Dec 05 '16
[deleted]
4
u/NoInkling Dec 05 '16 edited Dec 05 '16
Well yeah, feedback is always gonna be biased towards the negative, because the people who have a positive or unnotable experience (things just work how you expect them to) tend to just get on with things. This kinda sums it up:
"When you do things right, people won't be sure you've done anything at all."
Note that this doesn't imply that negative feedback means you're doing things wrong - it's impossible to make software that perfectly caters to everyone, especially when the young people entering software these days are part of the most entitled generation (on the whole, I realize it's a generalization) to reach adulthood to date and often have unreasonable and vitriolic demands.
What the internet serves to do is open communication channels that allow any negative feedback to condense into highly visible circlejerks of hate, which are the biggest problem.
9
u/logicalLove Dec 05 '16
Make JavaScript great again!
9
u/tmckeage Dec 05 '16
REPEAL AND REPLACE NODE!
4
u/so_just Dec 05 '16 edited Dec 05 '16
That kinda happened with IO.js ... and then it got merged back into node.
2
Dec 05 '16
everyone especially in the Javascript community.
But this isn't particular to js or /r/javascript - this is the Internet.
You should see the anger and flames happening in Python after a prominent author trashed Python 3.
2
Dec 05 '16
On the other side of these anti-negativity sentiments is blind positivity, which is just as bad.
1
Dec 06 '16
Why does it have to be extremes? Also, I would argue that constructive criticism IS the happy middle ground... let people know your concerns without being an ass about it. Win/win.
1
Dec 06 '16
As seen in the comments here, people can't take constructive criticism, and when it happens in public the 'white knights' tend to make things worse.
0
Dec 05 '16
It's necessary to return to a state of balance.
1
Dec 05 '16
It's necessary to return to a state of balance.
If anything there was rampant blind positivity for so long that you are now seeing the backlash from that. All the noobs that chased new and shiny are starting to reap what that sows and now they bitch about javascript fatigue.
3
Dec 06 '16
I really take issue with your word choice as it comes across extremely negative- the kind of negativity that the OP is speaking out against. Be careful because when you come across as simply angry you lose your credibility.
I don't really understand how blind positivity, as you put it, is responsible for javascript fatigue. I think the pace of change in the javascript community is blistering and I've become frustrated as I have to learn yet another concept / stack / framework. Don't tell people that being blindly positive is a bad thing- that can easily be interpreted as being positive in general is a bad thing. Dangerous.
Do you want people to stop working on open source projects to allow us noobs to catch up? What is your solution?
→ More replies (3)0
Dec 05 '16
[deleted]
4
Dec 05 '16
Feel like the Internet could really use a system similar to some MOBAs where people that are constantly toxic are rated by the community and eventually you just don't hear or see them anymore because everyone agrees they're trolls or add nothing to the community.
0
5
32
u/Geldan Dec 05 '16
There may be some problems, but saying things like the title "Angular 2 is Terrible" "is an attack on the maintainers" is ludicrous.
When I, and my co-workers, decide to pull a library/framework into a project no one gives the maintainers/creators any thought beyond the rare occasion where someone is known to be flaky and drop support way too quickly.
Maybe the author of this article can't divorce the people from the framework, but for me, and everyone I have worked with, there is hardly a connection. When we look at a technology and say, it's "terrible," we mean just that. The code's usefulness to us is far and away the primary metric we look at.
14
u/AndrewGreenh Dec 05 '16
He wasn't saying that you are not allowed to criticize technologies, he asks you to do it in a constructive manner! Just saying "XY.js is terrible" does no good for anyone. If you can clearly state what you don't like or what you think is missing, and maybe even have spare line in your 5000 word article to thank the maintainer for contributing to the Frontend world, then you are contributing too.
3
u/Geldan Dec 05 '16
Is this actually meant to be a reply to my comment because as far as I can tell it doesn't address what I wrote at all.
1
u/delventhalz Dec 06 '16
I don't think any part of this article suggested you should consider anything other than the functionality of a project when deciding whether or not to use it. The point was, you should be thinking about the people maintaining OSS, when you publicly discuss OSS. Because whether you think about them regularly or not, you depend on the work of thousands of volunteers, and it is in your interest to keep those volunteers highly motivated.
-4
u/philipwhiuk Dec 05 '16
My biggest contribution in over a year has been jokingly adding Guy Fieri ascii art to the project.
He's not exactly Mr Constructive himself.
2
u/squirtmaster1 Dec 05 '16
But you realize usefulness is relative though, right? It may not be useful for your particular application or workflow, but that doesn't qualify it as outright "terrible", rather just "terrible for doing X".
I'm not personally a fan of angular, but instead of giving it a blanket judgement I prefer to say it's not a good fit for what we do. I think that's an important distinction and also what the author of the article is getting at.
1
u/Geldan Dec 06 '16
But a blog post is innately personal. If someone posts a blog saying angular is terrible, it's already assumed that they are scoping it within their frame of reference.
1
u/parlezmoose Dec 06 '16
That example wasn't the best one perhaps, but anyone who's worked on OSS knows exactly what OP is talking about.
0
u/fooey Dec 05 '16 edited Dec 05 '16
that title alone is an attack on the maintainers
That clause is so whiny and immature it undermines everything else he's trying to accomplish.
Stating a dislike for a specific piece of technology has zero relation to the people who created the technology. Amazing people can make stupid things. There's brilliance poured into bad ideas every day. When you find you're chasing something the wrong direction, step back and appreciate the learning experience. Don't double down or lash out at the people offering criticism, no matter how inartfully they make it.
At the end of the day, at least your idea was worth criticising, rather than just being ignored. Wear your criticism as a badge of pride because it means people are interested in your work.
0
Dec 05 '16
[deleted]
10
u/Geldan Dec 05 '16
It's not even about not being attached to your code. I think that's too be expected. It's about not being able to see other people's perspective.
10
u/repeatedly_once Dec 05 '16
And here in lies the crux of the matter for me. He wants us to try and appreciate the engineering and direction of open source projects taken by maintainers and acknowledge that as users we may not have the deep knowledge of how said framework / library works. I accept that. What I don't accept is not being able to take this view and apply it to the users of the software. You're telling users they don't understand your design decisions and users are telling you that all they have experienced is using the software / library and it's not working for them. I think communication is key. An example - the documentation for how to upgrade babel 5 to 6 is super light on it's feet and doesn't really explain anything. I had to cobble together what had changed from various online sources. So I can see why people would be annoyed at breaking changes. It hit me unawares and I try and stay up to date with major topics in the JS community, so God help those who don't and just use the software.
20
u/thejameskyle Dec 05 '16
I was not saying that people should be mind-readers, or that they should not be frustrated, or that they should not criticize or voice their opinions. All of that is fine.
I'm talking about directed completely transparent anger. I'm saying that we as a community should not reward people who act that way.
1
u/repeatedly_once Dec 08 '16
I agree that irrational transparent anger shouldn't be tolerated however there is a distinction between irrational anger and 'angular 2 is terrible'. One achieves nothing and is abusive, the other is a thought out critique of a framework, if not a little biased to a particular use case.
My problem is that equating criticism to abuse or 'attacks on the maintainers' is just as toxic as those who can contribute nothing but unfiltered anger. You shouldn't ignore and you shouldn't attempt to silence those who put thought into their opinions. So whilst I agree transparent anger shouldn't be tolerated, I also think people should be a little less sensitive about their code. I've worked with many developers and the best ones are those that listen to critiques and apply them to their own work in a judicious manner.
-2
Dec 05 '16 edited Dec 06 '16
Your skin is too thin. You're working within a global community. So-what if some asshole on the other side of the earth wants to bash you because of reason x, y, z. Many of them aren't taking their medication or should be. Not everyone is as balanced as you, and in some cases they are forced to use your code.
You're also giving power to the haters by writing this article, and by feeling hurt.
There aren't many libraries like Babel, and so people are practically forced to use it. In some cases they can't just go use another library/framework/etc. They should probably contribute fixes instead of contributing only anger, but that may be why you feel more pressure with Babel than you will in other work.
Part of the reason you might be feeling so hurt is that there could be some truth to their attacks - if it were baseless, then you would have nothing to feel threatened by. That could be "imposter syndrome", I don't know - I don't know you or your code, I avoid using Babel for various reasons having nothing to do with your skill or the skill of the team working on Babel.
I agree it's better to be constructive than destructive, but sometimes you have to accept the good with the bad when you're on a global stage. Grow a thicker skin, practice your art, and build great things - living well is the best revenge on the haters.
→ More replies (2)-5
u/mikrosystheme [κ] Dec 05 '16
Which kind of reward should not be given to that group of people you (not "we" or the "community", since those are terms without meaning without a precise context) consider not worthy? Upvotes? Internet stars? Jobs? The privilege to attend conferences? And who gave you the authority to tell the two groups apart?
9
u/nschubach Dec 05 '16
The best thing I ever did for my sanity is to understand that every line of code I write could vanish tomorrow when someone else adds their feature to the code base.
6
u/Voidsheep Dec 05 '16
People get attached to their code. It's human, but it's unprofessional.
In my work I write code, but there's a ton of people responsible for maintaining the projects with me. I also get paid fair salary for it, which is a pretty great motivator.
Many people in OSS projects are solo maintainers, responsible for pretty much the entire project. Not necessarily by choice, but because very few people bother to help with it. Even in some massive repositories with millions of downloads you can count active contributors with one hand.
And it's of course great we have a ton of absolutely free tools we can just use as we please, but then there's people who just won't settle for that - but instead keep whining in a very rude and entitled way about stuff they get for free and do nothing for.
It's pretty easy to see why you'd lose motivation when majority of the feedback is negative and unconstructive and you aren't even getting paid to deal with it.
Obviously it's your own choice to publish and maintain OSS, nobody forces you to do it, but I think people give way too much shit and way too little credit for it.
2
2
u/FQuist Dec 06 '16
Why do people who give their time for free need to be "professional"? And why would attachment to a product you make be unprofessional? I find these kind of statements the petty ones that would annoy me if I were a maintainer. You're judging someone about how they relate to their own product? Why?
4
u/parlezmoose Dec 06 '16
So much sanctimonious horse shit in these comments, as usual. Some people see it as the job of a volunteer maintainer to stoically absorb other people's venom. And if the maintainer dares complain, or dares hit back in any way, then they deliver a big holier-than-thou sermon about "professionalism"
Guess what? A volunteer is not a professional and thus does not have to meet your arbitrary standard of professionalism. You did not pay for their product. They owe you nothing. If you don't like it, go elsewhere.
1
u/Deto Dec 06 '16
True, but the flip side of this is that, given that people often are terrible and/or self-centered, maybe having a thick skin is something that's needed in maintainers?
14
u/Papahub Dec 05 '16
This article comes across as whiny to me only because of it's repetitiveness and length. However, it contains some valid points:
Constructive criticism is highly desired.
Don't encourage other assholes
Don't let your emotions get the best of you when reviewing/critiquing
16
u/kamenjan Dec 05 '16
That was a really emotional post. A lot of frustration filled with sadness. I hope you get back on your coding horse as soon as possible. That being said, it was kind of biased.
JavaScript community and environment is chaotic at its best. Maybe some self criticism is in order? Should the project maintainers stop for a moment and ask themselves why are they developing the next best project? Is it maybe the recognition they are after and not the altruistic feeling you keep referring to? Is there any chance a tool for the job is already available? Oh, it is but you don't like it? So the solution is to write a new one and hope it pleases everyone? Did JavaScript community forget about the time it takes for a platform to mature? Why not join and help guys that already made one tool like you want, just not exactly like it.
Nobody wants to learn a new framework after they just spent half a year studying one, because the next one is really really the one... Take away here is that JS developers should stop saturating our tool-belt and pushing their next best project as in "How come you don't know the XYZ project, do you live on a moon?". Inventing problems that aren't there and finding a solutions for them will hardly get you praise from everyone. But it is true, the community can also be toxic as fuck.
4
u/delventhalz Dec 06 '16
Feel like you are conflating issues here. There is a difference between not adopting a new framework and attacking its contributors. Go ahead and write a blog post entitled "Why I won't be adopting Angular 2" if you want. Talk about the steep learning curve and minimal upside. That is quantitative and actionable. But "Angular 2 is Awful" is inflammatory and demoralizing. It may feel good to write, but it hurts the community overall.
4
Dec 05 '16
I just read this and I was not aware that the /r/javascript community was so toxic and hurtful. I'm really sorry to hear that you've had a bad experience.
The part of your article that resonated with me was your call to reject the kind of negativity that has driven you to write this article. I'm on board with that. I believe that people need to be held accountable for the actions both good and bad in a public space so the community at large can learn from said actions.
Keep doing what you're doing. Stay strong and thank you for your hard work on the kinds of open source projects that myself as a developer would be lost without.
21
u/phpdevster Dec 05 '16
Have to disagree about the "Angular 2 Is Terrible" complaint. I read that article, and it makes some good points. I believe "premature abstraction" was a phrase used in that article, and it perfectly describes Angular 2. What used to be a pretty simple framework to get up and going with, has now become absolute insanity. My company already builds an enterprise application in Angular 1, how much more enterprise-y does a framework need to be?
Angular 1's major problem is that it's not great when it comes to performance, but beyond that, it's pretty straight-forward even if it's a little more heavy-handed than say, Vue.js.
I have no idea what the A2 team could have been thinking when they made the decision that have resulted in A2 being so much more complex. Isn't the point of a framework to alleviate common problems, not make their implementations more complex than they have to be?
I will NEVER bother using Angular 2 unless I have to for a job - there are far too many other alternatives out there that accomplish the same fucking thing with a lot less cruft.
17
u/Voidsheep Dec 05 '16
Have to disagree about the "Angular 2 Is Terrible" complaint. I read that article, and it makes some good points.
You can make good points without undermining and shitting on the huge amount of work a many talented developers put into a completely free open source software.
"Angular 2 is terrible" is just a rude clickbait. Rewarding it with attention is part of the problem.
If someone hands out something for free, you don't go yelling "boo, this isn't what I want - you suck!"
Most developers are happy to receive constructive feedback during development, that's not what this article is about.
It's about the significant group of people who contribute nothing to OSS projects, but only demand other developers to cater to their specific needs. Basically complaining the charity they get as fellow developers isn't good enough.
Even better, the whole development process is completely open-ended and anyone can get involved, but they will not. When the project is further along, they just come whining like a bunch of entitled brats.
If framework X has too much abstraction or complexity for your team, pick something else, it's clearly not the right choice for you. Practically every team can pick and choose the exact free tools they want from a huge variety.
0
Dec 05 '16
[deleted]
16
u/Voidsheep Dec 05 '16
Exactly the kind of constructive feedback that really encourages OSS development right here.
4
Dec 06 '16
Maybe people without enough experience to follow basic best practices ( e.g. the release and its release candidates should be very similar to each other) should really get out of the business of writing frameworks.
1
0
6
u/jacksonmills Dec 05 '16
I actually thought the main problem with Angular 1 was that the abstractions were not well communicated/documented, not that they were bad or wrong in and of themselves.
They made some real mistakes: Components came way too late and "scope:" options in $compile were always far too permissive and confusing; it should have allowed you to make an isolate scope or no scope at all. ( This would have also helped re: performance ).
But, I found out, after developing in AngularJS (1) for about 3 years, how and when to use a .service over a .factory. I found out eventually how powerful providers could be and how you could use them to reuse code and directives for lots of different applications. I found out how you could extend directives by wrapping them, or extend controllers by decorating them, or extend services by just doing it the old fashion way.
But none of that was documented. The biggest difference between Rails and Angular for me was that Rails guides told me all of the basics and intermediate level concepts I needed to know: Angular barely gets to the basics. When you get to advanced subjects, you are almost completely on your own.
The docs are a lot better now, but with 2 taking so much focus, I doubt they will ever get to where they "needed" to be.
1
u/UnicornOfHarmony Dec 06 '16
Re: missing documentation
I think most of that was not deliberate. Angular 1 had a quite unique approach to Front-End Web Dev at the time it came out. It's clear from the code base and the history of the project that a lot of the decisions made at the time could have been better. Even so, they were in search of a better way to build apps and perhaps you can't really make the right decisions until you make the wrong ones.
I'd say that it's rather easy to criticise with the benefit of hindsight. Personally, I know it took a while for the teams I've worked in to come to a really productive and maintainable approach to Angular - about a few years in fact. You mention this as well. I now look at the code I wrote 3 years ago and see so many ways it could have been simpler, so many ways it could have used Angular's strengths better.
Angular, in general, has been very transformative in a good way for the JavaScript community. It's now a very strong framework for building large apps. I similarly expect it might take a few years for the concepts Angular 2 is introducing to mature and settle down into something great, assuming it does. The only real problem for the framework I see is that since there's so many great tools available now, it might not get the critical early adoption to push through the awkward years.
5
u/simkessy Dec 05 '16
I use Frameworks to solve problems, if the framework itself is going to add so much more complexity to my problem solving process, I'm skipping it in a heartbeat.
1
28
u/MAGA_FORCE_ONE Dec 05 '16
This is the same James Kyle that goes on daily twitter rants, usually to the extent of being annoyingly toxic? The same James Kyle that hypocritically directs hate, anger and criticism at those with different political opinions, but calls for friendly unification when it deals with JS?
Of course the sentiment of the blog post is positive and easy to agree with. Coming from James Kyle though is somewhat laughable. He's easily the most toxic person that I follow on Twitter.
4
u/kierenj Dec 05 '16
Why do you follow him?
10
u/MAGA_FORCE_ONE Dec 05 '16
I don't follow him anymore. I unfollowed a few weeks back during one of his typical rants about how everybody who doesn't agree with him is an idiot.
1
u/pheeney Dec 05 '16
He's easily the most toxic person that I follow on Twitter.
The behavior I experienced extends beyond twitter and political opinions. I can definitely sympathize with the personal matters he is dealing with recently but in my case this behavior happened several times over the course of years to several people. For me it isn't a recent development or the fact that twitter was his journal and now people are listening like he mentioned elsewhere in the thread. I also agree with the sentiment completely, but quite confused that it was him behind it all.
0
Dec 05 '16
[deleted]
12
u/geekygirlhere Dec 05 '16
James - Sounds like you have a lot going on. Have you considered taking a break? Step away from all of this for a bit. Try and remove yourself from anything that feels overly negative. That may mean stepping away from your open source projects for awhile.
Maybe take a road trip along the coast?? Your relationships and peace of mind are so much more important.
I hope things start looking up for you and you find some relief soon.
4
u/anoddhue Dec 05 '16
Seconding this. I don't have to deal with any toxicity from OSS, but have still stepped away from most forms of social media after some tough life events and noticing how toxic/echo-chamber-y it can be.
I'd consider at least starting an alt account.
10
u/don_geiss Dec 05 '16 edited Dec 06 '16
hah...why are we supposed to empathize with your occasional bullshit because 'had a very rough time recently' but not the other way?
6
Dec 05 '16
Yeah, I don't even have any idea about why such personal problems are being discussed here.
5
u/azium Dec 05 '16
Hey man, I hope things get better for you. I know it's a drag to put yourself out there while having to deal with personal stuff. From what I can tell you've always been well intentioned and provide wisdom to people in the community, so thanks for not taking other maintainers advice and ignoring us.
Not sure if there's anything I can do to help, you can always message me to talk.
Thanks for all the great work :+1:
3
10
u/jimbolla Dec 05 '16
Crossposting my comment for visibility:
Perhaps we need communities (subreddits, etc) that are moderated by leaders in the OSS community who also have a sense for how damaging the negativity is for us. I personally would love to see some js/programming subreddits with less angry rants, “why’s my code broken”, and “here’s an intro to new ES2015 features when it’s almost 2017” posts; more focused on promoting & discussing new ideas and advancing our craft.
36
u/kenman Dec 05 '16
moderated by leaders in the OSS community
I think the problem is that we, or at least me personally, would rather those really smart & talented people be focused on writing great tools, rather than baby-sitting external communities. I'm a mediocre dev, so baby-sitting is in my wheelhouse.
I would also like to state that moderating has been one of the single most-challenging things that I've ever done. I'm not a people-person, and have to constantly work at being diplomatic and fair. I don't always succeed.
What I've learned though is this: some facets of moderating are more-or-less objective, i.e. "this poster is a spammer", or "this poster is a deliberate troll", or "this poster is verbally abusive". Those sorts of 'goes without saying' class of problems are easy to moderate.
On the other hand, subjective matters are infinitely harder to effectively moderate; "Angular 2 is terrible", while a scathing take on the framework, isn't aimed at any named person(s). It's an impersonal criticism of works and ideas. While I can certainly understand how authors might take these things personally, is that fair? In other words, should we not be allowed to criticize things for fear of hurting someone's feelings? I agree that the Angular article is a little on the abrasive side, but would it have been any better if it was sugar-coated? Is it the tone or the content that's really upsetting? If it's the content, then how is one to offer honest criticisms if not by directly addressing the issue?
To circle back to my point about moderating subjective content: I don't think anyone wants an environment where we have to walk on eggshells. We already prohibit ad hominem, and I don't think it's healthy to prohibit criticism of ideas (projects). So with that said, my stance thus far has been to let reddit's up/down votes be the moderator of subjective content. For objective content, at least most of us will come to an agreement on what is/isn't spam (or troll, etc.), but for subjective content, there's very likely to be wide disagreement, and I'm not too keen on being in the middle of such a shitshow.
4
u/logicalLove Dec 05 '16
Thank you for all your hard work though, /r/javascript has been a subreddit that I frequentl often, and I usually find the posts and discussion to be of high quality :)
3
u/jimbolla Dec 05 '16
I think your viewpoint is certainly valid, and I also wouldn't want to make those hard subjective choices, but as a consumer of the content, I'd like more curation. Sometimes the upvotes/downvotes aren't enough to filter out all the 'junkfood' content.
1
0
Dec 05 '16
[deleted]
10
Dec 05 '16
Eh, there is a LOT of clickbait here.
I know being a mod sucks and I'm not putting them down, but you can't call it a wonderful job when they're barely passing the bar?
0
Dec 05 '16
[deleted]
4
Dec 05 '16
Yeah they're doing a great job in fighting spam but it's more about the grey content. Maybe we should try to up the baseline a bit and not allow content that doesn't contribute to discussion?
"Angular 2 is terrible" should've been removed purely based on its title imo, pure clickbait
4
u/kenman Dec 05 '16
IMO "Dear JavaScript" is also clickbait, it doesn't tell us in any way whatsoever what the content is, but we can tell by the wording that it's going to be emotional, and therefore entices us to click.
1
u/anoddhue Dec 05 '16
While I appreciated the article, this is true, in that I thought it would be an open letter to the language itself...
0
Dec 05 '16
[deleted]
14
u/thejameskyle Dec 05 '16
The title could easily be that, but it is not.
This article started with me really angry about this subreddit and was originally titled "Dear /r/javascript".
Instead of immediately posting it in anger I waited a few days, rewrote it like 4 times, cleaned it up, got feedback from a bunch of other OSS people, and made sure it was accomplishing something.
The point of this post wasn't to say no one should criticize anything. It is itself a criticism. But we need to, as a community, do it in a healthier way.
→ More replies (6)2
u/jimbolla Dec 05 '16
That was my original point. I'd prefer to have a community, whether it's this one, or an additional one, where the mods DO make those editorial decisions, because the mods are trusted as leaders.
3
2
9
u/Pyrolistical Dec 05 '16
I appreciate OPs effort to open source but his message is a bit off. He should ask more constructive feedback instead of saying negative feedback is bad.
Articles such as why angular 2 is terrible should exist. There is no such thing as perfect software. Everything has flaws and some of these flaws run deeper than others. If we were to never talk negatively about software we would never improve.
People are shit at giving feedback. They often just state the problem they are having but don't explain why it is even a problem for them.
People are also really bad at accepting change. Take Babel 6 for example. IMO it was a fine change. It was a major API change. Didn't like it because it broke everything? Well give some constructive feedback and ask for a better migration guide.
Because of all that Open source maintainers need thicker skin. I'm sorry but it's true. You need to understand people are shit at giving feedback but appreciate anybody who is giving feedback at all! This means you are making a real impact to these people! Listen to their poor feedback and engage them for more constructive feedback. Show that there is a human behind this project and the reasonable people will treat you like a human next time. I know it's hard to be the adult in the room but the internet has taught people they can be shit to others.
Above all else thank you for your contribution open source maintainers. We need more people like you.
9
u/i_ate_god Dec 05 '16
Before publishing Babel 6 this was a non-controversial change that had lots of input. We communicated what the intent was months in advance and asked for community feedback.
https://s-media-cache-ak0.pinimg.com/736x/b6/7a/48/b67a482d782f39dcdbcd940f124aa3d4.jpg
8
Dec 05 '16 edited Feb 17 '17
DeU&Bf;g]l& +~Rhu$0cO-JszQ~ECC8<5OQ 3MUtG3M~JdJs*0B.3A3$s~i[T<;X+GQ]RyFpORG7sN:O.oGz8;&a]V
5
u/delventhalz Dec 06 '16
You see the same thing with how gamers treat modders. It blows me away that people could be so disrespectful to someone who made something for you for free. Even if a toddler makes you a shitty macaroni drawing you still thank them and wait until they are out of the room to throw it out.
1
Dec 06 '16 edited Feb 17 '17
7GKfkB<(Ac# Av5&y4;4J].z8iE,fEDNF5d7 8N1<i*X>hxbSdQWu0&!.FuS9:5N]F#eeU6TBQVZwx[[U2m]4DkucfA
4
Dec 05 '16
Just wanted to have a constructive discussion on the issue of Babel 6 configuration - its decision to switch to a plugin / preset system (something which I strongly disliked, but I'll refrain from ranting).
I've heard this time and again, that Babel (6) on its own does nothing, and there are presets which do specific things.
WHY?
I might be missing something, but afaik the C / C++ compilers don't do this, neither does csc, neither does javac.
So why does Babel do this, in contrast to other compilers? Are the JVM folks or the .NET folks "wrong" in some sense if this is truly a better way? Why don't the Java / .NET compilers ship with presets / plugins then?
I find it a chore to configure Babel each time in a new project with the .babelrc file since it lacks any sensible defaults.
4
u/jarail Dec 06 '16
I feel this. I ignoring this article for the last six hours until it hit 400 votes. I assumed from the title that it was another negative javascript tool-chain rant. I'm glad I clicked through. The problem isn't the maintainers making mistakes; it's the bloggers looking for a click-bait rant.
6
Dec 05 '16 edited Dec 05 '16
Intellectually, I agree with the author of that article, but realistically, I just don't care anymore. My ability to care has been stripped from me. You want to know why/how? Thanks for asking! Let me explain:
I'm not a computer. I'm a human. My brain is made out of mushy stuff, not silicon and copper. I can only deal with so much change so quickly. Chances are, your Javascript project changes too much because EVERYONE'S Javascript project/framework/widget changes all the damn time. Sure, you just updated YOUR project, but I have to deal with break-neck changes in:
My personal code projects
My work code projects
The SCRUM process I use at work
My company coding standards
Switching to the new Javascript widget-glue-framework-thingy
Switching to the new CSS widget-glue-compiler-thingy
My personal life
The meta game in my favorite MOBA/MMO/Shooter changing
Anything to do with computer security
My favorite character in my favorite TV show being dead
YOUR software project
Evaluating all the new widget-compiler-framework-thingys that come out, literally every week, to try to stay somewhat up to date on current technology
And I'm sure I've missed a few things. Point being: EVERYTHING in the world has started to update at "internet speed" and we haven't evolved yet either physiologically or socially to deal with it. I think the Javascript ecosystem suffers from this a little more than others because it's so popular/cool right now.
I don't think most people want to be a-holes, they're just overwhelmed. I don't feel this is completely unique to Javascript.
3
u/rk06 Dec 06 '16
You know, you can avoid half of the problems, by simply not updating your tool everyday.
New versions are expected to BRING breaking changes and they WILL be time consuming at the very least.
If the new version is breaking your build and you have no idea what to do, then use the old version and wait.
2
u/inf0rmer Dec 06 '16
This would be good advice if we were talking about any ecosystem other than JavaScript's. The fact is, once a new shiny API-breaking version of a project is published, development on prior versions stops almost immediately. If you don't upgrade as soon as possible not only are you opening yourself up to possible security risks but you can most likely forget about ever upgrading, as newer versions will stray farther and farther from yours with no simple upgrade path.
2
u/Hazterisk Dec 05 '16 edited Dec 05 '16
An interesting thing about successful companies is their focus on company culture. Often times this means that the one thing that won't be tolerated, the one thing that will earn you a quick exit, is venting absent of constructive feedback.
"If we focus on solutions, focus on helping others, focus on sharing ideas, we’ll be in a better place."
Professional approach.
2
u/leakypixel Dec 06 '16
I was expecting this to be another JS fatigue article, I was pleasantly surprised.
2
u/ishmal Dec 06 '16
I have contributed to several open source projects, and I can appreciate this fully.
There is always a portion of the user base, small, thankfully, who don't understand open source software. They feel entitled to the product of your labors. If it doesn't work the way they desire, they throw a tantrum like petulant children refusing to eat their vegetables. They think your greatest goal in life is to please them.
One must ignore this crowd, and stick to the reasons you started the project, and clear that image from your mind of breaking their stubby little legs.
Work to please yourself. And if there is any love let over, give it to the good users.
8
u/jpflathead Dec 05 '16
Look I think the Microsoft ecosystem is terrible, and if the the devs there get butt hurt about it, I'll buy them a beer and tell them the Microsoft ecosystem is terrible.
What privileges Angular 2 from not being called terrible if certain people think it is?
And Babel 6 was a huge and shitty move, regardless of the good intentions of its developers.
Want to install Babel 6? Take this six part minicourse on Udacity to figure out which components you need.
Yeah, that was going to go over well.
The javascript community is mean to developers comes from the same folks still insisting Clinton was right to focus on identity politics.
JavaScript fatigue is not good, it's nothing to be proud of, it's not a mark of how powerful and innovative JavaScript is, it says nothing except JavaScript is built out of a rapidly pouring bucket of shit and if you want to have a chance of surviving you need to climb that enema waterfall as fast as you can.
6
u/NoInkling Dec 05 '16
It's not that negative feedback is being communicated, it's about HOW it's being communicated.
-1
u/jpflathead Dec 06 '16
People are a bell curve with more than a few black swans. Same as projects.
Some projects are shit, but sold as champagne.
How one offers feedback should have zero to do with whether some maintainer is paid or not.
JavaScript fatigue is real and brought to us by many paid and unpaid people, and often the unpaid ones still benefit via résumé and consulting etc.
So whatever, ...
2
u/NoInkling Dec 06 '16
Not sure how that justifies being a dickhead to people...
1
u/jpflathead Dec 06 '16
I'm going to have to downvote you because I have taken offense at your harsh criticism of my comment.
As a black aneurotypical lesbian trans little person, I take umbrage at your microaggression against me.
-- does that help explain?
0
u/NoInkling Dec 06 '16
There's a massive jump from standing up as a community to say "we should be more mindful about hateful/toxic/entitled communication", to some PC "offense should be illegal" idealogy. Put it this way: why do we accept such a big discrepancy in acceptable social standards between how we communicate face-to-face in real life, and how we communicate over the internet? There's a reason this discrepancy exists of course (anonymity, often 0 consequence), but by rights it shouldn't.
People are free to say what they want of course, and I'm not even convinced the "Angular 2 is terrible" example was that bad, most people recognize it as hyperbole. But by the same token the rest of us can condemn shitty or entitled behavior in an attempt to reduce it so that people can be more productive without all the negativity hanging over their heads.
1
u/delventhalz Dec 06 '16
Considering that OSS maintainers are driven by passion/purpose and not money, I'd say it matters very very much whether or not they are paid. I'm talking purely selfishly. If you depend on code written by a volunteer, it is in your own self interest to keep that volunteer motivated.
Also, don't be an asshole. Is that really so hard? It's literally not doing something. It is by definition less work.
3
u/jpflathead Dec 06 '16
Considering that OSS maintainers are driven by passion/purpose and not money
That's largely debunked. For many companies OSS is just one more way to differentiate and attract users, their devs and maintainers earn the same as everyone.
And just because some gal at Google or Microsoft gets paid for their work, doesn't mean they aren't driven by passion and purpose.
Also, don't be an asshole. Is that really so hard? It's literally not doing something. It is by definition less work.
Yeah, we need to turn software into a safe space and issue participation awards and never criticize anyone's work as shitty, or bug ridden, or insecure, or hard to configure, or more trouble than its worth, or slow, even as they use their software on their resumes, or sell it to giant ecosystems or parlay it onto conferences.
God forbid, any author ever ever be told their story was boring, or had poor grammar, or was trite, or was filled with plotholes.
I mean once I had a gardener put too much fertilizer on the roses and I was going to complain but it was pointed out to me his feelings would be hurt.
Mom once made a souffle that fell but we knew we'd better eat that rock, because you know mom.
0
u/delventhalz Dec 06 '16
Literally everyone in this thread, from OP on down, has said that the point is: offer criticism constructively, don't be an asshole. Literally no one has said don't criticize. That is an obvious straw man, no doubt fueled by your apparent addiction to being an asshole.
Look, it's very simple. If your goal is to have better OSS, it is in your interest to offer criticism in a way it can be heard and acted on. If your goal is to satisfy your own fetish for making people feel like shit, then by all means keep being an asshole. But let's not confuse one for the other.
0
Dec 06 '16
[deleted]
1
u/delventhalz Dec 06 '16
That doesn't change a thing I said. If you demotivate them and convince them that being a maintainer is actually harming their reputation, they will stop doing the work.
0
Dec 06 '16
[deleted]
1
u/delventhalz Dec 06 '16
Did I say anything about altruism? Why would I care about people's inner motivations? I'm not a mind reader. I just want better software.
0
Dec 06 '16
[deleted]
1
u/delventhalz Dec 06 '16
Are you aware how thoroughly you are talking past everyone who disagrees with you on this issue? Literally no one is saying you shouldn't criticize. What some people are saying, myself and OP included, is that if you want your criticism to be effective, you must offer it constructively and with respect.
→ More replies (0)3
Dec 08 '16
I ❤️ Babel 6. The plugin approach turned out awesome!
1
u/jpflathead Dec 08 '16
It probably IS awesome, but the day they rolled it out the website went from:
[download]
to:
[download a] [download b] [download c] [download d]
[download e] [download f] [download g] [download h]
[download x] [download x] [download x] [download x]
[download x] [download x] [download x] [download x]
[download x] [download x] [download x] [download x]
[download x] [download x] [download x] [download x]
[download x] [download x] [download x] [download x]
[download x] [download x] [download x] [download x]
[download x] [download x] [download x] [download x]
[download x] [download x] [download x] [download x]
[download x] [download x] [download x] [download x]
[download x] [download x] [download x] [download x]
And then the devs said "what? People didn't like that? Well excuse me!"
2
Dec 08 '16 edited Dec 09 '16
I donno. It's just smth like
npm i babel-core babel-preset-es2015.Pretty straight forward; core/cli + preset/plugin & maybe a loader for your bundler of choice.
Seems reasonable since Babel 6 is more than just ES2015 after all.
1
u/jpflathead Dec 09 '16 edited Dec 09 '16
I donno. It's just smth like npm i babel-core babel-preset-es2015. Pretty straight forward; core/cli + preset/plugin & maybe a loader for your bundler of choice. Seems reasonable since Babel 6 is more than just ES2015 after all.
Yes, that's clearly the argument from it's just not that complex for those of us who know what we are doing crowd.
And it gives zero fucks about n00bs suffering from javascript fatigue.
That's what the whole thing is about.
I'll go one step further. I want to write in ES6 and never fucking install either that piece of shit npm or that piece of shit node on my computer.
I realize I need to.
But the simple desire of wanting to write in ES6 shouldn't require that. Ever.
But given that I do, how about a most people use this setting and a full install setting?
Instead even now, it's for each piece of shit you are forced to use, come back here to this website to learn of the new and proper way to install the additional crapola you need to get babel to work with your favorite piece of shit inflicted on you by the other asswipes in the javascript fatigue is a good thing camp.
2
Dec 09 '16 edited Dec 09 '16
But the simple desire of wanting to write in ES6 shouldn't require that. Ever.
Over time ES2015 support will increase and things will get easier. Bleeding edge language features + wide support means smth like transpiling. For now, if you want, stick to ES3 or ES5 then that's doable without it.
1
u/jpflathead Dec 09 '16
Nevertheless, this isn't year zero of programming or year zero of personal computing or year zero of plugins.
Installation of the Babel Transpiler still should not require:
npm
node
or have a zillion other additional little plugins to install every other little thing needed.
Babel 6 probably had the best of intentions when they broke things apart, but concern for noobs, beginners, and intermediate developers was not any of their evident priorities.
2
u/j_win Dec 09 '16
Maybe it's worth conceding that bleeding edge language features and transpiling aren't "noob" appropriate waters to be wading into.
1
u/jpflathead Dec 09 '16
Maybe it's worth conceding that bleeding edge language features and transpiling aren't "noob" appropriate waters to be wading into.
Sorry that's not good enough.
Here's a free 30 day javascript course that starts off by assuming es6, because that's where the language is going:
n00b doesn't mean never saw a do loop before, noob means new to the javascript toxic waste dump.
installing a transpiler should be a one line thing. period.
2
u/j_win Dec 09 '16
javascript toxic waste dump
FWIW - you're going to have a hard time being taken seriously when you use language like that. Especially when you're just bloviating about some 3rd party, open source thing trying to make people's lives easier. If you want it to be better, contribute to the project.
installing a transpiler should be a one line thing
brew install node && npm i babel-core babel-preset-es2015Boom; one line. I'm not sure what that actually proves, though.
→ More replies (0)2
u/acemarke Dec 09 '16
So should installation of, say, Ant, not require installation of the JRE or JDK as well? You gotta have a runtime available in order to run a program written in a language like Javascript, or Java, or Python, or C#, or...
→ More replies (1)3
u/TheMockumentarist Dec 05 '16
Most Microsoft devs are paid to contribute to the Microsoft ecosystem. OSS maintainers aren't paid at all. There's no need to be rude when criticizing something developed for free.
2
4
u/icantthinkofone Dec 05 '16 edited Dec 06 '16
The real problem is he's listening to the wrong thing. You don't see high level programmers sitting on reddit or twitter listening to every word written about them and what they're doing. The real computer scientists are in the back room doing, not checking their email.
The people working on the actual good stuff visit mailing list or closed forums or IRC and other places almost no one here ever goes to. That's why such people are hard to find if you wanted to contact them. They don't want you to unless they already know who you are and respect your work.
If something that's actually bad is wrong with what they're doing, someone from that small collection will let them know. They have better things to do and are far more knowledgeable than the collective throng of screaming meebies found anywhere else.
EDIT: Just this morning, I was reminded of the fact that I know two brilliant people who are such "real computer scientists". One worked at Google on Chrome and the other guy held a research position at IBM, iirc. One interesting quirk about them is that they occasionally would visit reddit and some other amateur forums just to be helpful. Normally, you would never think they would be the type to do that and would only consider it a waste of time.
What makes that all interesting is, redditors would argue with them when they would state facts, show valid research results, and frustrate the hell out of them. Eventually, both were banned on reddit and no longer visit here at all or any amateur forums. That reddit would lose out on such great sources of information is a horrible waste and an example of what a NPR radio program called reddit, "a Frankenstein's monster in a vitriol atmosphere"
3
u/parlezmoose Dec 06 '16
The "real" programmers have plenty of drama in their communities, believe me
2
u/icantthinkofone Dec 06 '16
Yes, they have their arguments mixed in among their intelligent discourse, but there is little intelligent discourse among the so-called "community" we hear about and are reading about now.
4
u/p0tent1al Dec 05 '16
I get where you're coming from but let me create a proper analogy to explain it.
I suck at basketball. I mean I'm better than a grandma, but I couldn't compete anywhere at any level... it's just not my forte. However, I do watch basketball and if someone misses all the shots they take in the game, I can say "that person sucks".
Now how is that relevant here. I think you're taking the criticism a little bit too heavily. No matter how much I go "x basketball player sucks", the comment is relative, and a lot of times it's addressed at the loud fans and proponents of them. YOUR job is to realize that you and your product are on that NBA level few people will ever reach, and to take that within context.
To ME, Angular sucks. Are all of those developers better than me? You bet your ass. Is it fair to compare Angular to borderline other genius frameworks which just happen to do it a bit better? Debateable. The bottom line is, is these frameworks and technology are evaluated "relatively" and often times within the context of work, and so people need to be opinionated about these things. If I'm playing fantasy football, I should be well within my rights to go "well this player sucks I'm not drafting him" but that doesn't actually mean they suck, or that they don't try their hardest, or that their teammates don't appreciate them... it's just within the context I'm operating in, they suck. So I hope you try to understand that: none of these things are direct attacks. And yes it's easy for us to complain because a lot of us just use these technologies, don't stay on issues / twitter and read discussions prior to api changes, so yes it's a surprise to us, and yes it's annoying. Would it be more annoying if the framework didn't exist altogether? Yep.
In life you're always going to get heavy advocates and heavy naysayers. You think Apple gets bent out of shape when they release a phone without a headphone jack and get absolutely mauled on social media and every where else? They know their true fans will come in, they will buy products, the haters will complain but that will die down and even if it doesn't, you're always going to have those people who have positive words about your work to lean on. This is just life in general. Don't let "this sucks / that sucks" get you down... you probably do this yourself to a degree... if you use some lotion and it's bad, it's not like Johnson and Johnson formulators take it personally when you go "ugh I hate this lotion" or "man this is too expensive".
So in short, do what the basketball players do. Note the criticism but don't let it overpower your experience. You have plenty of fans and even the fans sometimes will turn against you. Focus on the compliments... focus on the small companies who build their entire presence around your technology... and if you want to take it a step further, start meditating.
0
u/delventhalz Dec 06 '16
Saying a basketball player sucks in the privacy of your home is not a good analogy. Maybe if you were writing articles in the paper about how LeBron is awful and should switch to knitting, it might be comparable (although ballers get paid, a lot)
No one is saying you shouldn't criticize OSS. And no one is saying you shouldn't privately express your frustration in whatever way suits you best. All OP is saying is that if you are going to criticize a project publicly, you should be respectful and constructive.
0
u/p0tent1al Dec 06 '16 edited Dec 06 '16
Your comment is basically "ok but <insert reiterated point>". I don't agree and I don't think you effectively rebutted anything I said.
You think basketball players don't look at twitter? You're creating some paper thin point where you're going "oh well it's criticism but it's not visible". That's not only a bullshit refutation but it's not even true. Moreover, whether he gets paid A LOT... does that even make the analogy null and void? "Oh because he gets paid a lot, it doesn't matter". That doesn't refute any one of my points... you act as if it's EASY to play basketball (with the amount of money they make, if people could do it they PROBABLY would), or that basketball players don't get AS frustrated no matter the amount of money they're making when the fans lash out... how about you go ask Ron Artest whether the money was "sufficient enough" for him to not lash out at the fans... and I'm going to prerebut your upcoming "well that was different"... as I say often, apples and oranges but they're both fruit. Your job is to see what the analogy is based on, not the "differences" because if that were the case, using analogies would be pointless.
There will always be "this sucks, that sucks". There will also be "this is awesome, I love you". You take the good with the bad. Stop FOCUSING solely on the negative criticism. You can sit there and complain but you don't get a safe space in life. This WILL continue to happen. You can either choose to be a victim, or go "hmmm MAYBE I should just view this as impassioned people... maybe they DON'T want to hurt me... maybe people are passionate about COLORS... do I really give fucks about this?".
For 2 straight weeks, people bashed Apple when iPhone 7 dropped. I was one of the people that was like "this shit sucks, no headphone jack". Guess what? I own the iPhone 7 now. Love it. Maybe I was overreacting... that's what people DO. You can't police the world. It's much better to change your personal interpretation of reality rather than try to get everything to change. Like I said before, it's clear that a lot of you need some sort of meditation practice because you are WAY too affected by the outside world. You're essentially asking for a safe space. Get over it, it's really that simple.
Edit: and no, OSS developer doesn't give you some special "get out of criticism free" card. So what... the corollary for being OSS is for people to treat you special? Again, you can keep dishing out that "well everyone deserves to be treated with respect" platitude but your definition of respect is a personal one. Respect is earned, and I'm totally fine with someone hating on something I did... that's true respect, not pulling punches and acting as you normally do when you don't like something. I can deal with the adulation so I should be able to handle negative comments. Good with the bad.
1
u/delventhalz Dec 06 '16
However, I do watch basketball and if someone misses all the shots they take in the game, I can say "that person sucks".
If you meant that you are saying that person sucks on Twitter, that isn't what you said, and it is not how I read your comment.
But either way, you continue to miss the key point: OSS maintainers are volunteers. That doesn't mean they get a pass, and that doesn't mean we treat them with deference out of some moral righteousness. It means they are motivated by passion/purpose/reputation not money. In other words, your interactions with maintainers directly affects how they are "paid". It is in your interest, as a consumer of OSS, to keep its maintainers motivated. That's it.
If the precept, "When critiquing a volunteer who served you, don't be an asshole", is too difficult for you. Maybe just don't say anything at all.
0
u/p0tent1al Dec 06 '16 edited Dec 06 '16
OSS maintainers are volunteers.
I don't give a shit. I explained this to you many times before. This is not how people operate.. it's not like you are going to change people's behaviors. You're having this silly little argument with me but I'm explaining how PEOPLE operate, but yet you sit here trying to tell me to change MY actions, missing the entire point I laid out very carefully. What a waste of time.
In other words, your interactions with maintainers directly affects how they are "paid".
No. Maintainers have always had to deal with "people". You think Linus never got agitated with people? You think he sent out some "treat me better plz" message? You "do not" speak for all OSS maintainers (I LOVE when people try to attempt to speak incorrectly for a group of people). This hasn't been the reality for OSS maintainers pretty much forever, however there is still tons of benefit in OSS, and they themselves still proselytize how awesome it is. Let me ask you this: there are clearly OSS developers who love doing what they do (I'm sure I could find articles or opinions of this in very short amount of time). Do you think they never dealt with negative criticism like this? This entire time you've built this paper thing argument which goes:
OSS developers don't get paid, therefore they have to be treated nice as their only payment is if everyone treats them nice. If they are not treated nice, they will leave.
And again and again I've laid out my points very carefully to say that this is an argument that could be applied to life and it would be incorrect there and it is incorrect here. Ignoring that, there are many OSS maintainers that have continued on for YEARS having received the same type of negative feedback. Whether you like it or not, people will continue to contribute to OSS REGARDLESS of the small vocal minority of negative comments. So you can continue to dance around the point, make platitudes but OSS will continue on regardless of your opinion of people's attitudes and opinions, which is off base to begin with.
Regardless of the badass students teachers run into, the joy of teaching for the sake of teaching will ALWAYS be present. The great teachers don't let criticism, bad students, or bad apples override the pleasure they get from the adulation, from the thanks, from the joy of helping people, and is an obstacle that is generally UNDERSTOOD before the journey starts. Your point is 100% invalid and not based in reality in any way whatsoever. Have a great day.
Edit: I used to teach for practically pennies, hence the context I'm giving you. I enjoyed it greatly. There were bad apples, there were hard heads, there were negative people there. However if you "volunteer" or give help for free, you understand that it's not all roses... this is something that every "volunteer" understands... you're going to be encountered with nastiness and sometimes the person even HAS a reason to be nasty... part of contributing to greater good is acknowledging this type of behavior but not focusing in on it... otherwise you become consumed by it. So again... you are not correct. There are volunteers that cannot take those negative aspects... those volunteers either do not last long, or they become bitter.
0
u/delventhalz Dec 06 '16
I take issue with the claim that you have laid out your points carefully. Your posts are like rhetorical shotgun blasts. Scattered and loud.
Your intended target this time seems to be that assholes won't stop all OSS developers, so there is no point in encouraging people to be more constructive. This is analogous to saying that seatbelts don't prevent all traffic fatalities, so there is no point in encouraging people to wear them.
If assholes cost us some OSS developers (they do), and we can encourage some of our community to be more constructive with their criticism (we can), then it is worth doing.
0
u/p0tent1al Dec 06 '16 edited Dec 06 '16
I take issue with the claim that you have laid out your points carefully. Your posts are like rhetorical shotgun blasts. Scattered and loud.
Another attempt to discredit my points so you don't have to respond. The points are actually concise and I could lay them out but because you keep stepping around them, they need to be explained and reiterated to shake you out of your stupor you seem to be in.
If assholes cost us some OSS developers (they do), and we can encourage some of our community to be more constructive with their criticism (we can), then it is worth doing.
Or people can be more mature and take the good with the bad. I know you don't like responding to points but re-read my paragraph about the teacher (or my last paragraph).
This is analogous to saying that seatbelts don't prevent all traffic fatalities, so there is no point in encouraging people to wear them.
Well no. Enough people like you encourage them already. Me? I think it's important to get to the root issue. Car crashes can't be avoided, but how you choose to interpret negativity CAN be, and is the much more efficient way to go about things rather than trying to control faceless strangers who you have no control over, or being affected by possible negativity emanating from them. The point is, people like you think the trick to life is controlling other people's actions. There will always be bad apples. Sure, tell people to wear the seatbelt if you want, but why do that if the impact of the car crash can be nullified?
Also we're not talking about people spouting racist comments or swearing or severe denigrating... we're talking about saying a frameworks sucks, or not being happy about the way a developer went about a change. You're purposely over representing this "negativity" but all people are essentially doing, is saying "I don't like you" or "I don't like what you did". On the scale of "negativity", this doesn't register at the upper spectrum. Not every comment has to be constructive criticism... people are allowed to dislike your company, your framework, and the way you go about things. If they are incorrect, if they are off base, then respond or ignore. For the health of the community, we need to be able to tell people their work isn't good without kid gloves. They'll be completely wrong sometimes... that's ok. There's no need or place for the oversensitivity. PLENTY of people appreciate the authors work. Some people don't like the change you did and think it's ridiculous. They are entitled to that opinion as you are entitled to yours, and they are not required to put it in a super kid gloves diplomatic way.
Take a deep breath.... everything is Ok! You are fine, plenty of people like your stuff :) Act like an adult and realize that people are opinionated and are supposed to be opinionated. Sometimes they'll be toxic... this is why SMART people who put out youtube videos don't go into the comment section and hyper focus on all of the comments. Everything is ok. Breathe.
→ More replies (4)
3
u/sMarvOnReddit Dec 05 '16
its the same in every area, celebrities also reach tons of people and face a lot of criticism. You people just have to live with it or remove yourself if you cant handle it.
2
Dec 05 '16
This was a good read but I think Angular 2 was a bad example, it's developers may be good people but the framework really deserves most of the criticism it gets.
But yeah, "LIBRARY X SUCKS" probably isn't a nice name for an article.
1
u/totemcatcher Dec 05 '16 edited Dec 06 '16
I feel like javascript is a relatively accessible foot-in to the programming world, which brings nice people to the field -- and then they get burned by deplorable people.
Most programmers I've worked with are highly opinionated, credit-whoring, sociopathic emomaniacs who will berate others when there is little consequence -- as has been the case for a long time in the industry. Rudeness will rarely get you fired.
I got out of the game because of how much time was wasted just being a dick to people. I, for one, actually enjoy solving problems, not bitching about them.
2
Dec 05 '16 edited Feb 17 '17
r9C9.SqHL$7 X[T<KR8lfxTAbHaL#P.Q2kwh uiddzi:XJ#;-aBe9kkC0rT.)-M%30OkzH~,c3guQ7vd3#]N;cAfiC
1
u/kyleshevlin Dec 06 '16
That really depends on what I am hiring for. If it was a junior dev I get to mold and train, jQuery might be more than enough, given he or she can show me an aptitude for learning quickly. I barely even knew jQuery and had just started to learn Sass when I got my first job over 3 years ago. Now, I'm shipping a universally rendered React/Redux app this month, and it's all because a team took a chance on me being able to learn quickly. I know I would be apt to find the same qualities in another person if I were hiring.
0
u/fooey Dec 05 '16
I'm still amazed at what happened with Babel. It swung from being the most amazing thing to come out of the JS community, to symbolizing what people hate about JS, practically overnight.
Babel is a great example of why people need to think long and hard about the default settings they ship with.
I understand why the change was made, but it still annoys me every single time I have to setup a new project.
6
u/trakam Dec 05 '16
As someone relatively new to js and the community can you give me brief account of what babel was and what happened to it so that I can understand OPs article better?
21
u/Geldan Dec 05 '16 edited Dec 05 '16
Babel started as 6to5, which converted modern javascript to stuff that old browsers could understand.
It changed to Babel when the maintainers realized they were providing a great piece of software that would be useful long after browsers support es6.
Before version 6 Babel pretty much automatically just transpiled es6 to es5. After version 6, you have to specify what you want to transpiled. This often means just adding a reference to a preset in one of a number of ways: https://babeljs.io/docs/plugins/preset-latest/
It's still extremely useful, and the changes were necessary to keep the project ahead of the curve where it naturally lives due to its nature. For some reason, however, a large number of people got salty about having to add a line of configuration even though it is a useful and necessary feature.
Edit: the name of 6to5
7
u/fooey Dec 05 '16 edited Dec 05 '16
Like the article says, they changed it from being a drop in, that worked for most people without having to configure anything, to an approach where it does nothing by default.
Babel is still a foundational piece of modern WebDev, but the Babel 6 release changed its public image from being an amazing tool, to being just another thing in a stack of things you have to learn and configure before you can even start writing JS.
Babel 5 was
npm install babelBabel 6 needed a guide and documentation:
https://babeljs.io/blog/2015/10/31/setting-up-babel-6
https://babeljs.io/blog/2015/10/29/6.0.04
u/acemarke Dec 05 '16
Babel is primarily a Javascript-to-Javascript compiler. It was originally known as "6to5", and is mostly used for compiling newer ES6 syntax to older ES5 syntax for compatibility with browsers that don't yet support all of ES6.
Originally, Babel implemented all the syntax parsing and transformation logic internally, so there was a single "babel" package that gave you all the capabilities built-in. That also included support for some not-yet-final pieces of syntax, like decorators. However, the Babel authors decided to switch to a plugin-based architecture, with each individual bit of syntax as a separate plugin. That was good for modularity, but many people were upset that they now had to install and manage lots of different plugins to get the same capabilities they used to get "out of the box". Also, since Babel is usually used with a bundling tool like Webpack, there's frustration at the overall amount of configuration that's often needed to get a brand new project set up.
Babel is a fantastic and vital tool, and ultimately the switch to a plugin architecture is a good thing, but it did cause a lot of churn and frustration for people. Tools like Create-React-App have helped simplify the setup process, and I think the upcoming babel-preset-env plugin will also help a lot of people.
0
Dec 05 '16
[deleted]
6
u/gaearon Dec 05 '16
Is there a law that for every article about comments there’ll be a comment demonstrating the article’s point?
0
1
u/x-paste Dec 05 '16
The author says that this is a community problem. But most loud complaining users don't see themself being part of the community. They just use every little straw they find to survive in the mess of web development. Babel is an excellent tool I believe, but most users just want it to work and not being another thing they have to work around. This is the cold hard world out there, where people are getting paid for doing boring CRUD applications with this. Others make money from teaching this stuff, if stuff breaks, they have to relearn and have to sell another new lecture. And why would a company buy another lecture for their devs for stuff they already have been taught? This is a huge market with big players like Facebook, Twitter and Google. Lots of money in it, which results in pressure to the devs to deliver something that works on IE10, Chrome, Firefox, Safari up to the newest Opera on some obscure mobile platform.
1
u/dotpan Dec 06 '16
Fantastic piece! I think a huge thing with web-devs or really any industry that has a community sourced/designed/maintained resource is simply this: Community is key. We are both lucky and jaded in the fact that we rely so heavily on our community. Constructive, non-reactionary criticism is so important, yet instead we see a rise of toxic, click-bait articles going out more and more.
If we're not able to have a level forum to exchange even conflicting ideas, how are we expected to continue to make progress? How are we expected to not turn every major contribution into acting like a tight lipped, no community interacting entity?
We need to cultivate out the bullshit "I'm right you're wrong" mentality. I'm not saying we stop being critical, instead I am advocating we become more constructive, if calling someone's mistakes out does nothing but insight a flame war, we've gone no where but down.
EDIT: This line is probably one of the best pieces of wisdom in the whole piece and lends itself to wisdom that can be applied much further than just frameworks in web-dev.
I think there is value in learning about technical decisions that other have made and experiencing them first-hand.
1
1
u/jice Dec 06 '16
we all wish we'd live in a perfect world without anger, but that will never happen. I left an open source project for the same reasons as OP so I perfectly understand his feeling. Yet I have to disagree. I think those angry posts shouldn't be buried because they provide very valuable information. But to be able to use that information, you have to ignore the form, the insults and the anger and focus on the content. To me, "angular 2 is terrible" post provide very valuable information about the issues some new users have with this framework, and how it could be improved. Of course, it would be much better if the same information was provided in a positive, constructive way, but that's how the world is. Whatever the form, the information is here.
0
u/Buckwheat469 Dec 05 '16
I'm upvoting this because he sounds angry and it has a clickbaity title.
Joking aside, I agree with what this author says. I'm a small open source contributor with a few of my own projects. Nothing huge, but I could imagine the frustration involved in pouring your life into a project just to get it shit on by armchair programmers. They often don't understand the complications involved in your decisions. While we should all be aware that these developers are making these comments because they've probably wasted their life trying to use a project which wasn't designed to solve their problem, like a square peg in a round hole.
I myself have become frustrated by many things, particularly how coffeescript and ruby are so lackadaisical in their syntax compared to JavaScript even, but I don't go and write articles about it. That's my personal preference, not something I want to force upon the world. I've considered writing one but I can't hate it enough to divulge my frustration on others. It would be a waste of my time when it would just be easier to avoid it in my own projects.
Regarding the way we have to compile JavaScript now, this is a natural evolution of professional development. First we start with simple kids websites, then we learn and want it to do more so we add things, like angular 2. Then we realize that angular and react are application frameworks, so we have to add things like Babel. This is how it works, the more complex you get, the more preparation you need in terms of utilities. These utilities are still new, so they don't always work well together, but that's just growing pains. Nobody complains about the c++ build process, or Java, or C#. These are application languages and they have compilation steps. JavaScript is nearly the same nowadays.
-15
u/magenta_placenta Dec 05 '16
I'm just commenting because there's a screenshot of my reddit post.
The article and the threads it started were so disappointing to read.
There wasn’t a single productive thing about it. No positive outcomes to be had. It was a group of people ganging up together so they can yell about how frustrated they are for a little while before moving onto the next thing.
Welcome to reddit.
14
u/thejameskyle Dec 05 '16
The fact that subreddits like /r/buildapc exist says you're wrong about the inherent nature of Reddit.
7
Dec 05 '16
I think you're both wrong. Reddit isn't some cohesive group. It's a bunch of anonymous people. You could cherry pick subreddits to support any conclusion on what type of people reddit is composed of.
6
2
Dec 05 '16 edited Feb 17 '17
[q]]Hs1kq2> 0nr<bO3Pt<S%.3[uUBvnzI$n <)O~Pcu7yh;)):bmT1x9,a6Xh+KLh*tZXDT2#AI!m2+e,1[~-.:S.S
-3
-5
Dec 05 '16
Just a warning to anyone who is about to watch this documentary. It is seriously depressing, so make sure that you can handle the dark place that it will take you to before watching.
Oh nevermind, it says "JavaScript".
83
u/pheeney Dec 05 '16 edited Nov 22 '17
Crossposting my comment for visibility:
I have been on the receiving end of Kyle's outrage and I too feel the need to speak out that he has acted in direct opposition to what he is now promoting. I was a new contributor to lerna, no previous interactions with Kyle or babel, and have experienced some of the following:
My first PR was continuously rejected because he "did not understand my use case". I elaborated several times in great detail. Other project maintainers eventually chimed in that it was a good idea and should be accepted. Kyle continued to keep the issue closed and ignored all contact, including from other maintainers he works with, even to this day (the PR discussion mentioned something that set him off).
My second interaction with Kyle was one of the most highly requested features for lerna (nested directory support). I championed the issue and over the course of a year I attempted to get direction on which path would be accepted to submit a PR. It was ignored, so after a year, I mentioned I wrote some custom scripts and used another project to fill in the gaps. This seemed to immediately set off Kyle and he immediately locked the issue.
I opened a new issue since the original idea was accepted by Kyle and figured we could start fresh with a new discussion to avoid what led to him closing it in the first place. It was immediately Locked as well.
I reached out to Kyle on twitter to understand why everything I posted is immediately locked. No response.
I reached out on Discord to other staff members. Was also ignored. Eventually Kyle communicated with me on Discord with a very illuminating conversion. He didn't like the amount of github notifications he received so instead of unsubscribing he decided to lock all my threads. He provided several other personal reasons but essentially resorted to bullying tactics and said I should find another community.
I opened a Code of Conduct investigation because he was actively suppressing all my communication. He abused his power on more than one occasion and the public conversations we had were very aggressive on his part. He was found to be at fault during the investigation by Sebastian. Sebastian said his attempts to talk to Kyle were dismissed. No other maintainers responded to the incident that were listed on the code of conduct. They said nothing can be done about it, so essentially suck it up, even though they mentioned the steps that will be taken in the Code of Conduct. It was a complete joke and they should not have this document live. The only outcome from this was Kyle re-opened the original github issue he suppressed.
Other babel community members reached out and said they saw the chat and said sorry, it sucks, and they wish there was something they could do. It's nice to know there are people out there who recognize this toxic behavior from project maintainers.
The whole experience was very upsetting. I will never contribute or participate with anything involving Kyle. No other maintainers and staff that work with Kyle, held Kyle accountable. At no point has Kyle held himself accountable. I was no one to Kyle, and a potentially new contributor. If I had this experience, I wonder how many others did as well. I am sure his message sounds good but if he doesn't practice what he preaches, then what is all of this for? I hope he has changed.
EDIT: 1 week after thejameskyle apologized for his behavior, he blocked me on twitter. Turns out it was a fake public apology because people were watching.