News for hackers. Stuff that matters.
Re:Program your next server in Go by spriggan3 on Tuesday June 07, 2016 @02:19PM (#11856490)
> We continue to use Go because of its strengths, but it just really surprises me how little Google seems to care about the language and ecosystem.

Go is certainly a language that is used at Google, but AFAIK a lot of "Googlers" don't really like it and don't use it. It certainly not the "official language at Google", given the weight of C++ and Java there. But that's the consequence of being opinionated. Using Go means having Rob Pike over your shoulder telling you how to write code. And he made sure you can't escape that fact since there is no place for "ninja coding" with Go.

Re:Program your next server in Go by kyrra on Tuesday June 07, 2016 @11:13PM (#11859738)
Google has some fairly specific style guides for all languages used: https://github.com/google/styleguide/blob/gh-pages/README.md

Go to me feels like they implemented the Google Java and C++ style guides as a language.

Re:Program your next server in Go by dtamhk on Tuesday June 07, 2016 @04:35PM (#11857569)
>> given the weight of C++ and Java there.

Python as well.

>> how little Google seems to care about the language and ecosystem

Let's compare with Microsoft. The top four out of five users at StackOverFlow have top tags in C#, I guess Google have a long way to Go.

Re:Program your next server in Go by rcarmo on Wednesday June 08, 2016 @04:03AM (#11860738)
Erm. StackOverflow was built by folk who used C# heavily, and cargo-culting is amazingly prevalent on both the C# and Java "traditional IT" communities, so _of course_ StackOverflow is biased towards those runtimes...
Re:Program your next server in Go by Pxtl on Tuesday June 07, 2016 @08:00PM (#11859034)
And yet the os group at ms is famous for their naked derision of the .net Framework.
Re:Program your next server in Go by pjmlp on Wednesday June 08, 2016 @07:45AM (#11861530)
Because of political wars that lead the .NET team to base the Framework on the CLR instead of the COM+ Runtime that was being prototyped.

Why do you think that WinRT is basically the return of .NET the Ext-VOS project origins, but with .NET metadata instead of COM type libraries?

.NET Native is what Ext-VOS was going to be, if it wasn't for the decision to create the CLR instead.

Re:Program your next server in Go by dtamhk on Wednesday June 08, 2016 @12:04AM (#11859928)
Hum .Net is their own dog food .. did you mean Android/iOS? :-D
Re:Program your next server in Go by dtamhk on Wednesday June 08, 2016 @04:09AM (#11860750)
What I mean was that M$ have competing offer to Android/iOS but it is not getting the upper hand even within their own organization.
Re:Program your next server in Go by usmannk on Wednesday June 08, 2016 @03:00AM (#11860525)
Python isn't nearly at the level of C++ or Java there, at least not any more.
Re:Program your next server in Go by skybrian on Tuesday June 07, 2016 @02:27PM (#11856574)
It is one of the official languages. Google is too big a company to have a single official language.
Re:Program your next server in Go by nickbauman on Wednesday June 08, 2016 @12:21AM (#11859995)
This slideshow clinches it for me. Go has some specific strengths that match low level, network infra types of problems. Beyond that, Go is not a good fit. This sounds like a criticism, but I don't think so. It's a compliment: it's a sharp tool for a specific kind of cutting. It's not trying to be some all-singing all-dancing language, which has gotten us all in to quite a bit of trouble.
Re:Program your next server in Go by amaks on Wednesday June 08, 2016 @12:49AM (#11860103)
That's exactly right, it looks like Go has found a niche of the network servers. Here is good overview by Andrei Alexandrescu: https://www.quora.com/Which-language-has-the-brightest-futur...
Re:Program your next server in Go by skj on Tuesday June 07, 2016 @09:34PM (#11859404)
> but AFAIK a lot of "Googlers" don't really like it and don't use it

Where on earth did you hear that? It's simply not true.

(googler)

Re:Program your next server in Go by rpgmaker on Tuesday June 07, 2016 @11:16PM (#11859751)
Wow. Is Google so homogeneous that you both can be so sure about your respective affirmations?
Re:Program your next server in Go by matthewmacleod on Wednesday June 08, 2016 @07:39AM (#11861516)
I must admit that I heard exactly the same from multiple Google engineers, who were all quite dismissive of it.
Re:Program your next server in Go by mseepgood on Tuesday June 07, 2016 @02:23PM (#11856539)
What is "ninja coding"? Sounds stupid.
Re:Program your next server in Go by nameless912 on Tuesday June 07, 2016 @02:29PM (#11856593)
I think it refers to the Perl-era idea that good code should be somehow "clever" rather than maintainable. It's how bad programmers who spend hours agonizing over how to reduce their line count (presumably to save disk space?) justify their behavior.
Re:Program your next server in Go by spinlock on Tuesday June 07, 2016 @04:56PM (#11857752)
Personally, I think "cowboy coding" is the best derogatory name for this. IMO, what all of these ninjas have in common is that they don't realize that software development is a team exercise. Berkeley did a study on BSD and found that a file was opened 10x more often for reading that writing (i.e. people read code 10 times for every time they make a change). To my mind, "cowboy" conveys the proper amount of ignorance of the other people on your "team."
Re:Program your next server in Go by piaste on Wednesday June 08, 2016 @05:11AM (#11860954)
"Cowboy coding" already has a distinct meaning - it refers to writing code as fast as possible without concerns for technical debt.

The archetypal form of cowbody coding is the copy-and-paste: faster than any code reuse technique, but a booby trap for the future.

"Ninja coding", on the other side, refers to coding for cleverness' sake, at the cost of legibility and ease of use. No self-respecting ninja would simply copy-and-paste.

Re:Program your next server in Go by moriox on Tuesday June 07, 2016 @07:20PM (#11858832)
I totally agree with this sentiment. I think it's pretty well established at this point that in many cases clarity can trump optimization. Even more so when the optimization isn't performance based but rather line count based or "code golf" based. Also, do you happen to have a link to that berkley study? I can't seem to find it with a brief search.
Re:Program your next server in Go by vegabook on Wednesday June 08, 2016 @04:02AM (#11860734)
Or, it is how some programmers continue to find motivation and fulfillment in the activity as an intellectual pursuit, yes at the cost of maintainability, but as opposed to being good little corporate drones writing a zillion dull lines of kindergarten-obvious code in Golang and Java that even the lowest decile of programming dunce can understand. Which is what Golang is designed to do. That's what they mean by optimization for large code bases: dumbing down. That's not a criticism by the way because that's optimal for large teams in large companies with large code bases and no room for too much creativity. But programming as art/fun, where appropriate, is also not (yet) completely to be dismissed as stupid, IMO.
Re:Program your next server in Go by wyager on Tuesday June 07, 2016 @04:37PM (#11857581)
For optimal code maintainability, there is a happy compromise between excessively terse and excessively verbose code. There is a lot of code in the wild that's too spread out.
Re:Program your next server in Go by nameless912 on Tuesday June 07, 2016 @07:05PM (#11858737)
Well sure, but erring on the side of verbosity at least ensures that someone can follow your thinking as long as the code is well structured. I would prefer to read 25 lines of decent Python over 3 lines of regexes in Perl.
Re:Program your next server in Go by Drdrdrq on Wednesday June 08, 2016 @04:14AM (#11860765)
Sure, but at least I would prefer 25 lines of decent Python over 125 lines of overly verbose Java. Nothing is black and white, it is easy to make code too verbose and thus very taxing for the reader.