Why is every Go community I visit so harsh ?

agolangf · · 807 次点击    
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
<p>I am a self taught programmer. I have been studying programming for several years and as such I rely on places like this and stackoverflow to ask questions I haven&#39;t been able to find answers to on my own. I started studying Go a couple of months ago. Since then I have been met more often with contempt and or down votes on every platform I have used ( sometimes justified at least once looking back I agreed after the fact with why one person down voted me) than I have encountered while learning C, JavaScript, HTML5, CSS, and PHP combined. Most recently with this post <a href="https://stackoverflow.com/q/46284285/4122368">stackoverflow</a>. It has gotten to the point where I am thinking about dropping Go and learning a different language. Because its more exhausting worrying about the response Ill get when asking a question then all the energy I spend researching the questions on my own. Right now I don&#39;t care and fully expect to be down voted or maybe even have my post removed because I am frustrated and kind of ticked.</p> <hr/>**评论:**<br/><br/>emdeka87: <pre><p>Well, StackOverflow is harsh. Don&#39;t be discouraged by downvotes. Nobody dislikes a honest, well-structured question. Just make sure to research a little bit before asking something.</p></pre>v0idl0gic: <pre><blockquote> <p>Don&#39;t be discouraged by downvotes. Nobody dislikes a honest, well-structured question. Just make sure to research a little bit before asking something.</p> </blockquote> <p>This. Learning how to ask good questions is a great life skill: <a href="http://www.catb.org/esr/faqs/smart-questions.html">http://www.catb.org/esr/faqs/smart-questions.html</a></p></pre>SamJTWIV: <pre><p>I always do my own research before asking a question. Most of the time I think my questions are complete and well structured but I admit sometimes its not as good as it could be usually because I am felling rushed, frustrated, or distracted by something. But when someone points that out to me I am always willing to go back and fix them and I do make an honest effort to do it right the first time. You said </p> <blockquote> <p>Nobody dislikes a honest, well-structured question.</p> </blockquote> <p>in the past I would have agreed with you but since starting to learn Go it doesn&#39;t fell true anymore. Now that I have calmed down I am somewhat embarrassed to have been on here complaining but I am just so tired and frustrated with everything right now. Not sure what I am going to do. And now I think I am rambling so I am going to stop now.</p></pre>natefinch: <pre><p>No worries, man. We all get frustrated. It&#39;s a hazard of the job.</p></pre>jeffrallen: <pre><p>Is the wind blowing where you live? Go fly a kite, it always works for me.</p></pre>sacrehubert: <pre><blockquote> <p>Now that I have calmed down I am somewhat embarrassed to have been on here complaining but I am just so tired and frustrated with everything right now</p> </blockquote> <p>This is a sure sign that you need a break.</p> <p>Take a walk. Get away from the screen for a bit.</p> <p>Happens to the best of us :)</p></pre>ohboyohboy1234: <pre><p>I looked at your last go question here on reddit. It wasn&#39;t a good question. A good question asks something specific and shows what you have done. You mention os.OpenFile then complain that os.Create and os.Open don&#39;t work but never explain the errors you are getting or showing any of the code.</p> <p>You need to ask clear questions and provide the code if you want good answers.</p> <p>Also, when you show the code, you need to make sure it&#39;s readable. People will either ignore your question or down vote if you just paste the code in and it isn&#39;t readable because you didn&#39;t format it properly.</p> <p>I think if you ask questions that show the code that has the problem, explain the problem you are having and ask a specific question, you&#39;ll get much better results.</p></pre>natefinch: <pre><p>I actually thought his os.Open question was perfectly clear. If you haven&#39;t used linux much, 0666 doesn&#39;t mean anything to you, and there&#39;s no explanation of it. This is actually a problem with much of the OS package, it&#39;s written from the standpoint of &#34;if you already know linux/C then you know this package&#34; which doesn&#39;t mean it&#39;s actually a <em>good</em> API. </p></pre>ohboyohboy1234: <pre><p>I just re-read the question and the person edited it after the fact. The original question was very unclear. This one is less unclear.</p></pre>natefinch: <pre><p>Ahh, my apologies, then. I didn&#39;t realize it had been edited.</p></pre>skankyyoda: <pre><p>And my apologies for prematurely judging both of you as jerks through the process of reading that then being wrong on both counts </p></pre>natefinch: <pre><p>As others have said, stack overflow is harsh even to veterans. I just don&#39;t go there anymore because I hate how they handle basically everything.</p> <p>I&#39;m sorry you feel like the Go community is harsh in general. Reddit can be hard, as there are a lot of trolls on reddit, and even one or two people who are grumpy can make you feel like crap. But that&#39;s not go-specific. It&#39;s everywhere online, which sucks but is not something we can change.</p> <p>Now, keep in mind that downvotes on reddit don&#39;t mean your post is bad. It means it may be less interesting to the general public reading your post.</p> <p>That being said, there are grumpy gus people in every community that think that newbies asking questions is bad. There&#39;s not really anything we as mods can do about people downvoting whatever they want. If anyone is verbally abusive or just plain rude, that should be reported, and the mods are trying to keep that kind of response out of here. We can&#39;t be everywhere at all times, so using the report button is very important so we can catch things quickly.</p> <p>The gopher slack and gobridge forums as stated elsewhere here are both more friendly, I think because they have a higher barrier of entry than being public on Reddit, so there&#39;s a lot fewer trolls and just plain old grumpy people on there.</p></pre>mrfrobozz: <pre><p>There&#39;s a Gopher Discord server too that I&#39;ve found to be a delight to participate in.</p></pre>weberc2: <pre><p>I&#39;ve found <a href="/r/rust" rel="nofollow">r/rust</a> to be of particularly good quality. I don&#39;t know how <a href="/r/Golang" rel="nofollow">r/Golang</a> stacks up against other subs (certainly no worse than <a href="/r/programming" rel="nofollow">r/programming</a>), but when I ask questions here, I usually have to sift through a bunch of arrogance from people who know very little about the question before someone intelligent comes in, and it&#39;s pretty dicey as to whether that person will be terse or friendly (fortunately the blatantly-rude/knowledgeable personality is rare here). I&#39;ve eventually learned to just time out the rudeness and ask anyway, but the level of foolishness here is way too high for a community of alleged professionals.</p></pre>skidooer: <pre><blockquote> <p>the level of foolishness here is way too high for a community of alleged professionals.</p> </blockquote> <p>I agree about the foolishness, but where did you get the idea that this is a community of professionals? The &#39;official&#39; Go community denounced Reddit a long time ago. You&#39;ve probably noticed the core team no longer contribute and have been removed from the list of moderators.</p> <p>Instead, you&#39;ll find a small group of people who still happen to like to use both Go and Reddit (who may or may not consider themselves professionals), and a whole lot of people who like to attack users of Go for reasons I don&#39;t quite comprehend, but see every time a tool sees a rapid rise in popularity.</p></pre>weberc2: <pre><p>Informally, the overwhelming majority of users are professional software developers. I agree the core team left, but that&#39;s irrelevant to whether or not the community is composed of professionals. It seems like you&#39;re trying to pick some strange and incorrect nit by distinguishing between a community of people who may or may not be professionals and a community of professionals--if the community is 90% professionals (and I believe it is), then by any reasonable definition, it is a community of professionals (whether or not those professionals behave as such is a different matter!).</p></pre>dlsniper: <pre><blockquote> <p>There&#39;s not really anything we as mods can do about people downvoting whatever they want.</p> </blockquote> <p>This probably doesn&#39;t help that much but I&#39;ve seen in other subreddits that the vote count is hidden. I don&#39;t know how this works, and from my limited research it seems that it&#39;s hidden only for 24h hour, but even that would be a start, maybe?</p></pre>drvd: <pre><p>Rating questions (and answers) is about: Is this question relevant for other users? Just because a question might be important for you does not mean that the question is that much useful for your fellow programmers.</p> <p>If you just want answers to whatever comes up your mind: Don&#39;t go to SO. golang-nuts might be a much better place.</p></pre>tact1cal: <pre><p>I was expecting to see the number like &#34;-1200&#34; on that SO post, but c&#39;mon, &#34;-2&#34;? What do you care of - your carma on SO or your knowledge?</p> <p>Hint: ask something like this for Java or C# :)</p></pre>smccarthy3: <pre><p>Have you tried gophers.slack.com ? It&#39;s always been very friendly for a newbie to Go like myself.</p></pre>comrade_donkey: <pre><p>Please take the following as neutrally as I intend to write it: The question is ill-posed. From my perspective, it&#39;s unclear what your question is. Are you dealing with infinities or NaNs? In what context do you need to handle them, to what goal? Is there a reason why NaNs and infinities might have a connection in this case?</p> <p><a href="https://stackoverflow.com/help/how-to-ask">Here&#39;s how to ask a good question</a>. Feel free to write longer texts and include code samples. Preferrably on the Go playground (play.golang.org).</p></pre>SamJTWIV: <pre><p>Ok I will lay things out more fully. I was doing exercise 3.1 from &#34;The Go Programming Language&#34; which references this <a href="https://github.com/adonovan/gopl.io/blob/master/ch3/surface/main.go" rel="nofollow">program</a>. The exercise it asks</p> <blockquote> <p>If the function f returns a non-finite float64 value, the SVG file will contain invalid &lt;polygon&gt; elements (although many SVG renderers handle this gracefully). Modify the program to skip invalid polygons.</p> </blockquote> <p>I was planing to solve it by adding the following to the corner func</p> <pre><code>if math.IsInf(z, 0) { return math.NaN(), math.NaN() } </code></pre> <p>and changing the contents of the second for loop in main to</p> <pre><code> ax, ay := corner(i+1, j) if math.IsNaN(ax) { continue } bx, by := corner(i, j) if math.IsNaN(bx) { continue } cx, cy := corner(i, j+1) if math.IsNaN(cx) { continue } dx, dy := corner(i+1, j+1) if math.IsNaN(dx) { continue } fmt.Printf(&#34;&lt;polygon points=&#39;%g,%g %g,%g %g,%g %g,%g&#39;/&gt;\n&#34;, ax, ay, bx, by, cx, cy, dx, dy) </code></pre> <p>I wanted to check my work so I decided to look up any answers other ppl had posted online to this problem. No one else that I found had used math.IsInf() in there solutions but most had used math.IsNaN(). This made me wonder if I was missing some something and if math.IsNaN() was better for this purpose for some reason. So I looked through the Go Docs for both functions. I looked up NaN on wikipedia and the IEEE 754. I did general web searches for why everyone else was using math.IsNaN() even though it seemed less intuitive to me. Then I did searches on here and on stackoverflow for answers after all of that I didn&#39;t really have an answer so I decided to post a question. For which I have lost almost all my reputation on stackoverflow. Which is really frustrating.</p></pre>jerf: <pre><p>I don&#39;t know the answer 100%, since it depends a bit on how the parsing works, but it seems like someone here ought to at least take a stab, so: I would suggest it is definitely a possibility that either the other solutions you may have found, or the person who wrote the question, may have some misunderstanding of how IEEE floats work. <a href="https://play.golang.org/p/hz4GjV_Jo2">NaNs aren&#39;t infinities and vice versa</a>, and the way the question is written in your quote does suggest that you&#39;re going to get <em>infinities</em> and not <em>NaNs</em>.</p> <p>Like I said, it depends on the parser, but parser that works the way I would expect may generate a NaN for input that is totally non-numeric, and may generate Inf for input that is completely out of range, so both possibilities are something you <em>may</em> have to contend with, depending on the parser&#39;s output domain, and it would be plausible to me that either the problem or the other people would use test data that results in NaNs rather than Infs. You&#39;d probably want to synthesize a <code>IsNum</code> that is !IsNan &amp;&amp; !IsInf that you could use as a filter.</p></pre>SamJTWIV: <pre><p>Thanks the IsNum idea is a good one.</p></pre>icholy: <pre><p>If you&#39;re testing for NaN then use math.IsNaN, if you&#39;re testing for Inf then use math.IsInf. There is no overlap.</p></pre>SamJTWIV: <pre><p>Several things I have found seem to say that inf is a form of NaN or that it is sometimes.</p></pre>Sythe2o0: <pre><p>This is almost certainly not true. See this for a spec for NaN: <a href="https://en.wikipedia.org/wiki/IEEE_754-1985#NaN" rel="nofollow">https://en.wikipedia.org/wiki/IEEE_754-1985#NaN</a></p> <p>That spec is old, but the updated spec has the same rules in less-explicitly clear terms: (4th paragraph) <a href="https://en.wikipedia.org/wiki/IEEE_754#Interchange_formats" rel="nofollow">https://en.wikipedia.org/wiki/IEEE_754#Interchange_formats</a></p></pre>SamJTWIV: <pre><p>There is the possibility that I misunderstood or misread the sources that I looked at but if so it would seem to be a common misunderstanding given that all but one answer I have found that ppl have posted to the question have used math.IsNaN() to find both the non finite floats.</p></pre>Sythe2o0: <pre><p>They probably checked the outputs the problem gave them and recognized they only needed IsNaN. There should be zero confusion between a floating point infinite and a floating point NaN.</p></pre>arp242: <pre><p>You should have added the problem you&#39;re trying to solve as well as the code you have to your Stack Overflow question.</p></pre>natefinch: <pre><p>I think you replied to the wrong post?</p></pre>comrade_donkey: <pre><p>yeah, you&#39;re right but... whatevs :p they&#39;ll probably see it here too.</p></pre>natefinch: <pre><p>no, I was wrong. You were looking at his stack overflow post... I totally missed the link when I was reading the post.</p></pre>skidooer: <pre><p>To be honest, I&#39;m not sure I understand the issue here?</p> <p>The response on the linked SO post seems cordial, even taking the time to verify that you understand floating point numbers themselves (technically unrelated to Go), and clear about the purpose of the functions in Go once you indicated that you understood the relevant theory.</p></pre>SamJTWIV: <pre><p>Its not about the 2 comments on that post. Its about the 4 immediate down votes it got when I have never gotten a single down vote on stackoverflow before. But more than that its about a constant trend of down votes and responses in go communities across several platforms that have left me feeling stressed and frustrated. Which feels even worse compared to the actively inviting and helpful communities I have encountered in every other programming language and community I have participated in. The linked stackoverflow post was just the straw that broke the camels back.</p></pre>natefinch: <pre><p>Dude, I get downvoted on Stack Overflow all the damn time. Worse than that, I get my questions closed as off topic when they&#39;re clearly not. It&#39;s why I just don&#39;t go there anymore. Don&#39;t assume the people on stack overflow are representative of any particular group other than stack overflow itself.</p></pre>skidooer: <pre><p>May I ask what it is about fake internet points that leads to stress and frustration?</p> <p>You will never infer the intent of a downvote. Everyone has a different reason why they downvote and many simply do it accidentally. It is well and truly meaningless information. </p> <p>If anything, I would take the number to mean that four times as many people have seen your post compared to previous ones, which is an indication that your posts are becoming more interesting. Which is a good sign that your abilities as a programmer are improving, being able to move beyond the mundane. This is something to be proud of not something to fear!</p> <p>Now, I would have a greater understanding if someone attacked you verbally, where the intent is made known, but that does not seem to be the case here at all. The response you received seems quite helpful and as friendly as you would expect from a response to a technical question.</p></pre>SamJTWIV: <pre><p>First let me point out that as I said above it is not just about the down votes or that single post. It is also about responses I have received in the past on other posts in multiple places. Secondly I have been part of both large and small communities in the past and have never experienced anything like this. Finally as to &#34;fake internet points&#34; they can have some value in places like stackoverflow where they can effect your ability to fully utilize the site and its features. Besides the fact that the points are used at least to some extent to voice an opinion. Now if this was just one or 2 posts or 1 forum or over just a week or maybe a month you might have a point but it over months, multiple posts, on multiple platforms.</p></pre>skidooer: <pre><blockquote> <p>First let me point out that as I said above it is not just about the down votes or that single post.</p> </blockquote> <p>Understood, but we only have one datapoint to go on here. </p> <blockquote> <p>It is also about responses I have received in the past on other posts in multiple places.</p> </blockquote> <p>Perhaps you could link to some? I&#39;m most interested in the examples that you think were the most poorly received and the most well received across the different language forums you have participated in.</p> <blockquote> <p>Besides the fact that the points are used at least to some extent to voice an opinion.</p> </blockquote> <p>I don&#39;t see how. There is absolutely no information attached. But, what do you think the downvotes mean?</p> <p>I am going to say that one was because someone thought your post was off-topic (it is not really related to Go), one because of hitting the wrong button, and two because someone was upset that you would would even consider using a language that doesn&#39;t have generics!!!!! (Actually, that one probably explains all four.)</p> <p>Three are just silly, and one is justified, in my opinion. What should our takeaway from that be? Should you be stressed out over a group of people being silly and someone trying to be helpful to the community?</p> <blockquote> <p>Now if this was just one or 2 posts or 1 forum or over just a week or maybe a month you might have a point but it over months, multiple posts, on multiple platforms.</p> </blockquote> <p>What are you using as a control? Like I mentioned, your posts may simply be getting more attention now due to your advancement as a programmer, working on problems that are more interesting to a larger group of people. That your comments seem to indicate that the problem has become more pronounced recently, my money is on this.</p></pre>BurpsWangy: <pre><p>Two I can come up with right off the bat... but I&#39;m sure there are more:</p> <ol> <li><p>Everybody is a professional who thinks they know best (but according to recent go-related blogs, suggestions, etc. it should be obvious there&#39;s a lot of people who claim to be but are no where close). It&#39;s kind of like being the &#39;n00b&#39; in a MMORPG. Software developers have always been notorious for letting their projected &#39;smarts&#39; get to them. It&#39;s probably from the constant &#39;you&#39;re so smart... all that looks like Chinese to me&#39; they get from non-technical or people who don&#39;t understand what we do (a good example is their parent inflating just how intelligent they are just because they can code). They let this go to their heads...</p></li> <li><p>In no other languages I&#39;ve ever used, have I seen so many people lately come into a community and completely trash the language and complain &#34;Why can&#39;t Go be more like {insert other language}...&#34;. That&#39;s been happening A LOT lately. I think long-timers and people who think Go is fine right now (a lot of us) are getting sick of the influx of this. Everybody has advice and their opinion on this. If you&#39;re making any comments related to this when asking for help, this could be part of the issue.</p></li> </ol></pre>paul2048: <pre><blockquote> <p>&#34;Why can&#39;t Go be more like {insert other language}...&#34;. That&#39;s been happening A LOT lately</p> </blockquote> <p>This is especially true with people on the mailing list complaining that a garbage collected language is actually garbage collected ... </p></pre>pobbly: <pre><p>I don&#39;t see those answers on SO as harsh. They were just trying to help. That said, programmers in general can be an ill-tempered bunch, try not to take it personally when you encounter it.</p></pre>ask: <pre><p>For what it&#39;s worth the user with the unhelpful comment implying &#39;go learn more stuff and come back&#39; looks to mostly be active in the Python community on stackoverflow. :-)</p> <p>[ reading later comments .. ]</p> <p>Oh, ... well, don&#39;t be concerned about a few downvotes here and there. People might just have thought the question wasn&#39;t interesting. Or they don&#39;t know what they&#39;re doing.</p></pre>AngryGoNerd: <pre><p>Try <a href="https://forum.golangbridge.org/" rel="nofollow">Go Forum</a> very nice people there if you have something specific you can also contact with the moderators of this reddit directly</p></pre>dc0d: <pre><p>Same here. But I came for Go and some certain individuals that gracefully granted their time to review my code and blog posts, which was incredibly encouraging. I respect those people.</p> <p>I&#39;ve never seen such an atmosphere in any other communities. I ignore the irrelevant and the negative. Just a handful of good people, helped me to get start with Go relatively fast and they still help me out from time to time. That alone worth a whole community.</p> <p>Yet again Go community (outside the crowded places) are normal, non-trolly people. It&#39;s some certain individuals that constructed bands and took over places.</p> <p>I do not see a solution for this.</p></pre>recurrency: <pre><p>the go community, at least on Stackoverflow is more neutral/negative than other communities. I even know this &#34;for a fact&#34;</p> <p>a few weeks ago I carried out a toy analysis where I scraped q/a for c, c++, python, java and go off Stackoverflow for the last couple of months and even after controlling for things like views, reputation, answers, the negative effect for go was there </p> <p>why then? my hypothesis is that it might be because it&#39;s a more unambigious language than many others — there typically is a well documented (often in the language spec) canonical way of doing things.</p> <p>don&#39;t feel discouraged by that! as others have said the slack channel is a great place to ask questions to get you started. plus gradually reading the spec + stdlib docs will grow on you, they are not as messy as other languages</p></pre>ar1819: <pre><p>C++ SO is toxic beyond reasoning. Most of the questions is either discussing Qt or some quirks in the standard. Everything else is mostly left unnoticed at best.</p></pre>weberc2: <pre><p>I&#39;m sorry, and I empathize. I often get the feeling that many folks in these communities (including this sub) want to stroke their own egos by making others feel like their questions are bad. None of these programmers have the technical chops to justify their rudeness, and you&#39;ll quickly surpass them. For me, I&#39;ve learned to ask questions and ignore the stupid responses. If I can get my answer and annoy some snobs, all the better.</p></pre>juicemia: <pre><p>I find the Go community to swing in the other direction, in almost an extreme way.</p> <p>You can always try our Slack. There are a ton of people on there that are always willing to help, and they have a lot of patience.</p> <p>Also the golang-nuts Google group is pretty good IMO.</p></pre>bonekeeper: <pre><p>Funny, I think the Go community is one of the most fluffy, welcoming and sometimes downright &#34;Teletubbies&#34; communities I have ever seen. Try asking on the #general channel at the <a href="https://gophers.slack.com/" rel="nofollow">official Go slack</a> next time.</p> <p>What exactly about your experience at <a href="https://stackoverflow.com/questions/46284285/which-is-better-for-testing-for-non-finite-floats-isnan-or-isinf" rel="nofollow">your post</a> did you feel as &#34;harsh&#34; ?</p></pre>

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

807 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传