News for hackers. Stuff that matters.
Re:Git Large File Storage Is Written in Go by __Joker on Friday April 10, 2015 @05:09AM (#9353210)
As OP is trying to highlight Go, What are the advantages of using Go for the Git LFS client ? I can only gather from the previous thread was that, one of the reason for going with Go so as to get a native executable ?[1]

1. https://news.ycombinator.com/item?id=9345137

Re:Git Large File Storage Is Written in Go by nothrabannosir on Friday April 10, 2015 @06:15AM (#9353402)
Something else about this kind of job cum go: "asynchronous I/O"* is extremely straightforward. Decoupling of the semantic threads ("goroutines") and OS-level threads mean a blocking I/O op only blocks your goroutine, which is cheap. If you are doing heavy I/O, you can still program sequentially. No need to manage I/O event queues, threadpools nor callbacks.

Cherry on top: you never need to worry about blocking libraries, either. Every library automatically fits the model.

It may not have been their consideration, but for anything I/O heavy, this is a godsend.

Sorry for the tangent. This is now biting me on a new project and I feel like I didn't properly appreciate this until I didn't have it anymore..

* from the pov of OS threads

Re:Git Large File Storage Is Written in Go by technoweenie on Friday April 10, 2015 @05:30AM (#9353277)
Yes, that's really important for the Git LFS project to us. Of the languages that we're comfortable with, it's the only one that met that requirement.

I feel like there have been a lot of blog posts and HN discussions about the merits and downsides to Go, and I don't really have anything new to add to that.

Re:Git Large File Storage Is Written in Go by aikah on Friday April 10, 2015 @05:50AM (#9353325)
Speed also. Your hub client is way faster now that you moved from Ruby to Go. Doesn't mean Ruby was a bad choice, IMHO it helped you iterate faster on the initial product/prototype. I think both compiled and scripted solutions have their place in software development. What editor do you use at Github to write Go code?