TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Brad Fitzpatrick on the future of Go

244 pointsby sylvinusover 10 years ago

15 comments

Animatsover 10 years ago
Well, it&#x27;s good to have a hard-compiled language that&#x27;s (almost) memory safe. Three problems with Go:<p>- The Go mantra is &quot;share by communicating, not by sharing&quot;. Then look at all the thread examples in &quot;Effective Go&quot;. They all share memory, while trying to construct locks using message passing. Multi-threaded Go programs are not memory-safe. That&#x27;s why Google won&#x27;t let you use them on their AppEngine. Compare Erlang, which takes message passing seriously.<p>- The lack of exceptions is resulting in hacks using the &quot;panic&quot; mechanism to create an exception mechanism. This is where we were with &quot;longjmp&quot; in C. I know someone at Google who has constructed a language on top of Go mostly to deal with exceptions.<p>- The lack of generics is resulting in hacks using the reflection mechanism to create generics. This is painful and slow. Go has generics for built-in objects; channels and maps are parameterized types, so there&#x27;s already syntax for instantiating a parameterized type. Extending that to user-defined types would not be too bad. Fear of the C++ template mess seems to have been the problem.
评论 #8454716 未加载
评论 #8456226 未加载
评论 #8455638 未加载
评论 #8455121 未加载
评论 #8456356 未加载
评论 #8457041 未加载
评论 #8455131 未加载
评论 #8455094 未加载
评论 #8456839 未加载
ciesover 10 years ago
Reading this I feel Go is boring, and that&#x27;s an asset. Let me explain.<p>Seeing [what&#x27;s happening in Haskell (GHC)](<a href="https://www.haskell.org/pipermail/ghc-devs/2014-October/006518.html" rel="nofollow">https:&#x2F;&#x2F;www.haskell.org&#x2F;pipermail&#x2F;ghc-devs&#x2F;2014-October&#x2F;0065...</a>), which is soooo much more exciting; but then I totally understand that &quot;exciting&quot; is what you want to stay away from in some cases. In these cases a Go is a much better choice I guess.
评论 #8453766 未加载
评论 #8454697 未加载
评论 #8453823 未加载
评论 #8454429 未加载
sqsover 10 years ago
Here&#x27;s an interesting portion of a Q&amp;A panel from the same dotGo 2014 conference (<a href="http://dotgo.sourcegraph.com/post/99652344343/go-team-q-a-dependency-management-design-philosophy" rel="nofollow">http:&#x2F;&#x2F;dotgo.sourcegraph.com&#x2F;post&#x2F;99652344343&#x2F;go-team-q-a-de...</a>)<p>Q: There are several dependency management tools in the wild: godep, gpm, etc. Are there any plans to provide this functionality in the core?<p>Brad Fitzpatrick: We don’t want to dictate a policy, so we hope the community fights it out and a victor emerges. Then maybe we’ll bless that one. Then if everyone likes it and it has been stable for a couple of years, maybe we’ll add it to the core.<p>Brad Fitzpatrick: Part of the reason why we don’t care as much about dependency management inside Google is that we don’t use the go tool inside Google.<p>Andrew Gerrand: The lack of versioning built into the Go tool incentivizes library authors to provide good, stable APIs.
评论 #8454043 未加载
评论 #8453786 未加载
评论 #8453195 未加载
评论 #8454887 未加载
jgrahamcover 10 years ago
This is a summary of a talk from the dotGo conference in Paris last week. Lots of good stuff was presented there. Recommend reading the other posts by sourcegraph on this and watching the videos when they come out.<p><a href="http://dotgo.sourcegraph.com/" rel="nofollow">http:&#x2F;&#x2F;dotgo.sourcegraph.com&#x2F;</a>
mellingover 10 years ago
How about a better optimizing compiler? I&#x27;ve been using Go and everything feels quite snappy. Justifying it use over Java on the server-side, for example, might require a little more supporting data.
评论 #8453787 未加载
kingmanazover 10 years ago
Regarding the article&#x27;s mention of GopherJS: The Google Dart project should adopt Go as its language and reboot. Dart hasn&#x27;t gone anywhere. GopherJS is a great low-budget transpiler and its source could be incorporated into a Go-based Dart.<p>It would be great to see what could be accomplished with a big-budget GopherJS.
评论 #8454912 未加载
评论 #8454454 未加载
评论 #8453834 未加载
higherpurposeover 10 years ago
Go 2.0 should be highly optimized for Android (and as a potential <i>main</i> language for Android) and should get even better ARMv8A support.
评论 #8453792 未加载
hendryover 10 years ago
Will there be a proper debugger I wonder?
评论 #8453693 未加载
评论 #8453773 未加载
评论 #8453643 未加载
评论 #8453789 未加载
评论 #8456004 未加载
niixover 10 years ago
I&#x27;ve been writing Go for the past couple weeks and have really enjoyed it. My day jobs is in JavaScript land all day long, and while I really love JS I was looking for something more. Go has helped me think differently about how I approach my code in JS now and continues to be a great source of knowledge.
评论 #8454175 未加载
robmccollover 10 years ago
Anybody up for backporting Go&#x27;s stdlib to C? Doing so in an automated way would be all the better.<p>There are just so many things in Go that feel like 80% solutions - they make great demos but in every day use you have to fight them (looking at you import system and the GOPATH, magical make() function, magical overloaded accessors, lack of expressions or at least ternary if, pre and post increment are hacks not expressions, lack of coercion to more precise types, no templating &#x2F; generics &#x2F; preprocessing, needs an equivalent to realloc, having to go through reflect &#x2F; unsafe to get things done, lack of proper type resolution for complex types).<p>There are many things I do like about Go, but much of the time it feels like a very pretty prison compared to the (admittedly less pretty) freedom of C.
评论 #8457204 未加载
评论 #8464607 未加载
评论 #8457611 未加载
schmichaelover 10 years ago
&gt; GOTRACE: emits Chrome trace viewer and will allow for us to visualize scheduler actions and more in Chrome<p>I&#x27;m very excited about this, but I wonder if it will scale to visualize hundreds to thousands of goroutines in a useful way. That&#x27;s where existing inspection tooling like logging and snapshotting goroutine dumps fall apart.
评论 #8454584 未加载
GFK_of_xmaspastover 10 years ago
&quot;at the time there was very little exotic hardware support (such as ARM). &quot;<p>How is ARM &quot;exotic hardware&quot;?
评论 #8454100 未加载
bigtunacanover 10 years ago
I see he mentions &quot;beginnings of Android support&quot;. This is something I would love to see. Does anyone know if there is a product roadmap that provides a timeline on this?
评论 #8454170 未加载
评论 #8454667 未加载
joe_mommaover 10 years ago
Android and iOS support!
trungonnewsover 10 years ago
Will Go ever get an interactive debugger that is comparable to Java?
评论 #8458684 未加载