Why is this the most hated go package?

polaris · · 452 次点击    
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
<p>Disclaimer: I&#39;m not trying to make this post a popcorn worthy drama, I just wanna find out the raw truth.</p> <p>Few days ago I&#39;ve come across this production ready web framework called Iris which seems to have pretty good performances (even better than fasthttp) and has a decent API as well.</p> <p>I have to admit that after making some deep researches, I&#39;ve never thought that I&#39;ll find such a hated lib..maybe the author is a douchebag, but at least he tried to support the community by making it open source..</p> <p>To keep it short, wanna know if the package is good to be used in production or it&#39;s a waste of time. I&#39;m not judging the author, I&#39;m judging the code. No matter how he managed to created Iris, I wanna know if it&#39;s really worth it!</p> <p>EDIT: </p> <p>TL;DR := FFS People, THAT&#39;S NOT A POST ABOUT KARAKAS, KATARAS WTTF u call it. JUDGE THE CODE, NOT THE AUTHOR</p> <hr/>**评论:**<br/><br/>abiosoft: <pre><p>The objections against Iris aren&#39;t primarily about idiomatic Go. These two links are a good start to why. <a href="http://www.florinpatan.ro/2016/10/why-you-should-not-use-iris-for-your-go.html" rel="nofollow">http://www.florinpatan.ro/2016/10/why-you-should-not-use-iris-for-your-go.html</a> <a href="https://github.com/avelino/awesome-go/pull/1137" rel="nofollow">https://github.com/avelino/awesome-go/pull/1137</a></p></pre>itsmontoya: <pre><p>Fasthttp really isn&#39;t that fast. If you put it with real world loads (something more useful than hello world tests), stdlib outperforms it.</p></pre>tsdtsdtsd: <pre><p>I wonder if the maintainer of Ion (advertised on Iris&#39; github page - <a href="https://github.com/get-ion/ion" rel="nofollow">https://github.com/get-ion/ion</a>) is kataras in disguise. So many suspicious aspects. Could all be coincidence though.</p></pre>peterbourgon: <pre><p>It&#39;s obviously him.</p></pre>titpetric: <pre><p>Ultimately it&#39;s your choice. I would add codegangsta/inject as a more hated lib, and &#34;dependency injection&#34; as a principle that doesn&#39;t translate well to Go, and people will shoot you down if you try. The argument about idiomatic code is valid and makes your code better. If the objections against Iris are similar, you should probably listen.</p></pre>jimijiim: <pre><p>you mean &#34;martini&#34; and how it&#39;s author was publicly humiliated by a few trolls in the go community and how he didn&#39;t contribute to anything since. </p></pre>ChristophBerger: <pre><p>The author of martini receivced some critical comments about the use of reflection that made the code harder to understand than necessary. He listened to the critics and built another Web framework called negroni that is basically martini but without the reflection &#34;magic&#34;. That&#39;s what I remember from that story. What I definitely do not remember is the &#34;humiliated by a few trolls&#34; part. Did Jeremy say that?</p></pre>titpetric: <pre><p>Unfortunately. I do think the author got the point about idiomatic code, as I remember some (polite) footnote in the GitHub repo about it. Or maybe it was the Gin project I&#39;m thinking of? Whichever uses codegangsta/inject is what I&#39;m thinking of. And yeah, people in the Go community can be very conflictive and don&#39;t really see non-idiomatic code as a learning opportunity. It sucks if this was a reason that some people turned away from Go, especially with projects that demonstrated some traction.</p></pre>a_k_w: <pre><p>I would pick a package that has better support and less drama. In the long haul it is the only true option.</p></pre>jimijiim: <pre><blockquote> <p>Disclaimer: I&#39;m not trying to make this post a popcorn worthy drama, I just wanna find out the raw truth.</p> </blockquote> <p>but this story is 100% drama at first place, you will only get more drama while talking about it. </p> <p>The irony is that story indirectly led to this sub being disavowed publicly by go maintainers.</p></pre>dlsniper: <pre><p>Can you please provide a source for this statement:</p> <blockquote> <p>The irony is that story indirectly led to this sub being disavowed publicly by go maintainers.</p> </blockquote> <p>As you can see here, <a href="https://golang.org/help/#reddit" rel="nofollow">https://golang.org/help/#reddit</a>, reddit is still an official space for Go. As far as I remember, the Go maintainers withdrew their active leadership from here since none of them had the time for it and they were mostly inactive. But I would be happy to read anything else that also made them to take this decision.</p></pre>aboukirev: <pre><p>Indeed, the idea to remove Reddit from official spaces was unrelated. Source: <a href="https://groups.google.com/forum/#!msg/golang-nuts/XoOhzUClDPs/jgSWxng7CAAJ" rel="nofollow">https://groups.google.com/forum/#!msg/golang-nuts/XoOhzUClDPs/jgSWxng7CAAJ</a></p> <p>However, the original drama had serious consequences <a href="https://groups.google.com/forum/#!msg/golang-nuts/XoOhzUClDPs/jgSWxng7CAAJ" rel="nofollow">https://groups.google.com/forum/#!msg/golang-nuts/XoOhzUClDPs/jgSWxng7CAAJ</a> </p> <p>That thread was partially copied to dev list as well. You&#39;ll also see mentioning about some code in Iris being &#34;stolen&#34; from other projects (copied and authorship information deleted). Source: <a href="https://groups.google.com/d/msg/golang-nuts/MHoI64RyRdY/oXy3SFDaBwAJ" rel="nofollow">https://groups.google.com/d/msg/golang-nuts/MHoI64RyRdY/oXy3SFDaBwAJ</a></p> <p>True, the licensing allowed copying and altering the code and, I believe, some of it has been rewritten/replaced later on. Use your own judgment.</p> <p>My stance on it is that the framework was pretty good in its early days. It had original router, if I remember correctly. It did not have any tests, which was one of complains at that time, and the author stated that he did not intend to add any. Later it kept growing by including everything conceivable and constantly changed API. Although, a book accompanying it was pretty good. </p> <p>So, it&#39;s a mix of good and bad. YMMV. </p></pre>shark1337: <pre><p>Go in a nutshell. Comming from node js and have to say that have never seen drama like this, not even a little bit of hate on a package no matter what...</p></pre>kardianos: <pre><p>a) You seem to be asking a question, but you already seem to know an answer.</p> <p>b) I don&#39;t think there is any &#34;hate&#34; for the technical package. Socially the main package developer seemed to do many things with his &#34;open source&#34; package that to many are unacceptable for an open source project, or most any project for that matter. If you think that people saying &#34;how this project is run looks really bad and here is why&#34; is &#34;hate&#34;, then we probably lack a common vocabulary to talk.</p></pre>metamatic: <pre><blockquote> <p>Comming from node js and have to say that have never seen drama like this</p> </blockquote> <p>If you think Go has drama, you should try the Ruby community.</p></pre>shark1337: <pre><p>Enough bs for today</p></pre>Mythiix: <pre><p>So you never heard about the <a href="https://arstechnica.com/information-technology/2016/03/rage-quit-coder-unpublished-17-lines-of-javascript-and-broke-the-internet/" rel="nofollow">NPM left-pad debacle</a>?</p></pre>__crackers__: <pre><blockquote> <p>not even a little bit of hate on a package no matter what...</p> </blockquote> <p>It&#39;s not the package, it&#39;s the author.</p> <blockquote> <p>Comming from node js and have to say that have never seen drama like this</p> </blockquote> <p>Right. Apart from when Azer threw a hissy fit and <em>broke the entire <code>npm</code> ecosystem</em> because no snippet is too small for a Node dev to package it up and declare it as a dependency?</p> <blockquote> <p>Go in a nutshell.</p> </blockquote> <p>Wut? I can see you&#39;re here to make friends.</p></pre>shark1337: <pre><p>&#34;It&#39;s not the package, it&#39;s the author.&#34;</p> <p>Judge the code, not the man.</p></pre>__crackers__: <pre><p>It&#39;s impossible to because the issue with the man is that he squashes everyone else&#39;s commits so they look like they came from him.</p></pre>shark1337: <pre><p>Does this affect quality that could not make the frameworck into production??</p></pre>__crackers__: <pre><p>Frankly, yes. What if there turns out to be a serious security hole?</p> <p>The author has demonstrated that his likely course of action would be to cover it up.</p></pre>shark1337: <pre><p>Oh damn it, that&#39;s the only comment that helped me so far. Thanks!</p></pre>gentleman_tech: <pre><p>Constantly changing the API is a no-no for production too.</p></pre>metamatic: <pre><p>I write code for work. I can&#39;t just ignore license violations; that could get my employer in legal hot water, and get me fired. If I can&#39;t trust the author not to rip off someone else&#39;s code in violation of copyright, then I can&#39;t risk using any package he releases. So the author&#39;s trustworthiness is an important issue.</p></pre>: <pre><p>[deleted]</p></pre>guilhermefrj: <pre><p>It&#39;s really hard to keep as a dependency. Since the author squashes all the commits, a few commit hashes disappear in the process, rendering the dependency reference useless.</p></pre>

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

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