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.

Six years of Go

405 pointsby jaxonduover 9 years ago

31 comments

matthewmacleodover 9 years ago
I have a bit of a love-hate relationship going on with Go.<p>On one hand, it addresses many of the pain points I&#x27;ve experienced with other languages. It&#x27;s easy to build and deploy, reasonably performant, and has a powerful and consistent standard library.<p>On the other… developing in it feels like a total slog. It manages to be simultaneously far too anal and overly forgiving about syntax. Visibility definition using upper&#x2F;lowercase is a shite idea. Package names (and packaging generally) are a mess. Magical built-in globals are a huge design smell. The lack of generics, as cliché a complaint as it is, results in loads of duplicated or generated code when building anything more complex than the simplest app. And so on.<p>I find the whole experience of using it to be unpleasant (rather like using a blunt knife), and yet it fits a set of requirements that mean I keep developing new projects using it – particularly high-performance small services that do things like fling JSON around, for which the built-in HTTP libraries + Gin are brilliant.<p>I&#x27;m looking forward to the point that a (trans|com)piler which smooths over the bad parts is available.
评论 #10543290 未加载
评论 #10541175 未加载
评论 #10541196 未加载
评论 #10540953 未加载
评论 #10542644 未加载
评论 #10541141 未加载
评论 #10541718 未加载
评论 #10551021 未加载
评论 #10541164 未加载
aws_lsover 9 years ago
It was early 2013, when we adopted Go as a default language for all our server side (micro or not) services. Before that we had been using Java for some years. The reason for the move were few:<p>1) Ambivalence on Java roadmap, in my understanding (gradual build up, since after the Oracle&#x27;s Sun acquisition). Even the earlier clean java docs, suffered from Oracle branding efforts. Downloading older versions were confusing via a long chain of navigation between sites.<p>2) Boredom after nearly a decade with Java programming.<p>3) Memory usage of Java in our conditions was much higher compared to other languages (C, C++, Go)<p>4) Not Java&#x27;s problem, but whenever one thinks of hosting a HTTP service in Java, thinks of using a container (e.g. tomcat, jetty, Jboss etc.). Go <i>seemed</i> to have made making services very easy. Its possibly just a perception issue, but its there in my experience.<p>So we wanted to move, and Go looked stable at the time from all my HN readings. C was too bare bones(even string handling was a pain to me, after a gap), and even C++ would not have matched some of the things which Go has inbuilt. Few examples:<p>1) Json&#x2F;XML parsing is the easiest with no work (or minimal) required, you can just have the field names capitalized (or use stereotypes) and it gets done, with a line of code.<p>2) Great HTTP client and server libraries, which make very easy to write your own standalone services, as well as write http crawlers. (I am quite excited that Go 1.6 will have HTTP&#x2F;2 support for both, as per this birthday blog).<p>So, in nearly three years of usage, with largely no regrets[1]. It is what they say it is: a bare-bones, fast (both compile &amp; run) and stable (hardly get any errors after you have coded stuff, one of the stablest programming paradigms in error handling, etc).<p>Thank you, Go team! Hoping to use it for many years, as default server side language.<p>[1] Some of the 3rd partly libraries, we use are still not ported over to Go. They have Java, C++&#x2F;C versions.
评论 #10539846 未加载
评论 #10539955 未加载
评论 #10539712 未加载
评论 #10539998 未加载
评论 #10540306 未加载
评论 #10540110 未加载
codygmanover 9 years ago
I wish the gdb support were better or that delve were more stable. I also had some weirdnesses using cgo on osx. Then I went into #go-nuts on freenode, and I got told I was wrong and there was no problem.<p>Back in 2009 #go-nuts seemed to be a much different place.<p>I write Go at work, and I admire many of the same things in Go I admire about Python.<p>I still wish generics were part of the language and will say their excuses about not being able to do it in a performant way seem to just be away of avoiding the subject.<p>Ocaml for instance, has a performant generics implementation.<p>Sometimes the Go community can have an anti-programming language research and anti-intellectual feeling which can be annoying, since in addition to Go I write a good amount of Haskell.<p>The tooling is nice as people say, however I think more maturing of the platform needs to be done. It&#x27;s also never talked about how much slower Go&#x27;s claim to fame of fast compilation got much slower after the 1.3-1.4 switch to a compiler totally in Go. In all fairness, I could be wrong about the last one since I haven&#x27;t benchmarked it... but I can say it feels much slower than it was around 1.1&#x2F;1.2.<p>Concurrency in Go is easy, however I feel like many erroneously think that channels or concurrency primitives like it only exist in Go. There are other languages with rich concurrency and parallelism options as well.<p>Using lots of interfaces and casting everywhere gets on my nerves since I like to have the strongest guarantees possible via static typing.<p>Overall though, I can&#x27;t say I&#x27;ve had a bad experience with Go. I can say it feels like I&#x27;m using an okay tool (great in some places) with maintainers who put their hands over their ears to potential improvements (see the generics proposals over the years).
评论 #10541319 未加载
评论 #10539653 未加载
评论 #10539814 未加载
评论 #10541285 未加载
japhyrover 9 years ago
I&#x27;ve never used Go before, so I went to the project&#x27;s home page. There&#x27;s an editing window on the home page with a sample program showing, and a few other programs available in a drop down list. I couldn&#x27;t help but start playing with the language.<p>I wonder how much the simple presence of an editing window on a language&#x27;s home page contributes to overall adoption of the language. It sure lowers the bar to &quot;I&#x27;ll just write a few lines of code and see how this language feels.&quot;
评论 #10540239 未加载
评论 #10539876 未加载
no1youknowzover 9 years ago
I&#x27;ve been working on a huge monolithic project (for 1 person) for the better part of 2 years now. It is in PHP, but the backend segments ported over to various other languages like python, javascript(nodejs), and now to Go.<p>Having now developed 30 micro-services for Go, which all utilise channels and thus run much faster than any other language I used is just amazing.<p>Not only has my productivity increased majorly, but also my support time has rapidly decreased.<p>These micro-services which run in the background just work:<p>- With PHP they don&#x27;t run out of memory or the database connection doesn&#x27;t time out.<p>- With Python I don&#x27;t get random crashes due to pool.map.<p>- With NodeJS I don&#x27;t have to run multiple instances to get the speed.<p>I&#x27;ve looked at web frameworks like beego, gin, revel and others. But I&#x27;m waiting till something comes out that&#x27;s more inline with what I have used with PHP. Something like slim framework.<p>If it ever does come out, it will give me the push to switch 100% to Go. Can&#x27;t wait really.
评论 #10540374 未加载
评论 #10540032 未加载
评论 #10540666 未加载
domrdyover 9 years ago
I love Go. It helped me so much, not only career wise but also on a more personal level, bringing back the excitement in programming I missed so dearly from my early days. Drop by at one of our Golang meetups if you&#x27;re in the Munich area. <a href="http:&#x2F;&#x2F;www.meetup.com&#x2F;Munich-Gophers-Go-User-Group&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.meetup.com&#x2F;Munich-Gophers-Go-User-Group&#x2F;</a>
Sphaxover 9 years ago
Congrats to the team. Go has never let me down in my work and my personal projects, it&#x27;s just awesome.
kriroover 9 years ago
Go seems like a fun language that has been sitting on my &quot;look into it list&quot; for a while, can&#x27;t belive it&#x27;s already six years old.<p>Since the TensorFlow video post is currently on the frontpage as well...as someone who uses neither C++ nor Go (I can write FizzBuzz level of code in both and read both well enough to get what&#x27;s going on) I have to wonder how much internal buyin Go really has at Google if the core of such a project is implemented in C++. It&#x27;s a project they see as valuable in the future and it would lend itself really well to Go as these calculations are done distributed and yet they picked C++.<p>[I&#x27;m not sure how much of the old framework they reused but if the will to Go was really strong I&#x27;m sure that wouldn&#x27;t have been an issue]
评论 #10539678 未加载
评论 #10539278 未加载
评论 #10539373 未加载
kitdover 9 years ago
Go is a great language. Building REST servers in Go is a doddle and the related tools have obviously been designed to work well together from the outset which is unusual.<p>That said, I started learning D at about the same time as Go, and for some reason D has attracted me more. Possibly the C ABI compliance (I was doing some JNI work at the time).<p>One question that I haven&#x27;t found the answer to yet though is how well Go apps perform for long running processes, eg weeks or months? Have there been any issues around memory usage or resource handling? Any need for restarts?
评论 #10539570 未加载
评论 #10542148 未加载
kris-sover 9 years ago
I picked up the new Go book (gopl.io) and have had a lot of fun going through it. The prevailing feeling of Go is &quot;getting things done&quot;.<p>I also write a little Go program every day as practice. If you want a sample of some Go. <a href="https:&#x2F;&#x2F;github.com&#x2F;kris-s&#x2F;daily-go" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;kris-s&#x2F;daily-go</a>
评论 #10539221 未加载
fixermarkover 9 years ago
I recently implemented a RESTful resource mapper in go, which just accepts some basic parameters and an exemplar of a storable structure and wires up all the HTTP endpoints necessary to give users CRUD access to the resource.<p>I&#x27;m honestly very happy with how straightforward it was, even lacking generics---I solved the problem of no generics by basing the resource creation and management on JSON and a &quot;Storable&quot; interface that just defines key() and newEmpty() methods (so I have to write five lines of boilerplate for every struct that will be a resource... <i>shrug</i>). I didn&#x27;t parameterize the storage logic, basing it on only a single NoSQL backend (BoltDB); however, parameterizing that side shouldn&#x27;t be harder than wrapping the database access behind another interface.<p>I like the ability to switch between tight static typechecking and freer runtime typechecking on-the-fly, without having to build a large, complicated framework for either within the language. It may not be the most innovative language of the decade, but I think it&#x27;s a pretty good combination of features for practical, high-performance web server development.
评论 #10541940 未加载
GrandTheftRover 9 years ago
Thanks you, Go team!<p>Have been using Go for the last few years, from backend, tools, and even complex scripting type of tasks (for things more than I would like to do in Bash). Start using Go for game development as sideline projects recently, it is fun.<p>Granted there are things I would like to see may not on the road map, but I am very happy with what we have now, the great tools, and the great community.<p>Keep up good work and looking forward to the future releases!
johnydeppover 9 years ago
I tried Goland for two of my personal projects. Initially I thought I will get used to the new syntax, but it never happened. It may have certain performance-edge over other languages but I wouldn&#x27;t call it a modern language. I find coding in C more fun than Golang..
评论 #10539325 未加载
dejawuover 9 years ago
Started using Go for my latest project (a successor to Evernote). It feels like such a relief, especially having just come out of a node.js project. It&#x27;s everything I wanted in a (web-app) programming language, and for the first time I can say that a language has actually made my code better. I&#x27;ve never had a codebase this clean before.
评论 #10539491 未加载
评论 #10539466 未加载
lsllcover 9 years ago
I&#x27;ve used Golang extensively for a few years now anywhere from ARM&#x2F;Linux to x64&#x2F;cloud based containers (and I admit, occasionally on Windows!). It&#x27;s really a great platform, very robust and has an excellent ecosystem. I can&#x27;t recommend it more highly.
jinst8gmiover 9 years ago
I find it curious that virtually any negative or critical comments about Go get downvoted.
评论 #10539882 未加载
评论 #10539496 未加载
评论 #10540093 未加载
benreicover 9 years ago
I&#x27;m surprised to not see any mention in the comments about the biggest change coming in 1.6: the package vendoring mechanism. This has been a big missing piece for awhile and I&#x27;m glad they&#x27;re addressing it in an official way.<p>I was super excited for the cross compilation abilities on Go 1.5 and now I have something else to be super excited for in Go 1.6, can&#x27;t wait!
评论 #10540178 未加载
acomjeanover 9 years ago
I&#x27;ve started working in Bioinformatics. The languages in use and libraries seem to by Perl&#x2F;Python and some java. Except for the stuff that needs to be fast, then its C. Although I notice some movement to use Rust instead of C (having installed some C based tools having package management would be glorious).<p>It would seem the concurency model of go would be a great fit for a lot of those existing python&#x2F;perl tools. My searchingg for projects show it hasn&#x27;t really taken off in this domain. I might start rolling my own packages.<p>How is the package management in Go? Data structures and String manipulation? And is does that concurency scale across nodes (al la MPI)?
评论 #10540390 未加载
ogeziover 9 years ago
Golang and I have had a mainly wonderful relationship. I think that the performance and concurrency features that it brings to the table are unparalleled. No that Golang is just 6 years old and probably has a few more decades of relevance. Although they need to do something about the compilers as the compiled binaries get more bloated with each release.
elcctover 9 years ago
I have written tons of services in Go. What I love about it is stability. Services written in Go are rock solid.
jonesb6over 9 years ago
I&#x27;ve used Go for a couple years but am only just writing my first production system in Go. I think one of the major complaints is that it&#x27;s use-cases are ambiguous to beginners. Go, IMO, is a systems language and should not be the first thing you pull out when someone says &quot;write a web app&quot;.<p>I think Go has a very limited use case, but it is incredibly good for that use case. If I had to define it right now it would be along the lines of &quot;Highly concurrent micro-services (re: small code bases) that requires decent performance (memory + speed) in a somewhat distributed fashion&quot;. Obviously it&#x27;s not perfect but it&#x27;s the feeling I&#x27;ve developed recently.
评论 #10543254 未加载
评论 #10541852 未加载
cdnsteveover 9 years ago
I would have used Go for an API recently until I found out the AWS SDK for Go isn&#x27;t production ready. Libraries still have some catching up to do but will only get better with more time and testing.
vegancapover 9 years ago
Go made me excited about programming again. Love it.
xenihnover 9 years ago
Anyone happen to have a link to a good guide&#x2F;tutorial for building a mobile backend in Go with gin? Or know of a public github repository with a good sample project. I&#x27;ve never done any backend work, and I&#x27;d like to build a backend for a simple iOS app to start.
nodivbyzeroover 9 years ago
Happy anniversary.<p>I replaced python with go in my projects and i&#x27;m so happy!!!
pythonistover 9 years ago
Thank you! Go has made me enjoy programming once again.
baconizerover 9 years ago
All I can say in words is - thank you.
adrianlmmover 9 years ago
Despite the hype in the beginning, it never caught my attention.
lilinmengover 9 years ago
呵呵
chrshawkesover 9 years ago
I&#x27;d say after 6 years adoption rate has been rather lackluster
评论 #10539429 未加载
评论 #10539213 未加载
评论 #10539239 未加载
mojubaover 9 years ago
Feel free to downvote me if you want, but I&#x27;m skeptical about Go and what caught my attention in this linked article is the picture. Pretty much what I feel about Go. Was it a (sub)conscious choice?