Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
NateDad
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
34 ms
·
271.
▲
by
NateDad
12y ago
errors in deferred functions are handled just like they would be if the function were not deferred. There are some things like division by zero and array index out of bounds that cannot be used with this method without making the language
272.
▲
by
NateDad
12y ago
Not really.. you provide the base code, and the consumer of your package generates the specific types they need. As the package author, you don't actually generate any of the concrete implementations.
273.
▲
by
NateDad
12y ago
OMG, I can't upvote this enough :)
274.
▲
by
NateDad
12y ago
While I do agree that just saying "Well, Rob Pike and Ken Thompson must know what they're doing" is not a valid argument. I actually don't see many people making that argument. However.... There's authority, and t
275.
▲
by
NateDad
12y ago
I agree, those are two great reasons to use Go.
276.
▲
by
NateDad
12y ago
Obvious solution is to add toml to the std lib. :) only half joking. Toml rules.
277.
▲
by
NateDad
12y ago
> > You seem to assume that because people disagree with you, that they must just be ignorant. > If people disagree with me on things that are pretty solidly proven by my experience, then yes. I guess I just am aware that others ma
278.
▲
by
NateDad
12y ago
Wow, if that's voice typing, I'm impressed, mine is never that good :) I do understand where you're coming from. More code means more code that can have bugs, I totally agree. However, more complicated code also means more b
279.
▲
by
NateDad
12y ago
My apologies, there didn't seem to be much to address. > the only people who would use Go are people who aren't aware of the last few decades of compiler research: people who think coroutines are a new idea and aren't sure
280.
▲
by
NateDad
12y ago
If you haven't written any Go code, how can you know what weaknesses are significant? This is why people read reviews of every new tech gadget - because the feature list doesn't tell the whole story - you need the input of someon
281.
▲
by
NateDad
12y ago
There's no such thing as lib1 version 3.x. lib1 is a single version. Every import path is a unique package. If you want to make a new version of lib1, you need to give it a different path. This can be as easy as manually inserting
282.
▲
by
NateDad
12y ago
Actually, CoreOS is using the version of godep that rewrites import paths, so that most developers can use "go get". The only time you need to use godep is when you're updating one of the vendored dependencies. That'
283.
▲
by
NateDad
12y ago
>Pull in enough dependencies and the chance of a conflict approaches one. Some of your dependencies will get updated and some of them won't, and soon enough you'll have a hard time finding any combination of versions that will
284.
▲
by
NateDad
12y ago
You don't have to replace the go command to do that. The only thing that needs the GOPATH and expects import paths to be URLs is "go get". You can very easily make a go project that uses all relative import paths and put it
285.
▲
by
NateDad
12y ago
A package manager can't run my tests and confirm that my code doesn't break with the newer version of the lib (just because it supposedly has no breaking changes doesn't mean it works .... there are a surprisingly large numb
286.
▲
by
NateDad
12y ago
The point about gopkg.in being centralized is valid. You can run a copy yourself (it's open source), or you can use a more simplistic version that many people use which doesn't even require running a service, just serving some st
287.
▲
by
NateDad
12y ago
Thanks for clarifying :) Yes, I should be more careful about specifying data races vs. race conditions :)
288.
▲
by
NateDad
12y ago
Yes, you can. The URL is the version. If you want a different version, you need a different url. For example, when I released v1 of my package "lumberjack" you imported it with import "github.com/natefinch/
289.
▲
by
NateDad
12y ago
You really don't need a package manager for Go. Honestly, the main reason you need them for node, python, etc is because you're deploying source code to your production environment. You don't do that with Go. You deploy a
290.
▲
by
NateDad
12y ago
I believe that is an intended purpose of go-qml, yes.
291.
▲
by
NateDad
12y ago
The core goals behind Rust and Clojure are very different from those behind Go. This article/presentation would not be appropriate for those languages. I don't think anyone would say that Rust or Clojure are simple languages, or
292.
▲
by
NateDad
12y ago
note that symlinking is not actually the recommended flow ;) Just put everything in gopath.... I even put non-go code in my gopath... it's just a nice way to organize - by the VCS url.
293.
▲
by
NateDad
12y ago
You and I have vastly different definitions of "free", I think.
294.
▲
by
NateDad
12y ago
Ubuntu 14.04 Trusty Tahr is where you want to be. It Just Works, plus there's a huge and awesome community to help out if you have questions. I haven't tried the derivatives, like Mint or Elementary, but I've heard good thi
295.
▲
by
NateDad
12y ago
Sorry for the late reply. Yes, the plugin for Go for Sublime will tell you when you type something that won't compile. It has autocomplete for functions and types etc. It has go to definition. Some plugins will let you compile stra
296.
▲
by
NateDad
12y ago
I'm not saying "don't write a tool that does this". Sure, having an API diff tool for my code would be awesome. And it's possible someone has already written such a thing for Go. If not, someone definitely should
297.
▲
by
NateDad
12y ago
With decent static analysis you could check that the signatures of all types and functions are identical or compatible, I suppose, but checking that the functionality is compatible in any kind of generic way is impossible. The former is ne
298.
▲
by
NateDad
12y ago
I've been coding professionally for 16 years. I've written a lot of this kind of code: switch (someEnum) { case foo: <something> case bar: <something> default: throw Dev
299.
▲
by
NateDad
12y ago
I don't understand how any software can possibly enforce semantic versioning. Sure, you can ensure that 1.4.2 is immutable, but you can't enforce that breaking changes aren't put in 1.4.3. As I said, there are tools that let
300.
▲
by
NateDad
12y ago
Man, that page needs a "What is Nexus?" link. I can't really tell what it is.. I guess some sort of central repo for packages? What go has is Godep ( https://github.com/tools/godep ) which with a single c
More ›