Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
NateDad
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
35 ms
·
301.
▲
by
NateDad
12y ago
If your dependency isn't publishing their own versions of their libraries, maybe they shouldn't be depended upon. What I mean is... there's a clear and easy way to version libraries in Go - you encode the version in the impor
302.
▲
by
NateDad
12y ago
To me, an IDE basically just means "an editor with a built-in debugger". I really don't know where else you'd draw the line. However, for many languages, there's no such thing as a built-in debugger (most interpret
303.
▲
by
NateDad
12y ago
At Canonical, 2/3 of our developers on Juju hadn't written Go code before joining the team. They get up to speed in the first week, or often, even before their first day through their own efforts. The language is incredibly easy
304.
▲
by
NateDad
12y ago
2/3rds of our devs working on juju hadn't written a line of Go before they were hired. Getting up to speed on Go is very far (like a week to get productive). Many of them have very Python heavy backgrounds. Just dive in, it'
305.
▲
by
NateDad
12y ago
Go's compiler was entirely C until just recently... What does it matter? It's hard to write a compiler in a language that doesn't exist yet, and one you have the language, why bother with a rewrite?
306.
▲
by
NateDad
12y ago
The tradeoff is complexity. You need to define a maybe for your return value, which needs generics. Whereas Go gets 80% of the functionality with multiple returns which are like 10% odd the complexity (and are useful in other ways).
307.
▲
by
NateDad
12y ago
My go code is way more reliable than my exception-language code, because I know exactly where it can fail and what happens when it does. It is much harder to see where exceptions can happen and what the code paths will be when errors happen
308.
▲
by
NateDad
12y ago
You can ignore error values returned just like you can ignore the numeric value returned from atoi. That's the point. They're just values. You are the programmer, it's your job to decide what to do with any particular value r
309.
▲
by
NateDad
12y ago
People are amazingly able to assume ignorance is the cause of disagreement.
310.
▲
by
NateDad
12y ago
In languages where they are exceptions and are not returned, but thrown and require special syntax to handle.
311.
▲
by
NateDad
12y ago
This is required for fine grained control of exceptions too. You have to wrap each statement in a try/catch which is even more verbose than the error check in go. Otherwise you can't programmatically tell which statement failed.
312.
▲
by
NateDad
12y ago
It is very easy to produce linters for Go to find things like unchecked errors, for example https://github.com/kisielk/errcheck
313.
▲
by
NateDad
12y ago
That sounds like most of what people mean when they say a low level language, though I admit that the term comes with its own baggage about the simplicity of the language (which doesn't apply to rust). I guess I think the sentence you
314.
▲
by
NateDad
12y ago
We canceled cable when my first kid was born. Best thing I ever did. It's such a time suck. Even if you think you don't watch that much, you probably still do... And that's time you could be spending something useful. Now
315.
▲
by
NateDad
12y ago
The point is that what constitutes a "system" is not well defined and/or there are multiple conflicting definitions. I was sad to see rust billing itself as a systems language so prominently, given that it doesn't reall
316.
▲
by
NateDad
12y ago
I think the point is that machines are fast enough that being as fast as C++ doesn't matter anymore.
317.
▲
by
NateDad
12y ago
One nice thing about go is that you don't have to hire good "Go devs", you can just hire good devs and they can learn Go in a week. We do that on Juju. 2/3rds of our devs wrote their first line of go on the job, and we
318.
▲
by
NateDad
12y ago
The one major benefit is much lower memory overhead due to having real value types and not needing to box simple types.
319.
▲
by
NateDad
12y ago
Why assume they don't understand instead of assuming they do, and chose to use something more simple? Especially when simplicity is an explicit goal of the language.
320.
▲
by
NateDad
12y ago
And people use lists like they would an array and assume a list of 100 int64s uses 800 bytes, when it actually probably uses twice that much (if you're lucky).
321.
▲
by
NateDad
12y ago
Except that no one ever actually used that package. We just use normal slices which are generic.
322.
▲
by
NateDad
12y ago
It's pretty well split down the middle from my experience on these topics. And few people are really ravenous for them. However, you're talking about selection bias. If generics were something you absolutely wanted, you probably
323.
▲
by
NateDad
12y ago
Even in a small, young language like go, there are already features that are considered somewhat unidiomatic, like naked returns: https://tour.golang.org/basics/7
324.
▲
by
NateDad
12y ago
It is simpler. It's like comparing English to German. Sure, in German you can just say "schadenfreude" and in English you have to say "taking joy from someone else's misfortune", but everyone will understand
325.
▲
by
NateDad
12y ago
+1 this is exactly it.
326.
▲
by
NateDad
12y ago
He was down voted because he is saying that anyone who disagrees with his opinions is unintelligent. >"Go's authors clearly have some trouble understanding the mathematical foundations of type systems"
327.
▲
by
NateDad
12y ago
People who use Java and C# actually have a lot fewer reasons not to use go. The lack of a required runtime applies to both, better cross platform compatibility then C#, and lower memory overhead and faster startup than Java... You lose gene
328.
▲
by
NateDad
12y ago
I like it in Go, too. Go requires it, the way python does, but the convention is to use a real variable name rather than self, since there's no real difference between that the function receiver variable and the test of the function a
329.
▲
by
NateDad
12y ago
Lines of code is a pretty poor measure of anything except lines of code. More lines could be more clear or less clear. Unless we're talking an order of magnitude, which seems unlikely.
330.
▲
by
NateDad
12y ago
>I have the feeling that the sort of thing Hub is what Ruby's supposed to be good at, and Go not particularly. Actually go is very good at command line applications. The fast at start up time and easy concurrency make CLI applicatio
More ›