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.

Introduction to Golang

60 pointsby tehmacoalmost 12 years ago

9 comments

programminggeekalmost 12 years ago
I&#x27;ve just recently started playing with go and I think the most impressive part is how close you can get to a dynamic language development feel without sacrificing the benefits of static compilation, speed, binary distribution, etc.<p>There is a lot to love about go and it is very quickly starting to look a lot more interesting than other languages like ruby for future projects.
coolsunglassesalmost 12 years ago
And for people who want to &quot;level up&quot; their programming skills and get an excellent language for writing servers in with a great faculty for safely concurrent semantics:<p><a href="http://clojure-doc.org/articles/content.html#clojure_tutorials" rel="nofollow">http:&#x2F;&#x2F;clojure-doc.org&#x2F;articles&#x2F;content.html#clojure_tutoria...</a>
评论 #6234107 未加载
drdaemanalmost 12 years ago
Tried the language recently. Wanted a in-memory data structure that could represent a filesystem-like graph. Ran away when I understood (please correct me if I got that wrong, but I wasted a whole weekend and found nothing) that it&#x27;s either totally type-unsafe void*^H^W interface{} all the way or I have to write my own separate implementation for every and each type of graph I&#x27;ll use, without any significant way to reuse code.
评论 #6234938 未加载
评论 #6234802 未加载
评论 #6234782 未加载
评论 #6234867 未加载
JulienSchmidtalmost 12 years ago
<a href="http://i.lvme.me/4gl8uip.jpg" rel="nofollow">http:&#x2F;&#x2F;i.lvme.me&#x2F;4gl8uip.jpg</a><p>The up-to-date Go Users page is at <a href="http://code.google.com/p/go-wiki/wiki/GoUsers" rel="nofollow">http:&#x2F;&#x2F;code.google.com&#x2F;p&#x2F;go-wiki&#x2F;wiki&#x2F;GoUsers</a>
catnaroekalmost 12 years ago
Taken from the article:<p>&gt; &quot;Strongly typed (with dyamic casting)&quot; &gt; &quot;while Go is statically typed, it has a strong system for dynamic casting and reflection&quot;.<p>This is not even wrong. The <i>whole</i> point to using types is to make strong <i>guarantees</i> about the meaning of programs without even having to run them. Dynamic casting and reflection <i>destroy</i> the usefulness of these guarantees, by virtue of their semantics depending on information only avaluable at runtime. Strong typing with dynamic casting and reflection is like a safe knife whose handle is a blade!<p>&gt; &quot;Really good at concurrent stuff, pretty fast&quot;<p>Give me a break. Concurrency support is all about compartmentalizing the use of resources as much as possible, reducing sharing between the concurrent units of computation (processes, tasks, goroutines, whatever you want to call them) to the bare minimum required for the program as a whole to serve its goal. How does Go&#x27;s shared memory model help in this regard? This fundamental inadequacy has negative consequences both for correctness (synchronization is a convention, it is not actually enforced) and for performance (Go needs a stop-the-world garbage collector).<p>===<p>Go might have been barely interesting ten or fifteen years ago, but in 2013, this kind of design has to be rejected as mediocre.
评论 #6236237 未加载
nolokalmost 12 years ago
For people who use go in production; what do you use for database abstraction and mapping ? I found several &quot;ORM&quot; but either they throw static typing out the window, or they seem to be way overblown in what they try to do (ending up dictating how some of the data has to look in the database), I look only for a database abstraction (which db&#x2F;sql doesn&#x27;t provide), does a good one exists ?
pixie_almost 12 years ago
Random question - but what happens when you divide by zero in go?
评论 #6233982 未加载
评论 #6234357 未加载
RamiKalmost 12 years ago
&quot;This isn’t a language for use in UIs or game clients, but it is an extremely competent language for making servers, infrastructure or parallel&#x2F;distributed processing systems.&quot;<p>Golang has a GUI tool kit: the &quot;net&#x2F;http&quot; and &quot;html&#x2F;template&quot; packages. While I personally hate EcmaScript with a passion, I have to admit every single GUI tool kit or windowing system I&#x27;ve worked with had serious fundamental design flaws not unlike JavaScript and the DOM. The entire scenario is not unlike the Tcl\Tk days. People will bitch and whine but will do so while using it until something better comes up.
评论 #6234569 未加载
mrschwabealmost 12 years ago
There sure has been a ton of Golang hype lately. At the risk of being downvoted, just wanted to add my 2 cents: seems obvious to me that Google&#x27;s PR team has been in full motion on Go lately. At the very least, there are quite a few Google fans active on HN routinely pushing Go. Which is no problem of course.<p>I just find this somewhat frustrating given that we also have the massive NSA surveillance scandal unfolding. Because I&#x27;d like to think that intelligent, free-thinking hackers would opt for using products &amp; technologies from companies &amp; organizations not so directly, deeply, and intricately involved in said scandal.<p>Anyway, kudos to Dan for his detailed article - I&#x27;m sure he could care less about the political alignment of the corporation he is getting his tools from - and really it should be about technology first; so if Golang fits his needs most optimally then by all means that&#x27;s what he should be using. Just saying, don&#x27;t forget about the alternatives ;)
评论 #6234325 未加载
评论 #6234404 未加载
评论 #6234623 未加载
评论 #6234308 未加载
评论 #6234219 未加载
评论 #6234642 未加载