482 karma · joined December 25, 2016
I can definitely see where you're coming from. In fact, for VS Code, I believe they collect quite a bit of metrics on your usage of the product through telemetry, so it's definitely not "free" in the sense of "nothing given" - essentially, your programming and usage habits of the program are being sent to MS every second.
Re: the case of VS Code eliminating competition and MS losing the inventive to build good stuff, I think the core editor engine being open source gives me hope that this won't happen like in the olden days of MS. But of course, still a risk.
I'm not sure what you mean by this, care to expand? Aren't you also the product for JetBrains, since you're one of the customers that's keeping them afloat?
With the Go language server kicking off, Go development in VS Code is literally a breeze. Every single thing I'd want to do (format code, imports, run tests, run a particular test, debug a test, breakpoints, on and on) has been integrated into the VS Code plugin and it works pretty much seamlessly. I haven't used Goland since it's early release in 2016 or so, so I might be missing out on something, but it doesn't feel like it.
I've never had a good experience with PyCharm. Again might be because I've using earlier releases and things have gotten better. But I'm at a point where I'm too comfortable with VS Code and have customized it to a point where I don't think it's worth it for me to switch to another editor, especially one that is tied to a particular language.
I can already see the resumes of developers touting their statistical brilliance from metrics gained from this tool. It's not a world I want to be a part of, to be honest.
If they're able to do setup for Python, Go, Ruby, and JavaScript projects, I suspect that'll be > 50% of all professional work (both FOSS and private) done on GH.
People think the C compiler community is dominated by GCC and Clang, and it is, but there are literally 1000s of implementations out there in the wild. Most are necessary, because we need code generated for some obscure processor architecture that's completely proprietary, but you can create that "backend" in LLVM itself - it's a new target architecture instead of e.g x86.
The great thing about LLVM is that it's effectively the quickest (and probably the best) way to generate machine code without putting in too much effort, for a language. Whether that language be a research language or an existing industry language (say, C), that kind of establishment is hugely valuable.
A great example of a good monoculture is the Go monoculture. Sure, there's gccgo, but the proportion of people using that vs. the reference implementation is minimal, and that reduced fragmentation is actually a good thing for practitioners (which most engineers are, not PL researchers).
I guess it will complicate things a bit, you're right. I'm pretty happy I don't have to use Java anymore though :)
I've been using Go since 2015 and I still feel like I'm not as seasoned as I perhaps should be (I'm not really an enthusiast of the language, I just think it's the right tool to use for 95%+ of the stuff I'm working on right now).
So if I have a mix of private and public dependencies that I pull in, can I specify a specific proxy for the private ones? Is it the GOPRIVATE env var?
So I think it will be a huge step up for Go. This is of course if they do it in such a way that does not increase language complexity by an order of magnitude (e.g C++ style templates). I think Java style generics is not as complex and something along those lines would be a huge win IMO.
I would be very open to setting this up at my org - is there a canonical way to do this?
> What is the biggest challenge you personally face using Go today? > Working with modules / vendoring / pkg mgmt 12%
Go has come a long way since the solutions in the early days and is now supremely better than it every was. However, vendoring is still confusing, and it's unclear when one should commit vendor files (we did that at one of the places I used to work) and when one shouldn't. We kept getting afraid that one day some guy would just delete that repo off GitHub, or somebody would end up hacking it, then we can't get an important fix out into prod. I'm not sure if the Go team has any advice regarding this.
> What is the biggest challenge you personally face using Go today? > Issues with tooling 12%
I think Go in general has become very mature. From a tooling standpoint it's almost feature complete. The only thing I would like to see there is better autocomplete and tooling around calling C from Go but I know that's kind of hard to achieve. I frequently work with C libraries that I have to call from Go because Go is simply easier to write than C, but I don't think that Cgo has good integration with gopls at the moment (and I don't think it did in any other tooling that I've used).
It seems legit, but I feel like we need an independent group of scientists that are familiar with this particular area of research to tell me whether this is actually legit or just seemingly legit.
This is absolutely hilarious, and has happened to me a bunch of times interviewing at large corps. Although I wish I had the balls to do what Jared does here, which is ask the interviewer if they ever even _used_ dynamic programming on the job.
Like, I get that some jobs are algorithms intensive. I've worked in such jobs myself. On the job, I had a lot of resources to help me - access to textbooks like CLRS and Wikipedia, so that building an algorithm and coming up with it's big O was mostly straightforward. But we've never had the CEO come and say "I need a O(n) algorithm stat for this problem _text dump of hard DP problem_".
What I was hoping for is a "Lorem Ipsum"-style generator for code for like 10 different languages. So you'd have a Lorem Ipsum for JS, C++, Rust, etc.
This is just find/replacing identifiers with lorem ipsum, which doesn't really mask the underlying code that well.
Others have commented about how the language that CockroachDB was written in causes performance issues due to Go using a GC. Can't say that this is the main reason for sure, but I guess it could be a possibility.
However, without perfect privacy, every world citizen would be subjected to such monitoring, and we'll basically be exactly what 1984 is, with the metaphorical "telescreen" functionality spread across pretty much every device that's connected to a network.
And maybe if Signal has a similar issue? I'm not sure if they use the same GIF decoding library on Android? And iOS?
If someone doesn't know off the top of their head maybe they can point me to some docs.
That’s an incredible saying. It really encapsulates the “fall from grace” that a lot of celebrities experience. Never saw it put in a way that would relate it to my life. Thanks for sharing!