News for hackers. Stuff that matters.
Re:"100% of our production system is now running Go" by oofabz on Thursday August 30, 2012 @11:26PM (#4458122)
I write Go and I have been satisfied with the low-level control and direct memory access. The language has pointers and you can cast between ints and pointers, so you can do anything you can do in C.

If you're writing realtime code, you can avoid triggering the garbage collector simply by not allocating memory on the heap. It is harder to get anything done this way, but writing realtime code in any language is difficult.

Re:"100% of our production system is now running Go" by cageface on Friday August 31, 2012 @12:29AM (#4458263)
I actually haven't gotten this far with Go myself so I'm glad to hear that it's possible.

But there's a huge uphill battle ahead for Go here. For instance, I write C++ code because I'm doing music software and all the APIs and existing code libraries and samples are in C++. It's just so much easier in this environment to put up with C++'s warts than it would be to try to shoehorn Go in there. As John Carmack says, externalities can quickly overwhelm the advantages of any particular language.

But if you're implementing web services from scratch you don't have any of that baggage to carry around so it's much easier to choose Go.

Re:"100% of our production system is now running Go" by Evbn on Friday August 31, 2012 @01:26AM (#4458390)
Swig can help there?
Re:"100% of our production system is now running Go" by cageface on Friday August 31, 2012 @01:55AM (#4458476)
For my particular application it's not even close to worth it, but in some cases I can imagine it might be worth the hassle.
Re:"100% of our production system is now running Go" by akavel on Friday August 31, 2012 @03:55AM (#4458746)
Re:"100% of our production system is now running Go" by aaronblohowiak on Friday August 31, 2012 @03:05AM (#4458630)
>you can do anything you can do in C

This is true only for very limited meanings of "anything"; if your point was that you had direct control of memory layout and you can use CGO for those things that C offers but go does not. For instance, the volatile keyword..