TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Half a decade with Go

259 点作者 geetarista超过 10 年前

18 条评论

wwweston超过 10 年前
OK, I&#x27;ll admit it. I&#x27;ve spent six months with Go. I keep waiting for the moment when I understand it, maybe even develop some enthusiasm for it, and reach Pike-enlightenment.<p>And I pretty much hate the language. I feel like I&#x27;m writing in something that combines the worst weaknesses of Pascal and Java. In fact, Mark Dominus&#x27; comments about Java (<a href="http://blog.plover.com/prog/Java.html" rel="nofollow">http:&#x2F;&#x2F;blog.plover.com&#x2F;prog&#x2F;Java.html</a> ) approximate my experience Go far better than I would have guessed when I started the project I&#x27;m on.<p>People who seem to be smart nevertheless keep talking it up... some not even as just a good tool but as their favorite language.<p>So I&#x27;ll ask: What is it I need to read&#x2F;work through in order to at least &quot;get&quot; Go and really understand its strengths (whether or not I end up liking it)?
评论 #8588314 未加载
评论 #8587281 未加载
评论 #8587236 未加载
评论 #8588046 未加载
评论 #8588852 未加载
评论 #8587630 未加载
评论 #8587479 未加载
评论 #8587202 未加载
评论 #8588209 未加载
评论 #8587251 未加载
评论 #8602202 未加载
评论 #8588978 未加载
ansible超过 10 年前
<i>At launch, there was a flurry of attention. Google had produced a new programming language, and everyone was eager to check it out. Some programmers were turned off by Go&#x27;s conservative feature set—at first glance they saw &quot;nothing to see here&quot;...</i><p>This was totally me. I am very much a programming language aficionado (or maybe just a dilettante), and when I first read about Go, I dismissed it quickly. I&#x27;d mostly been using Lua at the time, and didn&#x27;t really understand what was different with goroutines vs. coroutines.<p><i>After the initial release, it took us a while to properly communicate the goals and design ethos behind Go. Rob Pike did so eloquently in his 2012 essay Go at Google: Language Design in the Service of Software Engineering and more personally in his blog post Less is exponentially more. Andrew Gerrand&#x27;s Code that grows with grace (slides) and Go for Gophers (slides) give a more in-depth, technical take on Go&#x27;s design philosophy.</i><p>It was Rob Pike&#x27;s essay that caused me to investigate it again.<p>I have been quite impressed with lots of little details that have been &#x27;fixed&#x27; (relative to C) in Go. Such as how variables are declared, the module system, and much more. And I was and continue to be impressed with the associated tooling.<p>I hope that if Go has just one lasting legacy in the history of programming, it will be how it pushed forward people&#x27;s expectations of what a good language ecosystem should provide.
评论 #8586623 未加载
Animats超过 10 年前
Go has a rather specific purpose. It&#x27;s intended for writing server-side web systems that will run fast and scale well. Since that&#x27;s what Google does to make money, that makes sense. The available libraries reflect this - good support for dealing with many network connections at once, no GUI support.<p>It&#x27;s not suitable for writing an OS, hard real time, highly generic libraries, or GUI programs. Within its niche, it&#x27;s far better than the alternative, which is usually C++. Just the fact that it eliminates buffer overflows without running slow is enough to justify it.<p>There are lots of problems with Go. The concurrency isn&#x27;t safe. The lack of generics forces overuse of reflection and &quot;interface{}&quot;, Go&#x27;s all-purpose type. The lack of exceptions forces far too many lines of &quot;if err != nil { return err}&quot;, (or worse, a goto) which takes 3 lines of text every time. The &quot;defer&quot; mechanism is clunky. Lots of modern bells and whistles, from functional programming to generators, were omitted. Other than the lack of safe concurrency, those things don&#x27;t cause operational problems in your data center. They just require more typing by the programmers. That&#x27;s an acceptable cost. It beats spending time in a debugger.
评论 #8588794 未加载
spotman超过 10 年前
Crazy that it has been 5 years. Time flies when your having fun.<p>The golang team has done a fantastic job. It is now my primary language of choice to get things done.<p>2 years ago I started playing with it moderately, and now in the past 12 months or so it has made its way into my normal workflow and have been delivering completed projects in golang.<p>I am excited for the next chapter in golang. Keep up the good work!
评论 #8585885 未加载
评论 #8586717 未加载
bketelsen超过 10 年前
Shameless promotion in case you don&#x27;t read OP. We&#x27;re posting an article every day on blog.gopheracademy.com celebrating the use of Go around the world. <a href="http://blog.gopheracademy.com/birthday-bash-2014/go-turns-5/" rel="nofollow">http:&#x2F;&#x2F;blog.gopheracademy.com&#x2F;birthday-bash-2014&#x2F;go-turns-5&#x2F;</a>
评论 #8586108 未加载
评论 #8586439 未加载
LBarret超过 10 年前
Go is an average language but it&#x27;s a solid product.<p>The tooling is excellent. A lot of thougt has been put into making things simple. From the folder structure to the final binary, everything is smooth.<p>It&#x27;s just a shame that the language design itself is quite behind the times. Older languages had a lot to offer to a new one. The day it launched it was already old. And I don&#x27;t see a lot of goodwill to change the language to fill the glaring omissions.<p>Python in this respect is quite an example : iterators, generators, ABC were carefully added without making any less approachable. It prooves it is possible, but that the kind of things the Go leaders apparently simply don&#x27;t consider.
codemac超过 10 年前
You still need a Makefile if you use things like godep, or their new `go generate` stuff.<p>They have a long way to go on tooling; however, getting to say that is a luxury, due to just how &quot;right&quot; golang has been for systems work. Golang has been amazing to work with, and has just been stupidly productive. I miss debugging (gdb) and generic compile tools like tup, but that&#x27;s about it!
评论 #8586841 未加载
评论 #8587057 未加载
评论 #8587892 未加载
评论 #8586980 未加载
dvt超过 10 年前
Very awesome. I&#x27;m so proud to have been an early committer! Unfortunately, I don&#x27;t use Go that much day-to-day, but here&#x27;s hoping for another 5 years!
xkarga00超过 10 年前
Does anyone know how Go is used inside Microsoft, except their participation in the Kubernetes project?
评论 #8586629 未加载
ExpiredLink超过 10 年前
Why are language discussions so futile? Because people choose platforms, not languages. Platforms have one main language (in some cases two) which becomes the language of (no) choice for the developers.<p>Platform examples: Host (Cobol, PL&#x2F;1), Unix (C), Embedded (C), classic Windows (C++, VB), .NET (C#, VB.NET), Java EE (Java), Android (Java), ... Rails (Ruby), PHP (PHP), Browser (JavaScript).<p>The choice is always between platforms, not between languages. Languages without linking to a platform (Go, Python, Scala, D, Rust, ...) have little chance to succeed.
评论 #8589095 未加载
评论 #8588914 未加载
jvehent超过 10 年前
Writing in Go has made me find Python code ugly. Much like Python made me dislike Perl many years ago. That is, of course, very subjective.
austinz超过 10 年前
Sometimes I wonder: if Apple&#x27;s new language had been Go, and Google&#x27;s new language had been Swift, how would reaction by developers and adoption have differed? (You can also run this thought exercise with Go and Rust, if you prefer a different competition between self-proclaimed systems languages.)
评论 #8588320 未加载
johncoltrane超过 10 年前
Half a decade sounds better than 5 years.
zerr超过 10 年前
How I wish Gilad Bracha was in Go team instead of that js replacement language nobody is using...
callesgg超过 10 年前
I would really like to see go binaries that is not like a 1mb in size.<p>In practice is not like I don&#x27;t have space for 1MB<p>But I still want proper linking to a shared &quot;golib&quot;
评论 #8589243 未加载
评论 #8588934 未加载
general_failure超过 10 年前
I really dislike the syntax. The language itself has nice concepts.
评论 #8588389 未加载
Dewie超过 10 年前
&gt; , we were calling Go a &quot;systems language&quot;<p>And maybe in another 5 years, people will stop bickering over whether that description is&#x2F;was appropriate. :)
评论 #8585743 未加载
评论 #8589297 未加载
评论 #8588422 未加载
eng_monkey超过 10 年前
A full lustrum.