One of my pet ideas is a new programmer's editor that uses proportionally as much compute resources as Emacs did in the late-80s. An amount of computing that would show up as a major line item on your department's timesharing bill.
1000 cores costs around $50/hr, so if it boosted my productivity measurably it'd be worth it. Searching all public github code for strings matching around my cursor seems like the sort of thing these 1000 cores should be doing.
I have a similar idea where the cores are put to work optimizing the produced binaries (profile-guided optimization, genetic algorithms, SAT solvers/theorem proving, etc). You could of course also do static analysis and all forms of testing (generative, property-based, unit, integration, performance, etc.).
Permission to "view and fork" is not the same as permission to copy and paste into a proprietary software product (i.e. this may not be legit for use by "enterprise" developers)
Interesting idea, would definitely make you increase the efficiency of your time at the editor if it costs you $50/hour! But you don't need 1000 cores to fire off a bunch of search requests. Network calls are generally IO bound so even one or two cores can handle lots of requests.
Some napkin math - as of late 2013, GitHub's main Elasticsearch cluster had ~128 shards of ~120 GB [1]. Obviously they have more data now, and it's not clear whether the number of shards includes replicas, but at current EC2 on-demand prices[2]:
A hybrid multi-layer cache system would likely be more cost effective and still perform nearly as well as dedicated RAM (depending on how the data is structured/sharded/queried).
This seems like a really cool idea, but I'm not sure how useful it'd end up being. I also wasn't able to get it to actually work with anything other than the demo question they provided
I installed the plugin, restarted VS, but nothing happens when I type:
/// convert string to byte array
and press tab afterwards.
Am I missing anything?
Edit: actually something does happen... it inserts a tab, just like any VS installation would do.
Edit 2: from browsing through the comments it seems like it might be a ReSharper conflict. They said they would update it though, but in 8~9 months nothing has changed apparently.
I don't have ReSharper installed but get the same problem. The IntelliSense has improved but neither /// nor the "bring up IntelliSense and click the "How do I" button shown in the video works for me ..
The demo comes directly from the msdn, which is also funny. A cool feature would be the ability to rate the code snippet, and then searches could be filtered by rating. For snippets from websites with voting features, like Stack Overflow, it could display the number of votes, and maybe the comments for the snippet, or the rest of the post text. Often I don't want to just know "what code does X" but "how to do X".
Seems like the search could be better anyways. The StackOverflow result for that example is from a post with 4 other (more useful) examples, but it picks the last one. It was also not the selected Answer for that post.
This is still really cool, even in it's current state, I think I will find it useful.
I always thought that people should have more built-in search power when they code. It's funny that Microsoft is taking the lead over Google on this, though I guess Google doesn't have their own IDE.
Soon, modular projects will just consist of searching and plugging in components...
I installed on VS2013 Ultimate wo/Resharper and here is how it worked for me.
The '///' then tab does nothing but when I start typing in the IDE however it kicks in with a much better Intellisense
complete with the Bing snippets like depicted on the VS Gallery. So perhaps they limited the slash+tab sequence?
Why aren't we using git like hashes for compilers? Take referentially transparent parts of code, blob together and make a hash of the AST in a canonical form and a hash of the assembly, source, transforms used, and benchmark stats. The compiler would run continiously searching for new solutions.
Unfortunately I don't write much C# (took a few courses that heavily used it) so it's going to be hard for me to really get an idea of what this feels like to have access to all the time (i.e. know if it's really useful). I'd really love to see what it feels like with a scripting language like Python or Javascript
No, it doesn't seem so. I have Silverlight installed but set to click-to-run, and the site will provide suggestions for the sample without running the Silverlight control.
I fear for the future of working with copy/paste programmers, but then my fears are probably unfounded because after all, this uses the Bing search engine. Searching for "///how to sort an array" will most likely just give me the top ten tourist hotels in Paraguay instead.
The problem is that only part of a solution to a problem is really in your control. Each has a potentially very large number of solutions, most of them are equivalent (renaming of variables, isomorphic control flow etc.), but some are inequivalent. For example in Haskell you could at least use iostreams, pipes, conduit or lazy io to solve the read file in and print its lines. You can't expect a developer to be familiar with every choice the Library implementors made, especially since lots of libraries do not really have stellar documentation.
I don't think I'm a terrible programmer, but I still have to look up how to read a file line by line in C#, Python or whatever language I happen to be using. I think this is a great editor feature. Copy/paste programmers already exist and they're probably not going to find something that's hosted on research.microsoft.com.
Yes, I rather my juniors cut and paste from StackOverflow because it means they are using a modern coding pattern and can learn from it and see great commentary about why this was the "chosen" pattern.
How else are we supposed to learn?
Same goes to all these clowns who champion one language/platform over another simply because of ego.
"...because it means they are using a modern coding pattern and can learn from it and see great commentary about why this was the "chosen" pattern."
Unfortunately it means no such thing. I have seen junior engineers search stack overflow and click for easiest/fewest lines of code with no regard to why.
You took the OP extreme view and countered it with your own which is equally biased. Let everyone just be honest about it is all.
How else are we supposed to learn? Actively thinking and engaging others when we don't know.
My view is that it's probably not wise to automate copy-pasting code from the internet. It easily leads to just that: copy-pasting and not thinking. I'm sure that this view is not that extreme really.
The demo didn't work so well that I could have verified this, and I might be mistaken, but it seems it just copies code from somewhere to the current file.
How does this help learning when one does not see the commentary from StackOverflow? That's my point exactly: if the tool automates the copy-paste, the comments are not visible.
1000 cores costs around $50/hr, so if it boosted my productivity measurably it'd be worth it. Searching all public github code for strings matching around my cursor seems like the sort of thing these 1000 cores should be doing.