Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
NateDad
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
43 ms
·
421.
▲
by
NateDad
12y ago
So, I'm no Jira fan either, but the code review side of github is definitely it's weakest point. They only just rolled out side by side reviews, something that I would have said was essential from day 1. The fact that every comme
422.
▲
by
NateDad
12y ago
I think he meant that it wasn't on their internal source control system, which is one massive repo.
423.
▲
by
NateDad
12y ago
"a language" means it presumably was not Go, and is therefore irrelevant. All languages are different.
424.
▲
by
NateDad
12y ago
As others have said, gorename does the type-safe renaming... it's relatively new, so it's understandable that you may not have heard of it. Moving a file doesn't really make any sense in Go. Files are not units of code that
425.
▲
by
NateDad
12y ago
Sorry, yes you mentioned that. Anyway, this is a stupid thing to argue about and I apologize for my part in it.
426.
▲
by
NateDad
12y ago
Yes and that was a carefully constructed example explicitly to show problems with loops.... But underflows in loops are just not a common occurrence, which is why the example works in the first place.
427.
▲
by
NateDad
12y ago
> make sure no variable names are substrings of other variable names Did you miss the point about gorename's type safe renaming? It understands that pkgfoo.Bar.Baz() is different than pkgbat.Bar.Baz(). So you can safely tell it
428.
▲
by
NateDad
12y ago
Instead of map/filter: // using some fake filter/map/lambda syntax names := machines.filter(strings.HasPrefix(m.tag, "ec2")).map(|m| = m.name) why not just write names := []string{}
429.
▲
by
NateDad
12y ago
Well, yes, actually, Go does help prevent errors in untested context-free code snippets... by being really really simple, and not trying to mash a ton of logic into a single line for no reason. The amount of language trickery is at a minimu
430.
▲
by
NateDad
12y ago
Hopefully most people are aware that only one in ten startups succeed. That and often times a "startup" is really "me and my buddy hacking on some stuff on the weekends". It's actually the latter that bugs me more
431.
▲
by
NateDad
12y ago
What is to "implement" in FindValueInArray? for _, x := range foo { if someCriteria(x) { // do something } }
432.
▲
by
NateDad
12y ago
The stability guarantee given by rust is what scares me the most about starting up with it. "with a minimum of hassle" is really squishy language that is not at all comforting. Compared to the Go 1.0 promise: Your code will not b
433.
▲
by
NateDad
12y ago
Except for "reasonable memory usage".
434.
▲
by
NateDad
12y ago
Great response, btw.
435.
▲
by
NateDad
12y ago
Is there a reason you need some built-in map thing and not just user-defined functions? If a loop is too hard to read inline, you slap it in a nicely named function and now it's more clear and more concise. Either way, you have to wr
436.
▲
by
NateDad
12y ago
No? I don't actually know rust, but I don't think the first thing he typed was invalid code. It just returned an iterator instead of a vector. I was suggesting that when he tried to pass the variable into a function that expecte
437.
▲
by
NateDad
12y ago
One of go's strengths is how easy it is to refactor. Implicit interfaces means that you can change a function to take an interface, and the caller who is passing in a concrete type doesn't have to get updated at all. also, there&
438.
▲
by
NateDad
12y ago
Uh... Go plays very well with C and C++. https://dennisforbes.ca/index.php/2013/07/23/the-most-powerf...
439.
▲
by
NateDad
12y ago
mapping and filtering are just functions and/or loops. You can write those in go. Making some generic thing to save you 3 lines of (really simple) code is not an incredibly useful use of the Go author's time.
440.
▲
by
NateDad
12y ago
And that's why I like go. Sorry, that's not really fair. I'm sure the compiler would have caught that when you tried to feed it into something that wanted a vector (or would have not cared if you were just iterating over it)
441.
▲
by
NateDad
12y ago
Go is not the language for you if you care about mashing as much logic into a single line as you can. Also, I can count the number of times in my 15 years of professional development experience that I've wanted to count down to zero us
442.
▲
by
NateDad
12y ago
Juju is ~300k lines of code, and that doesn't count 3rd party libraries (it's also like 6 months out of date, so it's probably significantly more than that now). There are many large Go projects out there - maybe you've
443.
▲
by
NateDad
12y ago
Note that Go also does bounds checking, so you never have buffer overflows in Go either (also unless you use the unsafe package).
444.
▲
by
NateDad
12y ago
If all goroutines deadlock, then the runtime will panic and you'll get stack traces for everything. But yes, you can obviously deadlock one or more goroutines trivially. A simple select{} will just block one goroutine forever, for ex
445.
▲
by
NateDad
12y ago
Yeah, sites that don't post dates on their articles really bug me.
446.
▲
by
NateDad
12y ago
As for the Ubuntu lock-in: we actually are going to be announcing support for deploying to Windows very soon (the code is all there now, we just need to work through some issues with the public clouds and Microsoft). And we're activel
447.
▲
by
NateDad
12y ago
ew.
448.
▲
by
NateDad
12y ago
I'm pretty much never going to feel bad about breaking someone's code that runs a regex over the error message I return. I can't stop people from writing bad code. Then again, I'm also careful to write my own code such
449.
▲
by
NateDad
12y ago
I'm curious, when's the last time you used Juju? Juju has first class support for Azure, Joyent, HP, MAAS, and whatever Openstack you want, in addition to EC2. They're all at feature parity (plus or minus some pretty minor s
450.
▲
by
NateDad
12y ago
Oh sure, the product they sell is the integration between hardware and software. But saying they are "much more" a hardware company than a software company is selling them pretty short.
More ›